Skip to main content
Glama

Unreal-MCP-Ghost

Unreal-MCP-Ghost is an Unreal Engine 5.6 editor plugin plus a Python FastMCP server that lets AI agents inspect and modify live UE projects through the Model Context Protocol.

The current server registers 713 MCP tools. The plugin exposes a TCP bridge to Unreal Editor on port 55655, and the Python server exposes MCP over stdio, sse, or streamable-http. The plugin also includes an optional dockable MCP Chat editor window with a compact IDE cockpit overview, queued-action preview, evidence timeline and artifact preview, live context chips, typed drag/drop references, and a categorized tool palette that can send messages to Cursor through the server.

main is the stable public branch. Experimental work belongs on wip. Project-specific knowledge, generated reports, and development logs remain local and are excluded from the public repository.

What It Can Do

  • Inspect levels, actors, Blueprints, components, variables, graphs, nodes, pins, compile diagnostics, references, source control state, and project assets.

  • Create and edit Blueprints, Blueprint Interfaces, variables, functions, graph nodes, comments, connections, timers, input handlers, UMG widgets, materials, data assets, save-game systems, and gameplay framework classes.

  • Work with AI systems: Behavior Trees, Blackboards, AI Controllers, BT tasks/decorators/services, navmesh helpers, and higher-level AI setup workflows.

  • Work with animation systems: Animation Blueprints, state machines, blend spaces, AnimGraph slot insertion, Control Rig asset/control/constraint helpers, IK Rig creation, IK Retargeter creation, skeleton bone inspection, and batch retargeting.

  • Import assets: textures, static meshes, skeletal meshes, audio, folders, and KotOR/GhostRigger assets.

  • Add VFX/audio/material logic: Niagara components, spawn Niagara nodes, sound nodes, material instance parameters, collision settings, and Sequencer transform tracks.

  • Validate and repair Blueprints with diagnostic, repair, execution journal, action risk-evaluation, PIE, log, and viewport evidence tools.

  • Provide a repo knowledge base for UE5 workflows, Blueprint patterns, MCP usage, first-person systems, retargeting, Sequencer, Control Rig, weapons, melee, force powers, and boss AI.

  • Provide an editor-side chat panel with a compact IDE cockpit overview, queued-action preview, evidence timeline and artifact preview, live level, actor, dirty-asset, compile, and SSE server context chips, typed asset/actor/file drag-drop references, a categorized tool palette, and an optional Cursor SDK watcher for automatic replies.

Related MCP server: unreal-engine-mcp

Architecture

AI client or Cursor watcher
  |
  | MCP stdio / SSE / streamable-http
  v
Python FastMCP server
  - unreal_mcp_server/unreal_mcp_server.py
  - 713 registered MCP tools
  - optional /chat/* HTTP routes on port 8000
  |
  | TCP JSON, one command per connection
  v
UnrealMCP UE plugin
  - localhost:55655
  - runs commands on the editor GameThread
  - UnrealMCP module: TCP bridge and command handlers
  - UnrealMCPEditor module: Window > MCP Chat
  |
  v
Unreal Engine Editor

Repository Layout

Unreal-MCP-Ghost/
|-- unreal_plugin/                 # UE5 editor plugin to copy into a project
|-- unreal_mcp_server/             # Python FastMCP server and tool modules
|-- knowledge_base/                # General Unreal/MCP reference docs
|-- docs/knowledge-base/           # Packt study guides used by agents
|-- scripts/ue-chat-agent.mjs      # Optional Cursor SDK chat watcher
|-- docs/ue-editor-chat-agent.md   # Chat watcher instructions
|-- package.json                   # Node dependency for chat watcher
`-- pyproject.toml                 # Python dependency metadata

First-Time Setup

1. Install Prerequisites

  • Unreal Engine 5.6

  • Visual Studio 2022 with Game development with C++

  • Python 3.10+

  • Git

  • Node.js 20+ if you want automatic editor chat replies

  • uv is recommended for Python dependency/running workflows

Check basics:

python --version
uv --version
node --version
git --version

2. Clone the Repo

git clone https://github.com/CrispyW0nton/Unreal-MCP-Ghost.git "C:\Dev\Unreal-MCP-Ghost"
cd "C:\Dev\Unreal-MCP-Ghost"

3. Copy the Plugin into Your UE Project

The plugin must live under your project's Plugins folder.

$REPO    = "C:\Dev\Unreal-MCP-Ghost"
$PROJECT = "C:\Users\You\Documents\UnrealProjects\MyGame"

New-Item -ItemType Directory -Force -Path "$PROJECT\Plugins\UnrealMCP"
Copy-Item -Recurse -Force "$REPO\unreal_plugin\*" "$PROJECT\Plugins\UnrealMCP\"

When updating an existing project plugin, close Unreal Editor first and remove old plugin build artifacts:

Stop-Process -Name UnrealEditor -Force -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$PROJECT\Plugins\UnrealMCP\Binaries" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$PROJECT\Plugins\UnrealMCP\Intermediate" -ErrorAction SilentlyContinue
Copy-Item -Recurse -Force "$REPO\unreal_plugin\*" "$PROJECT\Plugins\UnrealMCP\"

4. Generate Project Files

Right-click your .uproject and choose Generate Visual Studio project files, or run:

$UPROJECT = "$PROJECT\MyGame.uproject"
& "C:\Program Files\Epic Games\UE_5.6\Engine\Build\BatchFiles\GenerateProjectFiles.bat" `
  -project="$UPROJECT" -game -rocket

5. Build the Plugin

Open the generated .sln in Visual Studio 2022:

  • Configuration: Development Editor

  • Platform: Win64

  • Build: Ctrl+Shift+B

Or build from PowerShell:

& "C:\Program Files\Epic Games\UE_5.6\Engine\Build\BatchFiles\Build.bat" `
  MyGameEditor Win64 Development `
  -Project="$UPROJECT" `
  -WaitMutex -FromMsBuild -architecture=x64

Expected result:

Result: Succeeded

Notes:

  • Visual Studio 2022 compiler is not a preferred version is usually a warning, not a blocker.

  • If build fails with exit code 6, scroll up for the actual error C... compiler line.

  • If Live Coding is active, close Unreal Editor or press Ctrl+Alt+F11.

6. Open Unreal and Verify the Plugin

Open the .uproject. In Window > Output Log, confirm:

UnrealMCPBridge: Server started on 127.0.0.1:55655

PowerShell port check:

python -c "import socket; s=socket.socket(); s.settimeout(2); r=s.connect_ex(('127.0.0.1',55655)); s.close(); print('PLUGIN RUNNING' if r==0 else 'PLUGIN NOT RUNNING')"

Running the MCP Server

Local AI Clients: stdio

Use this when Cursor, Claude Desktop, Windsurf, or another local MCP client launches the server itself:

{
  "mcpServers": {
    "unrealMCP": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Dev\\Unreal-MCP-Ghost",
        "run",
        "python",
        "unreal_mcp_server\\unreal_mcp_server.py"
      ]
    }
  }
}

If you do not use uv:

{
  "mcpServers": {
    "unrealMCP": {
      "command": "python",
      "args": ["C:\\Dev\\Unreal-MCP-Ghost\\unreal_mcp_server\\unreal_mcp_server.py"]
    }
  }
}

Restart the AI client after editing MCP config.

HTTP/SSE Server

Use this when remote clients, Cursor SDK processes, or the Unreal editor chat panel need HTTP routes:

cd "C:\Dev\Unreal-MCP-Ghost"
python unreal_mcp_server\unreal_mcp_server.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8000

Expected:

[UnrealMCP] SSE server listening on http://127.0.0.1:8000/sse
[UnrealMCP] UE5 plugin target: 127.0.0.1:55655

The HTTP chat routes do not provide application-layer authentication, so the server only accepts loopback binds. For remote access, keep this loopback bind and put an authenticated tunnel or reverse proxy in front of it.

Quick HTTP checks:

Invoke-RestMethod "http://127.0.0.1:8000/chat/history?limit=1"

Streamable HTTP

For MCP clients supporting the newer streamable HTTP transport:

python unreal_mcp_server\unreal_mcp_server.py --transport streamable-http --mcp-host 127.0.0.1 --mcp-port 8000

Endpoint: http://127.0.0.1:8000/mcp

Unreal Editor Chat

The plugin registers a dockable tab:

Window > MCP Chat

The tab is implemented in the editor-only UnrealMCPEditor module so the core UnrealMCP module can stay focused on TCP bridge command handling.

The panel:

  • Loads previous messages from /chat/history

  • Sends human messages to /chat/send

  • Polls agent replies from /chat/poll?sender=agent

  • Uses a resizable conversation/composer split with multiline input, drag/drop reference insertion, and Enter-to-send / Shift+Enter newline behavior

  • Renders role-tagged user, agent, and tool message bubbles with Copy, Re-run, Open Log, and Reveal Asset actions

  • Renders structured MCP tool invocations as collapsible cards with args, status, result summaries, full-detail drawer, log tail, and a Repair action for failed tool results

  • Renders fenced Markdown code blocks as highlighted monospaced blocks and updates streaming data: deltas in place when available

  • Includes editor context such as current level and selected actor

  • Shows connection status against http://127.0.0.1:8000

Start the MCP server in SSE mode before opening the chat panel:

python unreal_mcp_server\unreal_mcp_server.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8000

Automatic Cursor Replies

The editor chat window is a message bridge. To make Cursor answer automatically, run the watcher in a separate terminal:

cd "C:\Dev\Unreal-MCP-Ghost"
npm install
$env:CURSOR_API_KEY = "cursor_..."
npm run chat:agent

Useful options:

$env:UE_CHAT_SERVER_URL = "http://127.0.0.1:8000"
$env:UE_CHAT_POLL_INTERVAL_MS = "2000"
$env:UE_CHAT_CATCH_UP = "1"
$env:UE_CHAT_SESSION = "My Session"
$env:CURSOR_MODEL = "auto"

More detail: docs/ue-editor-chat-agent.md.

Knowledge Base

Agents should read repository knowledge before making Unreal changes:

  • docs/knowledge-base/README.md

  • docs/knowledge-base/unreal-cpp-li-2023.md

  • docs/knowledge-base/elevating-game-experiences-ue5-2e.md

  • docs/knowledge-base/game-ai-unreal-sapio-2019.md

  • knowledge_base/

Current Tool Surface

The server currently registers 713 MCP tools, including:

  • Core editor/actor tools

  • Blueprint creation, graph editing, node connection, variable/function tools

  • UMG/widget tools

  • Gameplay framework tools

  • AI, Behavior Tree, Blackboard, BT task/decorator/service tools

  • Animation Blueprint, IK Rig, IK Retargeter, skeleton, and batch retargeting tools

  • Data, struct, enum, DataTable, save-game, input, and Enhanced Input tools

  • Material, VFX, Niagara, audio, physics, math, trace, procedural, VR, and variant tools

  • Asset import and folder import tools

  • GhostRigger bridge tools

  • Safe execution substrate, execution journals, action risk evaluation, PIE/log/viewport evidence capture, reflection, diagnostics, source control, project intelligence, C++ bridge, and repair tools

  • Higher-level skills such as IDE companion session orchestration/status receipts/work orders/evidence ledgers/resume packets/dashboards/blocker resolution/placeholder manifests/generated asset lifecycle manifests/editor action queues, gameplay mechanic planning, blueprint health audit, health system creation, vertical slice report packaging, and broken blueprint repair

  • Chat tools: chat_poll_messages, chat_send_response, chat_get_context, chat_list_sessions, chat_get_session_resume_context, chat_get_cockpit_overview, chat_get_cockpit_ledger_detail

  • Native-alignment meta-tools for toolset search, clean-room tool contribution contracts, client config generation, bridge descriptors, guarded bridge command calls, server lifecycle status, transport diagnostics, protocol contract/session guidance, operation status/cancel requests, safe metadata refresh, spatial awareness of live UE scenes, spatial room-bounds designation contracts for Ghost.RoomBounds/Ghost.Zone/Ghost.Opening/Ghost.Path/Ghost.Surface markers, live room analysis for dimensions/zones/surfaces/clearances, authored marker recognition, functional zone inference for kitchen/living/bedroom/entry/hallway/utility planning, zone-aware interior prop programming for fixtures/furniture/clutter/architectural fill, analysis-driven and support-surface-informed interior composition planning, semantic composition constraints/preflight for support contact, counter adjacency, kitchen work triangles, living groupings, circulation, hallway linear-clearance review, opening/egress clearance, entry-to-anchor visual sightlines, and per-prop front-facing interaction clearance, screenshot vision-decomposition requests, screenshot scene-graph relationship inference, size-aware live project asset cataloging and candidate resolution before Tripo spend, local screenshot crop manifests for Tripo image inputs, guarded Tripo generation batch manifests with project-asset-filtered unresolved-prop jobs and per-job prompt/spend/import/placement/validation lifecycle metadata, spatial generation briefs, concrete image-crop readiness gates, and binding handoffs that merge reused project assets plus generated imports into one dry-run composition, post-binding spatial pipeline handoffs for scale review, support anchoring, layout/candidate-clearance preflight, dry-run apply, validation, iteration, and viewport evidence, generated-asset binding from Tripo import results with spatial-fit review, generated-asset scale correction before dry-run placement, support-surface anchoring for floor/counter/table/shelf/wall contact, composition-derived support surfaces for screenshot/generated counters and tables, composition-derived room/zone wall anchors for generated wall props, dry-run-first and spatial-fit-gated composition batch application, spatial worldbuilding work orders/readiness gates with screenshot crop-manifest blockers before Tripo image-to-model spend and live candidate-clearance blockers before mutation, local layout preflight for room bounds/footprints/spacing/opening clearance/front-facing interaction clearance/visual sightlines, local layout-preflight correction planning for room-bound/overlap/circulation repair before mutation, live actor-bounds candidate clearance preflight, iterative correction planning from placement validation or live candidate-clearance blockers with corrected composition-plan handoffs, surface-aware placement probes, placement validation/evidence planning, placement policy inference, screenshot detection preflight/normalization, screenshot-driven detected-prop programming, screenshot reconstruction planning with scene-graph-guided placement hints, screenshot-detected opening/window clearance constraints, and guarded Tripo generation/import/crop handoffs, Content Browser selection handoff/batch placement, selection-aware viewport/evidence setup, and dry-run-first spatial asset placement with actor tags/Data Layer-aware planning

Use list_knowledge_base_topics, get_knowledge_base, and search_knowledge_base before implementing systems. Use get_blueprint_nodes, get_blueprint_variables, and get_blueprint_components before modifying any Blueprint.

Canonical offline inventory command:

python scripts\tool_inventory.py --markdown

The inventory uses unreal_mcp_server/tool_inventory_categories.json to map modules to roadmap categories and phases. Keep this in sync when adding new tool modules.

Phase 7 startup/tool-discovery profiler:

python scripts\profile_mcp_startup.py --iterations 3 --markdown-out knowledge_base\Reports\mcp_startup_profile.md --json-out knowledge_base\Reports\mcp_startup_profile.json

The generated report files remain local and are ignored by Git.

Phase 7 bridge command metadata audit:

python scripts\bridge_command_audit.py

For repeatable offline CI smoke commands, see docs/ci-smoke.md.

Safe Blueprint Workflow

  1. Read relevant knowledge docs.

  2. Inspect current state:

    • get_blueprint_nodes

    • get_blueprint_variables

    • get_blueprint_components

    • get_blueprint_graphs

  3. Report findings and plan.

  4. Make one scoped change.

  5. Compile and save.

  6. Read back and verify.

  7. Keep the project playable after each change.

Never hard-code node IDs. Always query nodes after creation before connecting pins.

Troubleshooting

/chat/history or /chat/poll returns 404

You are running an old MCP server process. Stop the process listening on port 8000 and restart the current server:

Get-NetTCPConnection -LocalPort 8000 -State Listen | Select-Object OwningProcess
Stop-Process -Id <PID> -Force
python unreal_mcp_server\unreal_mcp_server.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8000

Editor chat says "MCP Server offline"

  • Confirm the SSE server is running on port 8000.

  • Confirm /chat/history returns 200.

  • Close and reopen Window > MCP Chat.

AI cannot reach Unreal

  • Confirm Unreal Editor is open.

  • Confirm Output Log says the bridge started on 127.0.0.1:55655.

  • Confirm no firewall or tunnel is blocking the port.

  • Restart the MCP server after restarting Unreal.

Build fails with Live Coding active

Close Unreal Editor or press Ctrl+Alt+F11, then rebuild.

PawnSensing deprecation warnings

The plugin suppresses the known UE 5.6 deprecation warning around legacy UPawnSensingComponent usage. New AI work should prefer AI Perception.

Updating the Plugin in a Project

From a clean repo checkout:

cd "C:\Dev\Unreal-MCP-Ghost"
git fetch origin
git status

Review local changes before updating. Then copy the plugin source into your project:

$REPO    = "C:\Dev\Unreal-MCP-Ghost"
$PROJECT = "C:\Users\You\Documents\UnrealProjects\MyGame"

Stop-Process -Name UnrealEditor -Force -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$PROJECT\Plugins\UnrealMCP\Binaries" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$PROJECT\Plugins\UnrealMCP\Intermediate" -ErrorAction SilentlyContinue
Copy-Item -Recurse -Force "$REPO\unreal_plugin\*" "$PROJECT\Plugins\UnrealMCP\"

Regenerate project files and rebuild Development Editor | Win64.

License

Unreal-MCP-Ghost is licensed under the GNU Affero General Public License v3.0.

Portions of this project are derived from or inspired by chongdashu/unreal-mcp. See NOTICE.md for attribution and license details.

Security

Report security issues privately using the guidance in SECURITY.md. Do not open public issues for vulnerabilities, secrets, or exploit details.

Available Tools

729 tools
add_abs_nodeA

Add an 'Abs' (Absolute Value) node.

Returns the absolute (always-positive) value of a number. Useful for computing distances and speeds without sign.

Args: blueprint_name: Blueprint name operand_type: "Float" or "Integer" node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_abs_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
operand_typeNoFloat
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the full burden for behavioral disclosure. 'Add' implies graph mutation, but the description does not state that the blueprint asset is modified, whether saving/compiling is needed, whether duplicate nodes are created, or what the tool actually returns. The line 'Returns the absolute... value' refers to the node's runtime behavior, not the tool's response, which could confuse an agent.

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 well-structured and front-loaded: a one-line definition, a brief behavior note, a use case, compact argument descriptions, a KB reference, and a practical example. Every section earns its place without excessive verbosity.

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 node-adding tool, the description provides the essential call information, an example, and a KB link. The presence of an output schema covers return-value specifics. It falls short only in not disclosing side effects or node-connection behavior, which matters for Blueprint graph mutation 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 does so meaningfully by documenting operand_type values ('Float' or 'Integer'), noting node_position is an optional [X, Y] graph position, and providing a concrete blueprint_name example. The main gap is that blueprint_name's exact asset-path requirements are only implied by the example.

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 opens with a specific verb-resource pair, 'Add an Abs (Absolute Value) node,' and distinguishes this from the many sibling add_*_node tools by naming the exact node type. The explanatory sentence about absolute value reinforces the tool's purpose without ambiguity.

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 gives a clear use case ('Useful for computing distances and speeds without sign'), so an agent can infer when this tool is appropriate. However, it does not explicitly contrast this with alternatives such as add_math_node or add_blueprint_function_node, nor does it state 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.

add_activate_variant_nodeA

Add an ActivateVariant node to switch variants via Blueprint.

From Ch. 20: The BP_Configurator Blueprint calls ActivateVariant to switch between product variants when buttons are pressed.

Args: blueprint_name: Blueprint to add the node to lvs_variable: Variable holding the Level Variant Sets reference variant_set_name: Name of the Variant Set to switch in variant_name: Name of the Variant to activate node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_activate_variant_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
lvs_variableNoLevelVariantSets
variant_nameNo
node_positionNo
blueprint_nameYes
variant_set_nameNo

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?

With no annotations, the description carries the full burden, but it only says the node is added and what it is used for; it does not state side effects, prerequisites (e.g., existing Blueprint, lvs_variable must exist), whether the graph is compiled or saved, or failure behavior. The mutation is implied by 'Add' but not characterized in terms of its effects on the Blueprint graph.

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, the Args list is terse, and the example is concrete. The Ch. 20 context and KB line are slightly redundant, but they add helpful framing rather than bloat.

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 mutation tool with no annotations and no parameter descriptions in the schema, the description covers every parameter, offers a KB pointer, and gives a minimal working example; the output schema is available for return-value details. It is complete enough to call correctly, though it would benefit from noting prerequisites and side-effect behavior.

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?

The Args section explicitly defines all five parameters, providing meaning the input schema's bare titles lack: lvs_variable is 'Variable holding the Level Variant Sets reference,' variant_set_name and variant_name are the set and variant to switch, and node_position is '[X, Y] graph position.' This fully compensates for the 0% schema description coverage.

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 and resource: 'Add an ActivateVariant node to switch variants via Blueprint,' and reinforces it with the BP_Configurator context. It does not explicitly contrast itself with the similarly named sibling add_activate_variant_set_node, 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?

The Ch. 20 note and example imply this is for product-configurator Blueprints that switch variants on button presses, and the example shows a concrete call. However, there is no explicit when-to-use/when-not-to-use guidance or named alternative, leaving the agent to infer the appropriate context from the example.

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

add_activate_variant_set_nodeB

Add an ActivateVariantSet node to activate all variants in a set.

From Ch. 20: Activates all variants within a Variant Set. Useful for resetting or applying a full configuration.

Args: blueprint_name: Blueprint to add the node to lvs_variable: Variable holding the Level Variant Sets reference variant_set_name: Variant Set name to fully activate node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_activate_variant_set_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
lvs_variableNoLevelVariantSets
node_positionNo
blueprint_nameYes
variant_set_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 must disclose side effects, prerequisites, and mutation behavior. It only states that it adds a node and activates variants, without mentioning required existing assets (blueprint, variant set), whether compilation is triggered, or potential errors. This is a significant gap 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 well-structured with a title, main purpose, args list, KB reference, and example. It is front-loaded with the core action. There is some redundancy ('From Ch. 20: Activates all variants within a Variant Set' repeats the purpose), but overall it is concise and organized.

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 blueprint node-add operation, the description covers the essential parameters and provides an example. However, it omits prerequisites (e.g., blueprint must exist, variant set must be valid), expected output or return value, and failure modes. The KB reference helps but is not sufficient for full autonomous execution.

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 description includes an 'Args' section that explains each parameter: blueprint_name, lvs_variable, variant_set_name, and node_position. This adds meaning beyond the schema, which has no descriptions (0% coverage). The example also demonstrates usage, so parameters are well contextualized.

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

Purpose4/5

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

The description clearly states the verb (add) and resource (ActivateVariantSet node), and explains the effect: 'activate all variants in a set.' It distinguishes itself from the singular sibling add_activate_variant_node by emphasizing 'all variants,' but does not explicitly name alternatives. The purpose is clear and specific.

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 gives a use case ('Useful for resetting or applying a full configuration') but does not specify when to avoid this tool or mention alternatives like add_activate_variant_node for single-variant activation. Usage context is implicit rather than explicit.

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

add_actor_world_offset_nodeA

Add an 'Add Actor World Offset' node - moves actor by DeltaLocation Vector.

Ch.14: AddActorWorldOffset uses Delta Location to modify the current location. More appropriate than SetActorLocation for incremental movement each tick.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_actor_world_offset_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 must carry full disclosure. It explains that the node uses Delta Location to modify current location, which is helpful but lacks detail on side effects, persistence, or prerequisites. It does not mention whether the operation is additive, if it requires specific actor settings, or what happens if the blueprint already has a similar node. This is adequate but not comprehensive 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 concise and well-structured: purpose, context, arguments, knowledge base reference, and an example. It front-loads the core purpose and avoids redundancy. The only minor issue is that arguments are listed with minimal detail, but overall it is efficient and easy to scan.

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 node-add tool in a large sibling set, the description covers the essential purpose, usage context, parameters, and a usage example. It distinguishes itself from related tools and provides a KB reference for deeper context. It does not mention return values or graph placement behavior, but given an output schema exists and the tool's simplicity, this is largely sufficient.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds only minimal meaning. It restates 'blueprint_name: Blueprint name' and 'node_position: Optional [X, Y] graph position', which barely goes beyond the schema's titles. It does not explain the units, format, or purpose of node_position, nor does it describe the blueprint_name format beyond the example. With zero schema help, this is insufficient for an agent to construct valid parameters.

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

Purpose5/5

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

The description clearly states it adds an 'Add Actor World Offset' node that moves an actor by DeltaLocation Vector. It uses a specific verb and resource, and explicitly contrasts it with 'SetActorLocation', distinguishing it from a related alternative without needing to inspect 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 explicit usage guidance by noting it is 'More appropriate than SetActorLocation for incremental movement each tick.' This gives a clear condition for when to use this tool over a named sibling, though it doesn't list exclusions or other alternatives. The example also reinforces practical use.

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

add_actor_world_rotation_nodeA

Add an 'Add Actor World Rotation' node - rotates actor by DeltaRotation.

Ch.14: AddActorWorldRotation adds the Delta Rotation to the current rotation.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_actor_world_rotation_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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 does disclose the core semantic behavior (the node additively applies DeltaRotation to current rotation) and gives a concrete example. It does not disclose operational traits such as whether the blueprint is mutated in place, whether compilation is triggered, or failure behavior for a nonexistent blueprint path.

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 compact and well-organized into summary, args, KB pointer, and example, with the core action front-loaded. The Ch.14 line slightly repeats the first sentence's DeltaRotation point, but the overall structure 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?

For a simple 2-parameter node-adder with an output schema present, the description covers the essentials: what node is added, the parameters, and a working example. It leaves gaps around error conditions, whether the node's DeltaRotation input requires downstream wiring, and why a CHAOS-physics KB chapter is referenced for a generic rotation node.

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: both parameters are explained (blueprint_name as 'Blueprint name', node_position as 'Optional [X, Y] graph position'). The example clarifies that blueprint_name expects an asset path like '/Game/MCP_Test/BP_Example', which the bare schema does not convey.

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 action ('Add an 'Add Actor World Rotation' node') and the node's function ('rotates actor by DeltaRotation'), grounding the verb and resource clearly. It does not explicitly name sibling alternatives like add_set_actor_rotation_node or add_get_actor_rotation_node, but the additive-rotation semantics distinguish it 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 context is implied rather than stated: 'AddActorWorldRotation adds the Delta Rotation to the current rotation' tells an agent this is for relative rotations, not absolute ones. However, with a huge family of rotation/transform node-adders among siblings, there is no explicit when-to-use versus alternative guidance or exclusion criteria.

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

add_animation_stateC

Add an animation state to a State Machine.

Args: anim_blueprint_name: Animation Blueprint name state_machine_name: State machine name state_name: State name (e.g., "Idle", "Walk", "Run", "Jump", "Death") animation_asset: Optional animation sequence asset path

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: add_animation_state(anim_blueprint_name="/Game/MCP_Test/BP_Example", state_machine_name="ExampleName", state_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
state_nameYes
animation_assetNo
state_machine_nameYes
anim_blueprint_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?

With no annotations, the description carries the full burden of behavioral disclosure, but it only states the operation and parameter meanings. It does not mention side effects, whether existing states are overwritten, required preconditions, 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.

Conciseness4/5

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

The description is compact and logically structured with an Args block, a KB reference, and an example. It is front-loaded with the purpose and avoids excessive prose, though the example is somewhat repetitive.

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 KB link and output schema help, but the description still lacks critical context for confident use: prerequisites, whether the state machine must already exist, failure modes, and relationship to sibling animation-state tools. It is not complete enough for an agent to avoid common mistakes.

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 lists all four parameters with minimal labels and marks animation_asset as 'Optional animation sequence asset path,' and gives state_name examples. However, most descriptions restate the parameter names and do not provide path/format guidance beyond one example.

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

Purpose4/5

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

The description clearly identifies the action and target: 'Add an animation state to a State Machine.' It is specific enough to distinguish from related siblings like add_state_machine and add_state_transition, though it does not explicitly call out how it differs from set_animation_for_state.

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 or when-not-to-use guidance is provided. The description gives an example and parameter list but does not explain whether the state machine must already exist, when to prefer this over set_animation_for_state, or what prerequisites apply.

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

add_anim_blueprint_variableB

Add a variable to an Animation Blueprint (for use in transitions/logic).

Args: anim_blueprint_name: Animation Blueprint name variable_name: Variable name (e.g., "Speed", "bIsJumping", "Direction") variable_type: Type (Boolean, Float, Integer, Vector) default_value: Optional default value

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: add_anim_blueprint_variable(anim_blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", variable_type="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
default_valueNo
variable_nameYes
variable_typeYes
anim_blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 burden, yet it only says 'Add a variable'. It does not disclose whether the asset must be open, whether the change immediately mutates/saves the asset, how existing variables are handled, or any failure conditions.

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 compact and well organized: summary, Args, KB pointer, and example. The structure earns its place, though the incorrect example adds minor noise and the example repeats the variable name as the type.

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 four-parameter mutation with no annotations, the description is adequate: it identifies the target asset, parameter meanings, and a KB reference. It still omits side effects, naming constraints, and conflict behavior, leaving an agent to infer the full operational contract.

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

Parameters3/5

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

Schema coverage is 0%, so the Args section supplies meaning for all four parameters, including valid variable_type options and an example for variable_name. However, the example passes 'ExampleName' as variable_type, which contradicts the listed types and could mislead an agent; default_value is only glossed as 'Optional default 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 opening sentence names a concrete action and resource: 'Add a variable to an Animation Blueprint' and adds the intended use ('for use in transitions/logic'). This clearly separates it from generic blueprint variable tools like add_blueprint_variable among the siblings.

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

Usage Guidelines3/5

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

The phrase 'for use in transitions/logic' implies when the variable is needed, but the description never says when to prefer this tool over add_blueprint_variable or any other sibling, and it gives no exclusions or preconditions.

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

add_anim_notifyA

Add an Anim Notify or Notify State to an Animation Sequence or Montage.

Args: animation_path: Full asset path (e.g. /Game/Characters/Run.Run) notify_name: Event name to trigger from the AnimBP time: Time in seconds notify_type: "notify" or "notify_state" notify_state_duration: Duration for notify_state entries

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: add_anim_notify(animation_path="/Game/MCP_Test/Example", notify_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
timeNo
notify_nameYes
notify_typeNonotify
animation_pathYes
notify_state_durationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 implies mutation ('Add') but does not state side effects, whether the asset must be loaded/saved first, reversibility, validation of notify_name against the AnimBP, or failure behavior. The KB reference is a pointer, not a behavioral disclosure.

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

Conciseness4/5

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

The description is well-structured: a one-line purpose statement, a clean Args list, a KB reference, and a concrete example. It is front-loaded with the action and every element adds value, though the example partially duplicates the args list.

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 5-parameter tool with 0% schema coverage and no annotations, the description covers all parameters, provides an example, and links to KB documentation. An output schema exists so return values need no explanation. Gaps remain in error conditions and prerequisites (e.g., what happens if animation_path is invalid or the asset is unsaved), but the core calling contract is adequately specified.

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 description fully compensates: it documents all five parameters with real meaning — path format with example ('/Game/Characters/Run.Run'), notify_name semantics ('Event name to trigger from the AnimBP'), units for time, allowed values for notify_type, and purpose of notify_state_duration. Only minor gaps remain (e.g., not explicitly stating notify_state_duration is ignored for 'notify').

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: 'Add an Anim Notify or Notify State to an Animation Sequence or Montage.' This precisely differentiates the tool from animation siblings like anim_add_branching_point, anim_add_montage_slot, and add_animation_state without needing to open schemas. The resource type and target asset class are both explicit.

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 provides an example call and a KB pointer, which implies usage, but it never states when to use this tool vs. alternatives (e.g., anim_add_branching_point, anim_add_montage_slot) or when not to use it. No exclusions or selection criteria are given, so an agent must infer context from the example alone.

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

add_append_string_nodeA

Add an Append (string concatenation) node.

From Ch. 18 (Actor Component test): Combines two strings into one. Used to build "Levelled up to " + CurrentLevel display string.

Args: blueprint_name: Blueprint to add the node to string_a: First string (A pin default value) string_b: Second string (B pin default value) node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_append_string_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
string_aNo
string_bNo
node_positionNo
blueprint_nameYes

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 provided, the description carries the full behavioral burden. It clearly states the action (adds a node), the node's purpose (string concatenation), and how the parameters feed into it. However, it does not disclose potential side effects, prerequisites like whether the blueprint must already exist, or whether the operation compiles or connects the node.

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 well-structured and front-loaded with the core action. It includes a brief use case, a concise argument list, a knowledge base pointer, and a realistic example. Each section earns its place without unnecessary verbosity.

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 node-addition tool, the description covers the essential context: purpose, parameters, example, and KB reference. The output schema exists, so not describing return values is acceptable. It lacks some guidance on when not to use it and does not mention required-versus-optional parameters, but the schema covers required fields.

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%, but the description compensates fully by explaining each parameter: blueprint_name is the target blueprint, string_a and string_b are the A/B pin defaults, and node_position is an [X, Y] graph position. This is significantly more meaningful than the raw schema property names 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 opens with a clear verb and resource: 'Add an Append (string concatenation) node,' and further explains it 'Combines two strings into one.' This is unambiguous and specific. However, it does not explicitly differentiate itself from sibling tools like add_format_text_node or add_print_string_node, though the operation is distinct enough by name.

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 provides a concrete use case: 'Used to build "Levelled up to " + CurrentLevel display string,' which implies when this tool is appropriate. It does not explicitly state when to use this tool versus alternatives, nor does it give exclusions or mention when another node type would be preferable.

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

add_apply_damage_nodeC

Add an 'Apply Damage' node.

Args: blueprint_name: Blueprint name node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_apply_damage_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 only says 'Add' a node, which implies a mutation, but it does not mention whether the blueprint is modified in place, whether the graph must be open, whether compilation or saving is required, or what side effects occur. This is a significant transparency gap 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 short and front-loaded with the core purpose, followed by a compact args section, KB pointer, and example. It avoids unnecessary filler. It could be improved slightly by folding the KB link into a more informative sentence, but the structure is efficient for a 2-parameter tool.

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

Completeness2/5

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

Given that there are no annotations and the schema has 0% parameter description coverage, the description leaves important gaps: it does not explain how to specify node_position, whether the blueprint must already exist, what graph context is assumed, or what the operation changes. An output schema exists, so return-value explanation is not required, but the missing parameter and behavioral context makes the definition incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must fully document the parameters. It only says 'blueprint_name: Blueprint name' and 'node_position: Optional graph position', which adds little beyond the schema. The example gives a blueprint path, but node_position format, coordinate order, units, and behavior when omitted are not explained.

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 action and resource: 'Add an "Apply Damage" node.' It is more than a tautology because it names the exact node type and is distinguishable from nearby siblings like add_apply_point_damage_node. However, it does not elaborate on what the node does or how it differs from similar damage-related nodes beyond the name.

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 add_apply_point_damage_node or other add_*_node tools. The example and KB link show how to call it, but the description does not state prerequisites, selection criteria, or 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.

add_apply_point_damage_nodeA

Add an 'Apply Point Damage' node - damage at a specific world location/direction.

Similar to Apply Damage but includes hit location and direction, allowing physics reactions (e.g. pushback from projectile impact).

Args: blueprint_name: Blueprint name damage_amount: Default damage amount node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_apply_point_damage_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
damage_amountNo
node_positionNo
blueprint_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 the burden. It explains the behavioral effect (damage with hit location/direction enabling physics reactions) and mentions optional node_position. However, it doesn't disclose side effects like whether the node is automatically connected, whether the blueprint is compiled, or whether existing nodes are affected. The KB reference adds some context but is not a substitute for behavioral disclosure.

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 compact and front-loaded with the core purpose. The comparison to Apply Damage is useful, and the Args list plus example are efficient. The KB reference is a minor addition. No wasted sentences, though the example could be more illustrative.

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 node-adding tool with 3 parameters and no annotations, the description covers the basic purpose and parameters but lacks details on node placement behavior, connection defaults, and post-add actions (e.g., compile). The output schema exists but the description doesn't explain what the tool returns. The KB reference helps but is not fully self-contained.

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 lists all three parameters (blueprint_name, damage_amount, node_position) with brief explanations, but the explanations are minimal and mostly restate the parameter names. It doesn't clarify the format of node_position (e.g., [X, Y] coordinates relative to what) beyond the example, and damage_amount's units/range are unspecified. The example shows usage but not parameter details.

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

Purpose4/5

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

The description clearly states the tool adds an 'Apply Point Damage' node, specifies it deals damage at a specific world location/direction, and distinguishes it from the similar 'Apply Damage' node by including hit location and direction for physics reactions. It could be slightly clearer about the exact resource (blueprint graph) but the verb 'Add' and the node name are specific.

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 explicitly compares to 'Apply Damage' and explains when this variant is preferred (when physics reactions like pushback from projectile impact are needed). It doesn't explicitly state when NOT to use it or name the sibling tool add_apply_damage_node, but the comparison provides clear context for selection.

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

add_arithmetic_operator_nodeB

Add an arithmetic operator node (Add, Subtract, Multiply, Divide, Modulo).

Ch.2: Arithmetic operators create expressions in Blueprints:

  • Add (+): Sum two values

  • Subtract (-): Difference between values

  • Multiply (*): Product of two values

  • Divide (/): Quotient of two values

  • Modulo (%): Remainder after division (integers only)

Args: blueprint_name: Blueprint name operator: "Add", "Subtract", "Multiply", "Divide", "Modulo", "Power" operand_type: "Float", "Integer", "Vector", "Int64" node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_arithmetic_operator_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNoAdd
operand_typeNoFloat
node_positionNo
blueprint_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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates the tool modifies a Blueprint graph by adding a node and notes one constraint (Modulo is integers only), but it does not mention side effects, prerequisites such as the target Blueprint existing or being loaded, whether the graph is compiled or saved, or failure behavior. The 'Power' omission from the opening list also creates ambiguity about the actual behavioral surface.

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 uses bullet lists, an Args block, a KB reference, and an example in a scannable structure. It is slightly redundant: the opening parenthetical duplicates the operator list in Args, and the Ch.2 section restates operator meanings. Overall, each section serves a purpose, but trimming redundancy would tighten it.

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 4-parameter mutation tool with no annotations, the description covers the key inputs, provides valid value sets, and includes an example; the presence of an output schema reduces the need to describe return values. However, it omits prerequisites (e.g., the Blueprint must exist) and post-conditions (e.g., whether the node needs connection or compilation), and the Power/Modulo listing discrepancy leaves a small open question. It is adequate but not fully 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 largely does. It defines blueprint_name, lists valid operator and operand_type values, and explains node_position as an optional [X, Y] graph position. It even provides a concrete example call. Minor gaps remain around node_position coordinate conventions and exact blueprint asset path formatting, but the description adds meaningful semantics 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 opens with a specific verb+resource, 'Add an arithmetic operator node', and enumerates the supported operators (Add, Subtract, Multiply, Divide, Modulo) and operand types. This clearly identifies the tool's function and distinguishes it from other node types, though it never names sibling tools explicitly. A minor inconsistency exists: the opening list omits 'Power' while the Args section includes it, which slightly muddies the exact supported set.

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 background ('Arithmetic operators create expressions in Blueprints') and an example call, but it does not state when to use this tool versus closely related siblings like add_math_node, add_relational_operator_node, or add_logical_operator_node. No exclusions, alternatives, or selection criteria are provided, so an agent must infer usage from the tool name alone.

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

add_array_variableB

Add an Array variable to a Blueprint.

Arrays are ordered, indexed lists of elements of the same type.

Args: blueprint_name: Blueprint name variable_name: Variable name element_type: Element type (Boolean, Integer, Float, String, Vector, etc.) is_exposed: Expose to editor Details panel

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_array_variable(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", element_type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
is_exposedNo
element_typeYes
variable_nameYes
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 does not mention side effects such as blueprint mutation, compile requirements, overwrite behavior, or failure behavior if the variable already exists. The only behavioral context is that is_exposed affects visibility in the Details panel, which is more of a parameter detail.

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 compact and front-loaded, with the core purpose stated first and additional information organized into Args, KB, and Example sections. The Args block partly duplicates the schema, but since the schema has no descriptions, it earns its place here.

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

Completeness3/5

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

The description provides enough to attempt a basic call, especially with the example and parameter list. It omits prerequisites, expected failure modes, and explicit routing among related variable-creation tools, but the presence of an output schema reduces the need to document return values.

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 lists all four arguments with brief but meaningful explanations, including example element types and a concrete call example. However, element_type is left open-ended with 'etc.', so some ambiguity remains.

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 opens with a clear, specific verb-resource pair: 'Add an Array variable to a Blueprint.' It also defines what an Array is, and the sibling list includes add_map_variable and add_set_variable, so naming the container type helps distinguish it from 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 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 choose this tool over add_blueprint_variable, add_map_variable, or add_set_variable. The KB reference is a pointer to general data-structure documentation, not an explicit when-to-use or when-not-to-use instruction.

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

add_attach_actor_to_component_nodeA

Add an AttachActorToComponent node.

From Ch. 15: Attaches an actor to a component at runtime. Used for dynamic attachment (e.g., weapon pickup, mounting to vehicles).

Attachment rules:

  • "KeepRelative": Maintain current relative transform

  • "KeepWorld": Maintain current world transform (recalculate relative)

  • "SnapToTarget": Reset to component's origin

Args: blueprint_name: Blueprint to add the node to location_rule: Location attachment rule rotation_rule: Rotation attachment rule scale_rule: Scale attachment rule weld_simulated_bodies: Weld physics bodies together node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_attach_actor_to_component_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
scale_ruleNoKeepRelative
location_ruleNoKeepRelative
node_positionNo
rotation_ruleNoKeepRelative
blueprint_nameYes
weld_simulated_bodiesNo

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 behavioral disclosure burden. It explains what the node does, attachment rule semantics, and that weld_simulated_bodies welds physics bodies. While it doesn't explicitly warn that adding a node mutates the Blueprint asset, the 'Blueprint to add the node to' argument makes the mutating nature reasonably clear.

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

Conciseness4/5

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

The description is well-organized with sections for purpose, attachment rules, args, KB reference, and example. The content is mostly necessary and useful, though the 'From Ch. 15' and KB line add minor context rather than essential invocation details.

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?

The description is complete enough for an agent to invoke the tool: all six parameters are explained, enum values are provided, the node's runtime behavior is clear, and an example call is included. The presence of an output schema covers return values, so no further output documentation is needed.

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%, and the description compensates fully by documenting every parameter: blueprint_name, location_rule, rotation_rule, scale_rule, weld_simulated_bodies, and node_position. It also gives the exact enum-style choices for the rule parameters ('KeepRelative', 'KeepWorld', 'SnapToTarget') with their behavioral 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 action ('Add an AttachActorToComponent node') and a specific resource ('Blueprint to add the node to'). It further clarifies the node's runtime purpose ('Attaches an actor to a component at runtime') with concrete examples ('weapon pickup, mounting to vehicles'), which distinguishes it from other add-node 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?

The description gives clear usage context: it is 'Used for dynamic attachment' with examples. It does not explicitly list alternatives or when not to use it, but the examples and node scope make the intended use clear enough for an agent to select it correctly among many sibling add-node tools.

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

add_blend_space_nodeA

Add a Blend Space node to an Animation Blueprint's AnimGraph.

Blend Spaces blend animations based on one or two float parameters (e.g., Speed and Direction for a locomotion blend space).

Args: anim_blueprint_name: Animation Blueprint name blend_space_asset: Blend Space asset path node_position: Optional graph position

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: add_blend_space_node(anim_blueprint_name="/Game/MCP_Test/BP_Example", blend_space_asset="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blend_space_assetYes
anim_blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 only says 'Add' without explaining side effects such as whether the AnimGraph is mutated and saved, whether the referenced Blend Space asset must already exist, what happens on failure, or whether the operation requires compilation. The KB reference hints at more context but does not itself disclose these behaviors.

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

Conciseness5/5

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

The description is compact and front-loaded with the core action. The explanatory sentence about Blend Spaces earns its place by helping with usage, and the Args block plus example are directly useful. There is no fluff or redundant repetition; every sentence contributes.

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 that an output schema exists, return-value documentation is not required. The description covers the key inputs and gives a concrete example, but it omits practical prerequisites such as whether the Animation Blueprint must already exist, what coordinate format node_position expects, and how the node integrates with adjacent AnimGraph nodes. The KB link helps but the description alone is not fully self-sufficient.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must compensate. It provides per-argument comments like 'Animation Blueprint name', 'Blend Space asset path', and 'Optional graph position', which add some meaning beyond bare titles. However, node_position lacks any format or coordinate system, and anim_blueprint_name is nearly a restatement of the schema title. The example clarifies the expected path style, but the parameter semantics remain thin.

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 first sentence states a specific verb, resource, and target: 'Add a Blend Space node to an Animation Blueprint's AnimGraph.' This is unambiguous and clearly distinguishes the tool from other node-adding siblings like add_sequence_player_node or add_state_machine, which have different purposes. The description leaves no doubt about what the tool does.

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

Usage Guidelines4/5

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

The description explains when this tool is relevant: 'Blend Spaces blend animations based on one or two float parameters (e.g., Speed and Direction for a locomotion blend space).' This gives clear context for when to use a Blend Space node. However, it does not explicitly mention when not to use it or name alternatives, so it stops 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.

add_blueprint_branch_nodeA

Add a Branch (If/Then/Else) node to a Blueprint graph.

This is the standard UE5 Branch node with Condition (bool) input, True exec output, and False exec output.

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', and 'pins' (execute, Condition, True, False).

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_branch_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_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?

With no annotations provided, the description carries the full transparency burden. It does disclose the node kind, its pins, and the return dict, but it omits side effects such as whether the asset is modified in memory only, whether compile/save is required, and what happens on invalid graph or asset names. It does not contradict the annotations because none exist.

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 organized into compact labeled sections (Args, Returns, KB, Example). Each sentence adds useful invocation detail; there is no filler or repetition.

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 node-creation tool with no annotations and no schema-level descriptions, the description is nearly self-contained: it covers the required parameter, defaults, optional position, return keys, and a concrete example. It could be more complete by naming when to use this instead of add_branch_node, but nothing essential to making the call 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 schema has 0% description coverage, but the description's Args section meaningfully documents all three parameters: blueprint_name, graph_name with its default, and node_position as an optional [X, Y] canvas coordinate. It is not a 5 because blueprint_name is described as 'Asset name' while the example passes a full /Game/ path, leaving slight ambiguity.

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 first sentence clearly identifies the action ('Add') and resource ('Branch (If/Then/Else) node to a Blueprint graph'), and the next sentence pins down the standard UE5 node semantics. It loses the fifth point because the sibling list also contains add_branch_node, and this description never distinguishes this tool from that likely overlapping alternative.

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' or 'when not to use' guidance, and no alternative tools are named. The default graph_name='EventGraph' implies the intended context, but the agent is left to choose among dozens of add_*_node siblings without selection criteria.

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

add_blueprint_cast_nodeA

Add a Cast node (K2Node_DynamicCast) to a Blueprint graph.

Args: blueprint_name: Asset name of the Blueprint. cast_target_class: Class to cast to. Accepts short names like 'AIController', 'ThePlayerCharacter', or full paths like '/Script/AIModule.AIController'. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'cast_class', and 'pins' (execute, Object, then/cast-success, CastFailed, As).

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_cast_node(blueprint_name="/Game/MCP_Test/BP_Example", cast_target_class="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes
cast_target_classYes

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 must disclose behavior itself. It reveals the underlying node class (K2Node_DynamicCast) and the exact return structure including pins, but it doesn't mention side effects such as modifying the blueprint asset, error conditions, or prerequisites beyond the parameters.

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 compact and front-loaded with the purpose. It uses clear sections (Args, Returns, KB, Example) without redundancy, though the Returns section is slightly verbose.

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 description covers the parameters, return values, and includes a KB reference and example, which is sufficient to call the tool. It lacks guidance on when to use it versus similar node-adding tools and does not mention whether the graph is modified immediately.

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 explain the parameters. It does so for all four: blueprint_name, cast_target_class (with examples of short names and full paths), graph_name (default), and node_position (optional [X,Y] format). This exceeds what the schema offers.

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

Purpose4/5

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

The description states a clear action: add a specific node type (K2Node_DynamicCast) to a Blueprint graph. It names the resource precisely and provides an example, though it doesn't explicitly differentiate from the sibling tool add_cast_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?

Usage is implied by the action and parameters but no explicit guidance is given about when to choose this over alternatives like add_cast_node or other blueprint node tools. There are no exclusions or conditional recommendations.

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

add_blueprint_comment_nodeA

Add a comment box (UEdGraphNode_Comment) to a Blueprint graph.

Comment boxes are visual organisers that group related nodes. They do not affect logic.

Args: blueprint_name: Asset name of the Blueprint. comment_text: Text shown in the comment header. graph_name: Graph to add to. Default 'EventGraph'. node_position: [X, Y] top-left corner of the comment box. width: Width in units (default 400). height: Height in units (default 200). color: Optional [R, G, B, A] color in 0..1 range. Defaults to white semi-transparent.

Returns: Dict with 'node_id', 'node_name', 'comment_text', 'pos_x', 'pos_y', 'width', 'height'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_comment_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
widthNo
heightNo
graph_nameNoEventGraph
comment_textNoComment
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations are absent, so the description carries the full burden. It discloses that the operation adds a non-logic comment box, explains its visual purpose, documents defaults, and states the return dict shape. It does not cover failure modes or whether the target graph must already exist, so not 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?

Well-structured with an action summary, short rationale, Args list, Returns list, KB pointer, and example. Each section earns its place and no redundant prose is present.

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?

Despite 7 parameters and no annotations, the description provides enough for an agent to call the tool correctly: all parameters are explained, defaults are shown, the return shape is listed, and a concrete example path is included.

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%, but the Args section compensates fully: every parameter gets a plain-language meaning, default, unit, or format, including color ranges and the [X, Y] node position convention.

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 ('Add') and resource ('comment box (UEdGraphNode_Comment) to a Blueprint graph'). Clarifies that comment boxes are visual organizers and do not affect logic, which differentiates this from the many other add_blueprint_node-style siblings.

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 context: use this when you need a visual comment/grouping box in a Blueprint graph. Explicitly notes that it does not affect logic, implying it should not be used for behavior changes. Does not name alternative tools explicitly, so it misses the top score.

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

add_blueprint_do_once_nodeA

Add a DoOnce macro node to a Blueprint graph.

The DoOnce node only fires the Completed output once until Reset is triggered. Pins: execute, Reset (exec), Completed (exec), bIsOpen (bool).

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_do_once_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes

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 provided, the description carries the full burden of behavioral disclosure. It explains the node's runtime behavior, lists all pins, and describes the return structure, giving the agent a clear picture of what the operation produces. It could go further by noting side effects like graph mutation or prerequisites, but the core behavior is well covered.

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 well-structured and front-loaded with the primary action, followed by concise behavior, pin, parameter, return, and example sections. Every sentence adds value without unnecessary verbosity.

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 description covers the node's behavior, pins, parameters, return values, and includes an example call, which is strong for a 3-parameter tool with an output schema. Minor gaps remain around prerequisites such as the blueprint already existing or graph resolution semantics, 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.

Parameters5/5

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

Schema description coverage is 0%, yet the description compensates fully by documenting every parameter: blueprint_name, graph_name, and node_position, including defaults and types. This provides meaning far beyond the input schema.

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

Purpose4/5

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

The description clearly states the verb and resource: 'Add a DoOnce macro node to a Blueprint graph.' It explains what the node does, which helps the agent understand the tool's purpose. However, it does not explicitly differentiate this from the very similar sibling tool add_do_once_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 behavior description, 'only fires the Completed output once until Reset is triggered,' implies the tool should be used when a one-shot execution pattern is needed. No explicit when-not-to-use guidance or alternatives are provided, so usage context is implied rather than stated.

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

add_blueprint_enhanced_input_action_nodeA

Add an Enhanced Input Action event node (K2Node_EnhancedInputAction) to a Blueprint graph, wired to the specified UInputAction asset.

This is the correct node type for projects using Unreal Engine's Enhanced Input system (which replaces the legacy Input Actions in UE5). The node exposes Triggered / Started / Ongoing / Canceled / Completed exec pins as well as ActionValue, ElapsedSeconds, and TriggeredSeconds data pins.

action_asset can be: • Full object path: "/Game/OtherAssets/input/Actions/IA_Blink.IA_Blink" • Asset name only (will be found via Asset Registry): "IA_Blink"

After adding the node use connect_blueprint_nodes to wire the exec pins to your logic. Use get_blueprint_nodes to inspect the pin names.

Args: blueprint_name: Asset name of the Blueprint to edit. action_asset: UInputAction asset — full path or short name. graph_name: Target graph. Defaults to 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'input_action', 'input_action_path', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_enhanced_input_action_node(blueprint_name="/Game/MCP_Test/BP_Example", action_asset="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
action_assetYes
node_positionNo
blueprint_nameYes

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 present, the description carries the behavioral burden. It discloses the exposed exec and data pins, the accepted action_asset formats, the returned fields, and the fact that wiring is a separate follow-up step. It does not discuss error conditions or side effects like graph modification or compilation, but it provides substantially more behavioral context than a typical tool description.

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 longer than average but every section earns its place: purpose, usage context, asset format examples, post-add workflow, args, returns, KB reference, and a concrete example. It is front-loaded with the core statement and uses structured sections rather than prose bloat.

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

Completeness5/5

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

For a 4-parameter mutation tool with no annotations, the description is complete enough for an agent to call it correctly. It covers all parameters, explains return values, gives an example, links to KB documentation, and tells the agent what to do after adding the node. Nothing essential for correct invocation is missing.

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 thoroughly. The Args section explains blueprint_name, action_asset (with two accepted formats and examples), graph_name (with default 'EventGraph'), and node_position as an optional [X, Y] canvas position. This adds real 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?

The description opens with a specific verb+resource: 'Add an Enhanced Input Action event node (K2Node_EnhancedInputAction) to a Blueprint graph, wired to the specified UInputAction asset.' This clearly identifies what the tool does and differentiates it from the many sibling add_blueprint_*_node tools by naming the exact node type and the Enhanced Input 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 gives clear context: 'This is the correct node type for projects using Unreal Engine's Enhanced Input system (which replaces the legacy Input Actions in UE5).' It also provides a follow-up workflow (use connect_blueprint_nodes and get_blueprint_nodes). It does not explicitly name a sibling alternative like add_blueprint_input_action_node, but the Enhanced Input qualification strongly implies when to choose this tool.

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

add_blueprint_event_nodeB

Add an event node to a Blueprint graph.

Common event names: ReceiveBeginPlay, ReceiveTick, ReceiveEndPlay, ReceiveHit, ReceiveActorBeginOverlap, ReceiveActorEndOverlap

Args: blueprint_name: Asset name. event_name: Event to add. graph_name: Target graph. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id' and 'node_name'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_event_node(blueprint_name="/Game/MCP_Test/BP_Example", event_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameYes
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes

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 does disclose the return dict (node_id/node_name), the graph_name default, node_position optionality, and an example asset path. However, it says nothing about failure modes (invalid event name, missing blueprint, duplicate event) or whether the event name is validated against the listed set, which matters for a graph-mutating 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 purpose, then organized into clear sections (event names, args, returns, KB ref, example). The common-event list and example are genuinely useful, not filler. Slightly long but each block 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 4-param tool whose output schema (node_id/node_name dict) is described inline, the definition covers purpose, parameters, return format, and usage example, plus a KB pointer. Missing pieces are error/edge-case behavior and whether the target graph must already exist, but nothing essential for a basic call is absent.

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 enumerated with brief meanings, and the example clarifies that blueprint_name expects a full /Game/... path. The main weakness is terseness (e.g., 'Asset name' vs path) and no guidance on node_position coordinate conventions, but overall it compensates well for the empty schema.

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

Purpose4/5

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

The description uses a specific verb-resource pair ('Add an event node to a Blueprint graph') and enriches it with a list of common event names and a concrete example with a full asset path. However, it does not explicitly differentiate itself from the many sibling tools that also add events (add_custom_event, add_overlap_event, add_hit_event, add_event_dispatcher), 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?

The common event-name list and graph_name default imply which scenarios apply, but there is no explicit when/when-not guidance and no mention of alternatives. With a large cluster of add_*_event siblings, the lack of routing rules (e.g., 'for custom events use add_custom_event instead') leaves selection ambiguous.

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

add_blueprint_flip_flop_nodeA

Add a FlipFlop macro node to a Blueprint graph.

Alternates between A and B exec outputs on each trigger. Pins: execute, A (exec), B (exec), IsA (bool).

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_flip_flop_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes

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 burden. It discloses the alternating behavior and the pins, but does not mention side effects on the graph, whether the operation is additive, or potential errors if the blueprint or graph doesn't exist. It is a mutating operation with no stated preconditions.

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 relatively concise, with a summary, pin list, parameter list, returns, and an example. It is front-loaded with the primary purpose and alternation behavior. The example is useful, though the KB reference may be extraneous for the core task.

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

Completeness4/5

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

The tool has an output schema (not shown in text, but indicated), so return values are covered elsewhere. The description includes enough information for an agent to understand what the tool does, the parameters, and an example. However, it lacks details on error handling or prerequisites like blueprint existence.

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 briefly explains the purpose of each parameter (blueprint_name as asset name, graph_name as graph to add to, node_position as canvas position) and provides an example for blueprint_name. This adds meaning beyond 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?

The description clearly states the tool adds a FlipFlop macro node to a Blueprint graph, describing its alternating behavior between A and B exec outputs on each trigger and listing the pins. It distinguishes from other add_*_node tools by its explicit function and pin list.

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 explains when to use the tool (to add a FlipFlop node) and provides a concrete example with a blueprint_name. It does not explicitly mention when not to use it or alternatives, but the context of adding a specific macro node is clear given the sibling list.

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

add_blueprint_for_each_loop_nodeB

Add a ForEachLoop macro node to a Blueprint graph.

Pins: execute, Array (wildcard array), Loop Body (exec), Array Element (wildcard), Array Index (int), Completed (exec).

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_for_each_loop_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes

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 does disclose genuinely useful structural behavior: the six pins with their types (wildcard array, exec, int) and the returned dict keys. But as a mutation tool it never states what adding the node does to the graph (node count growth, exec-chain placement, whether a compile is needed afterward), and blueprint_name is labeled 'Asset name' while the example shows a full asset path — an unaddressed inconsistency.

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 layout is exemplary: one-sentence summary up front, then compact labeled sections for pins, args, returns, KB link, and a runnable example. Every line earns its place and the structure is scannable for an LLM. No filler or repetition of 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?

The mechanics are complete — output schema exists and the description even pre-states the return keys, all params are documented, and a KB pointer plus example anchor usage. What's missing is the selection context: in a namespace with ~130 sibling add-node tools including a near-duplicate, the description never explains why this tool exists or when to pick it over add_for_each_loop_node. That gap is material 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 fully compensates by documenting all three parameters: blueprint_name (with the example clarifying path format), graph_name (default 'EventGraph'), and node_position (optional [X, Y] format). The only blemish is the 'Asset name' vs full asset path discrepancy between the arg line and the example.

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+resource: 'Add a ForEachLoop macro node to a Blueprint graph.' The pin listing reinforces what the node contains, and the 'macro' qualifier hints at the distinction from a plain loop node. However, it doesn't explicitly differentiate from near-twin siblings like add_for_each_loop_node or add_blueprint_for_loop_with_break_node, 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 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 exclusions, and no mention of alternative loop-node tools despite a crowded sibling family (add_for_each_loop_node, add_while_loop_node, add_blueprint_for_loop_node, add_blueprint_for_loop_with_break_node). An agent picking between these near-identical names gets zero steer from the description. The example and KB reference help operationally but not selection-wise.

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

add_blueprint_for_loop_nodeA

Add a standard ForLoop macro node to a Blueprint graph.

Pins: execute, First Index (int), Last Index (int), Loop Body (exec), Index (int), Completed (exec).

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. first_index: Starting index (default 0). last_index: Ending index (default 9). node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_for_loop_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
last_indexNo
first_indexNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 does a solid job: it says the tool adds a node, lists every pin and its type, documents argument defaults, and gives the returned dictionary keys. It does not mention side effects such as whether the Blueprint is saved or compiled, but the core add-node behavior 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 a one-sentence summary, then organized into labeled Pins, Args, Returns, KB, and Example sections. Every line adds useful information, and the formatting makes it easy for an agent to scan quickly.

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 5-parameter tool with zero schema descriptions and no annotations, the description covers the call contract well: argument semantics, defaults, return shape, a KB pointer, and a concrete example. It could be slightly more complete by explaining graph_name path conventions or node_position coordinate units, but the essential calling context is present.

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%, yet the description documents all five parameters with meaning and defaults: blueprint_name as an asset name, graph_name defaulting to 'EventGraph', first/last index defaults, and node_position as an optional [X, Y] canvas position. The example includes a full Blueprint path, leaving no parameter meaning to inference.

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 first sentence states an exact action and target: 'Add a standard ForLoop macro node to a Blueprint graph.' The pin listing (Exec, First Index, Last Index, Loop Body, Index, Completed) identifies the precise Unreal Blueprint node and helps distinguish it from sibling loop-node tools such as the ForEachLoop variant.

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 does not explicitly state when to prefer this tool over the many sibling add_*_node tools, nor does it name alternatives such as add_blueprint_for_each_loop_node. The intended use is implied by the node name and the integer First/Last Index pins, so an agent must infer the selection context rather than being told it directly.

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

add_blueprint_function_nodeA

Add a function-call node to a Blueprint graph.

function_name can be: • Short name: 'K2_GetActorLocation', 'SetActorLocation', 'PrintString' • Full UE path: '/Script/Engine.Actor:K2_GetActorLocation'

target (optional) identifies the class that owns the function: • Short name: 'KismetMathLibrary', 'KismetSystemLibrary', 'GameplayStatics', 'Actor', 'Character' • Full path: '/Script/Engine.KismetMathLibrary' • Leave empty to search the Blueprint's own class hierarchy.

Duplicate guard: by default (allow_duplicates=False) if a node with the same function name already exists within 32 units of node_position, the existing node is returned instead of creating a new one. Set allow_duplicates=True to force creation of a new node regardless.

params values can be strings, numbers, or booleans — all are handled.

Returns node_id, node_name, pins, and was_existing (True if the duplicate guard returned an existing node).

Args: blueprint_name: Asset name. function_name: Function to call (short name or full path). target: Class that owns the function (optional). graph_name: Graph to add node to. Default 'EventGraph'. params: Dict of pin_name -> default_value to set inline. node_position: Optional [X, Y] canvas position. allow_duplicates: Force new node even if one already exists nearby.

Returns: Dict with 'node_id', 'node_name', 'pins', 'was_existing'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_function_node(blueprint_name="/Game/MCP_Test/BP_Example", function_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo
targetNo
graph_nameNoEventGraph
function_nameYes
node_positionNo
blueprint_nameYes
allow_duplicatesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses important behavioral traits: the duplicate guard (allow_duplicates=False returns existing node within 32 units), the handling of params values (strings, numbers, booleans), and the return values including was_existing. It also explains the target parameter's fallback behavior (searching the Blueprint's own class hierarchy). No annotations are provided, so the description carries the full burden, and it does so well.

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

Conciseness4/5

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

The description is well-structured with clear sections for function_name, target, duplicate guard, params, Args, Returns, and an example. It's longer than average but every section adds value. The front-loading is good: the core purpose is stated first, followed by the most important parameter details. The example at the end is helpful. Slightly verbose but justified by the complexity.

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

Completeness4/5

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

Given the tool's complexity (7 params, nested objects, no annotations, 0% schema coverage), the description is quite complete. It covers all parameters, return values, and edge cases (duplicate guard). The KB reference provides additional context. It could be more explicit about when to use this vs. other node-adders, but for the tool's own operation, it's thorough.

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 function_name formats (short name vs full UE path), target ownership, params as pin_name->default_value dict, node_position as [X,Y], and allow_duplicates semantics. It also documents the return dict. The only minor gap is that graph_name default 'EventGraph' is mentioned in Args but not elaborated, and node_position format is only briefly shown.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Add a function-call node to a Blueprint graph.' It specifies the resource (Blueprint graph), the action (add a function-call node), and provides detailed context on how to specify the function (short name or full UE path). This distinguishes it from sibling tools like add_blueprint_event_node or add_blueprint_variable_get_node, which add different node types.

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

Usage Guidelines4/5

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

The description provides clear guidance on when to use this tool, including how to specify function_name and target, and explains the duplicate guard behavior. It doesn't explicitly state when NOT to use it or name alternative tools for different node types, but the detailed parameter guidance and the KB reference give strong usage context. The sibling list shows many node-adders, but the description doesn't explicitly differentiate from them.

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

add_blueprint_function_with_pinsA

Create or update a Blueprint function graph with typed signature pins.

Use this when an agent needs a reusable gameplay function, not a call node in an existing graph. Each pin entry supports name, type, and an optional sub_type for object/class-backed pins.

Args: blueprint_name: Asset name of the Blueprint. function_name: Function graph to create or update. inputs: Function input pins, e.g. [{"name": "Amount", "type": "float"}]. outputs: Function output pins, e.g. [{"name": "Success", "type": "bool"}]. is_pure: Whether to mark the function as pure when supported.

Returns: Dict with graph_name, entry_node_id, result_node_id, inputs, and outputs.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#function-signature-authoring Example: add_blueprint_function_with_pins( blueprint_name="/Game/MCP_Test/BP_Example", function_name="ComputeDamage", inputs=[{"name": "BaseDamage", "type": "float"}], outputs=[{"name": "FinalDamage", "type": "float"}], )

ParametersJSON Schema
NameRequiredDescriptionDefault
inputsNo
is_pureNo
outputsNo
function_nameYes
blueprint_nameYes

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?

With no annotations provided, the description carries the full burden. It does communicate that the tool creates or updates and returns a dict, which implies a mutating operation. However, it does not disclose whether updating an existing function replaces pins, whether it requires the Blueprint asset to already exist, or whether compilation is needed afterward.

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 well-structured and efficient: a one-sentence summary, a usage guidance line, compact Args list, Returns line, KB pointer, and a complete example. Every section earns its place and is front-loaded appropriately.

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?

All parameters, the return shape, and a worked example are provided, and the KB reference adds depth. It is nearly complete, but it omits edge-case behavior around updating an existing function graph and any prerequisites on the Blueprint asset itself.

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?

The input schema has 0% description coverage and its item schemas are generic objects, but the description fully compensates. It explains blueprint_name, function_name, inputs, outputs, and is_pure with examples and notes the optional sub_type for object/class-backed pins.

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 opens with a specific verb-resource pair: 'Create or update a Blueprint function graph with typed signature pins.' It further distinguishes itself from siblings by saying 'not a call node in an existing graph,' making it clear this is for authoring reusable function graphs rather than adding function-call 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?

The description explicitly states when to use it: 'Use this when an agent needs a reusable gameplay function, not a call node in an existing graph.' This gives a clear when-to-use and when-not-to-use signal, though it does not name the exact alternative sibling tool to use for call-node insertion.

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

add_blueprint_gate_nodeA

Add a Gate macro node to a Blueprint graph.

A Gate passes execution through its Exit pin only when open. Pins: execute, Open (exec), Close (exec), Toggle (exec), Start Closed (bool), Exit (exec).

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. start_closed: Whether the gate starts closed (default False). node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_gate_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
start_closedNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It clearly communicates that this is a mutating add operation, describes the Gate's runtime behavior and pin layout, and lists the return keys. It does not disclose preconditions such as whether the Blueprint or graph must already exist, or whether the asset needs saving afterward.

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 well-structured with clear sections for behavior, args, returns, knowledge base reference, and an example. The one-line purpose is front-loaded, and every section adds operational value 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 4-parameter tool with an output schema and no annotations, the description is largely complete: action, parameter semantics, defaults, return shape, and an example are all covered. The remaining gaps are the lack of sibling-routing guidance and explicit preconditions about the target Blueprint and graph.

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 each parameter. It does so for all four: blueprint_name as the asset name, graph_name with its default, start_closed with its meaning, and node_position as an optional [X, Y] canvas position. It stops short of 5 by not clarifying valid graph names or position units.

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 opening line states a specific verb and resource: 'Add a Gate macro node to a Blueprint graph.' The Gate execution semantics and pin list further pin down exactly what kind of node this is, distinguishing it from generic add_macro_node or add_gate_node tools.

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 Gate behavior ('passes execution through its Exit pin only when open') implies when this tool is useful, and the example shows a concrete call. However, it never explicitly says when to prefer this over related siblings like add_gate_node or add_macro_node, nor does it state 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.

add_blueprint_get_component_nodeA

Add a node that gets a reference to one of the Blueprint's SCS components.

Unlike add_blueprint_get_self_component_reference (which blindly trusts the component name), this command validates the component against the Blueprint's SimpleConstructionScript and also searches inherited C++ component properties. It returns the component's actual class name in the response as 'component_class'.

Use this when you know a component was added in the Blueprint editor (e.g. StaticMeshComponent, CapsuleComponent, CharacterMovement).

Args: blueprint_name: Asset name. component_name: Variable name of the component (e.g. 'Mesh', 'CapsuleComponent', 'CharacterMovement'). graph_name: Graph to add node to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'component_name', 'component_class' (if found), and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_get_component_node(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes
component_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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. It discloses meaningful behavior: validation against the SimpleConstructionScript, searching inherited C++ component properties, and returning the actual 'component_class'. However, it does not explicitly state the side effect of modifying the blueprint graph or error behavior when a component is not found, though 'if found' on the return value hints at partial failure.

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 well-structured into purpose, differentiation, usage timing, args, returns, KB reference, and example. Each section earns its place and there is no filler. The main purpose is front-loaded, making it easy for an agent to scan.

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

Completeness5/5

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

For a 4-parameter, 2-required node creation tool with no annotations, the description covers the action, when to use it, all parameters, return keys, a KB reference, and a concrete example. The 'if found' qualifier on component_class also communicates partial-failure behavior, making the description sufficient for correct invocation.

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. Every parameter is explained with context: blueprint_name as asset name, component_name with concrete examples ('Mesh', 'CapsuleComponent', 'CharacterMovement'), graph_name with default, and node_position as optional canvas position. It also documents the response keys, going beyond 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 and resource: 'Add a node that gets a reference to one of the Blueprint's SCS components.' It also distinguishes itself from the sibling add_blueprint_get_self_component_reference by explicitly contrasting its validation behavior with the sibling's blind trust of component names, so an agent can tell them apart 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 Guidelines5/5

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

Gives an explicit when-to-use condition ('Use this when you know a component was added in the Blueprint editor') and names the alternative tool while explaining the key difference (validation vs. blind trust). This is strong routing guidance for two closely related tools.

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

add_blueprint_get_self_component_referenceA

Add a node that gets a reference to one of the Blueprint's own components. Equivalent to dragging a component from the Components panel into the graph.

Args: blueprint_name: Asset name. component_name: Component variable name (e.g. 'CapsuleComponent'). graph_name: Graph to add node to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_get_self_component_reference(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes
component_nameYes

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?

No annotations are provided, so the description carries the behavioral disclosure burden. It does disclose the core side effect (adding a node), the default graph, and the return dictionary keys, but it omits edge-case behavior such as missing components/graphs, whether the asset is modified immediately, and how node_position defaults are handled.

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 well-structured with purpose, equivalent action, Args, Returns, KB reference, and an example. Every section adds value, and the main action is front-loaded before the parameter details.

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 4-parameter node-adding tool with no annotations and an output schema, the description covers the required invocations well: all parameters are explained, defaults are noted, and the return shape is given. It could be more complete by noting prerequisites (e.g., the component must already exist in the Blueprint) and by pointing to sibling tools for adjacent operations.

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?

The input schema has 0% description coverage, but the description fully compensates by explaining each parameter: blueprint_name as asset name (with full-path example), component_name as component variable name, graph_name with default, and node_position as optional [X, Y] canvas position. The example also disambiguates the expected path format.

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 action ('Add a node that gets a reference to one of the Blueprint's own components') and an analogy ('Equivalent to dragging a component from the Components panel into the graph'). This clearly differentiates it from related siblings like add_blueprint_self_reference or add_blueprint_get_component_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 gives no explicit guidance on when to use this tool versus sibling tools such as add_blueprint_get_component_node or add_blueprint_self_reference. The 'Equivalent to dragging...' analogy provides context for what it does, but not a decision rule for choosing it over alternatives.

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

add_blueprint_input_action_nodeA

Add a legacy Input Action event node (non-Enhanced Input).

For Enhanced Input actions that already exist in the graph use find_blueprint_nodes with node_type='input_action'.

Args: blueprint_name: Asset name. action_name: Input action name, e.g. 'Jump'. graph_name: Graph to add node to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_input_action_node(blueprint_name="/Game/MCP_Test/BP_Example", action_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
action_nameYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 behavioral burden. It clearly states this is a mutation, specifies the return shape ('Dict with node_id'), and provides a KB pointer and example. However, it does not disclose failure behavior for invalid blueprint/graph/action names, whether compilation is triggered, or other graph side effects, leaving some behavioral gaps.

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 and the key non-Enhanced Input distinction, followed by compact Args, Returns, KB, and Example sections. Every line earns its place; there is no filler or redundant restatement.

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

Completeness5/5

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

For a 4-parameter tool with an output schema, this description is complete: required params, optional position, default graph, return type, a KB reference, and a concrete example. The only omitted information is edge-case error behavior, which is less critical for selecting and invoking the tool correctly.

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%, but the Args block fully compensates by documenting every parameter, including defaults ('graph_name' default 'EventGraph'), optionality ('node_position'), and the expected '[X, Y]' format. The example further demonstrates the call signature and asset-path format.

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 ('Add') and resource ('legacy Input Action event node'), and immediately disambiguates with '(non-Enhanced Input)'. This clearly distinguishes it from the sibling add_blueprint_enhanced_input_action_node and the find_blueprint_nodes workflow.

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 directs the agent away from this tool for Enhanced Input actions that already exist, telling it to use find_blueprint_nodes with node_type='input_action' instead. It also labels the tool as legacy/non-Enhanced Input, implying the exclusion. It could be slightly more explicit about the sibling add_blueprint_enhanced_input_action_node for creating new Enhanced Input nodes, so it stops short of a 5.

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

add_blueprint_self_referenceB

Add a 'Get a reference to self' node (returns this actor/object).

Args: blueprint_name: Asset name. graph_name: Graph to add node to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_self_reference(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_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?

Annotations are absent, so the description carries the full burden of behavioral disclosure. It clearly states the operation ('add a node') and the return value, but it does not mention side effects like asset mutation persistence, the need to save/compile afterward, or prerequisites such as the blueprint existing. This is a meaningful gap 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.

Conciseness5/5

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

The description is tightly organized: purpose sentence, args list, return type, KB link, and example. Every line earns its place, and the most important action is front-loaded.

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 low-complexity tool with an output schema, the description covers parameters, return, and includes an example plus KB reference. Yet it omits usage context and behavioral caveats (persistence, prerequisites), which are needed because there are no annotations and sibling differentiation is absent.

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 one-line semantic explanations for all three parameters, including defaults and format ('Optional [X, Y] canvas position'). However, 'Asset name' for blueprint_name is terse and ambiguous until seen in the example, so the compensation is adequate but not rich.

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 ('Add') and names a concrete resource ('Get a reference to self' node) with a clarifying parenthetical about what the node returns. It does not explicitly mention sibling tools, so it is clear but not strongly differentiated from the many add_blueprint_* sibling 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?

No guidance is given about when to use this tool versus alternatives such as add_blueprint_get_self_component_reference or add_get_owner_node. The description simply states what it does, leaving the selection decision to the agent without contextual hints.

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

add_blueprint_sequence_nodeA

Add a Sequence macro node to a Blueprint graph.

A Sequence node executes multiple outputs in order (Then 0, Then 1, ...). Additional outputs can be added manually in the Blueprint editor.

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_sequence_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes

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 behavioral burden. It discloses that the node executes outputs in order, that outputs can be added manually, and what the return dict contains, but it does not address side effects such as whether the Blueprint is modified/saved before a compile or any prerequisites for the target graph.

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, then uses compact labeled sections for behavior, arguments, return value, knowledge-base pointer, and a concrete example. There is no wasted prose; the explanatory lines about Sequence node behavior earn their 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 simple node-adding operation, the description covers the action, parameters, return shape, and an example, plus a KB reference for background. It is missing only a note about selecting among similar add_*_node tools and any post-add workflow (e.g., compiling/saving the Blueprint), which keeps it from being fully complete.

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%, and the Args section fully compensates: it defines blueprint_name as the asset name, gives the graph_name default ('EventGraph'), and specifies node_position as an optional canvas [X, Y]. Every parameter is explained beyond the raw type/default 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?

The description opens with a specific verb and resource: 'Add a Sequence macro node to a Blueprint graph.' It clearly identifies the target and node type, but it never distinguishes itself from the similar sibling add_sequence_node or the broader add_blueprint_*_node family, 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?

The scope is implied through the explanation that a Sequence node 'executes multiple outputs in order,' which signals when an agent would want this node. However, there is no explicit when-to-use/when-not-to-use guidance or mention of alternatives, so the agent must infer routing from the name and explanation.

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

add_blueprint_spawn_actor_nodeB

Add a SpawnActorFromClass node (K2Node_SpawnActorFromClass) to a Blueprint graph.

Spawns a new actor of the given class at a given transform. Pins: execute, Class, SpawnTransform, CollisionHandlingOverride, Owner, Instigator, then, ReturnValue (actor ref).

Args: blueprint_name: Asset name of the Blueprint. actor_class: Short class name to pin as default (e.g. 'BP_AggroBot1'). Leave empty to leave the Class pin unwired. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', 'actor_class', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_spawn_actor_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
actor_classNo
node_positionNo
blueprint_nameYes

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 disclosure burden. It usefully lists the pins, the return dict keys, a KB reference, and an example. However, the 'Spawns a new actor' phrasing muddles the tool's actual behavior (node placement vs. runtime spawning), and no failure modes or preconditions are 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?

The description is well-structured with Args, Returns, KB, and Example sections, and the purpose is front-loaded. It is slightly longer than necessary — the pin enumeration and the 'Spawns a new actor' line add some redundancy — but every section earns its place and the formatting aids scanning.

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?

It has an output schema, so return-value coverage is handled, and the example plus KB link help. But given the extensive sibling overlap, the missing sibling differentiation is a real completeness gap — an agent needs to know when to pick this over add_spawn_actor_from_class_node or add_spawn_actor_node. The pin list and default guidance are otherwise solid.

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: blueprint_name as asset name, actor_class as short class name with an unwired default option, graph_name with its default, and node_position as [X, Y] canvas coordinates. This meaningfully exceeds what the bare schema provides.

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

Purpose4/5

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

The description states a clear verb+resource: 'Add a SpawnActorFromClass node... to a Blueprint graph' and names the exact Unreal node type (K2Node_SpawnActorFromClass). However, it does not differentiate from the near-duplicate sibling add_spawn_actor_from_class_node, and the 'Spawns a new actor' line describes the node's runtime behavior rather than the tool's action, introducing mild ambiguity about whether the tool spawns an actor or places a 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?

There is no when-to-use guidance, no alternative routing, and no exclusions. With a large sibling family including add_spawn_actor_node, add_spawn_actor_from_class_node, spawn_actor, and spawn_blueprint_actor, an agent has no way to tell this tool apart from add_spawn_actor_from_class_node, which appears to do the same thing.

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

add_blueprint_switch_on_int_nodeA

Add a Switch on Int node (K2Node_SwitchInteger) to a Blueprint graph.

Routes execution to Case 0, Case 1, ... Default based on an integer input.

Args: blueprint_name: Asset name of the Blueprint. graph_name: Graph to add to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position.

Returns: Dict with 'node_id', 'node_name', 'node_type', and 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_switch_on_int_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_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?

With no annotations, the description carries the behavioral disclosure burden. It clearly states the graph mutation and node behavior, and lists return keys, which is useful. It does not disclose side effects such as duplication behavior, asset save/compile implications, or failure modes when adding to an invalid graph.

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 structure is efficient: purpose, behavior, args, returns, KB reference, and example all in a compact format. There is slight redundancy between the opening sentence and the routing-behavior sentence, but no filler or irrelevant detail.

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 3-parameter node-creation tool with an output schema, the description covers inputs, defaults, return fields, and a runnable example. The main gaps are the lack of disambiguation from add_switch_on_int_node and missing side-effect/safety caveats, but it is otherwise complete enough for an agent to call correctly.

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

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 three parameters meaningfully: blueprint asset name, target graph with default, and optional [X, Y] canvas position. It also provides an example asset path, though it does not fully specify path-vs-name requirements.

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

Purpose4/5

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

The description opens with a specific verb, resource, and target: 'Add a Switch on Int node (K2Node_SwitchInteger) to a Blueprint graph.' It also explains the node's routing behavior. However, it does not explicitly differentiate itself from the very similar sibling tool add_switch_on_int_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 usage context is implied: use this when you need a Switch on Int node in a Blueprint graph, supported by a default graph name and example. It does not state when not to use it, nor does it mention alternatives among the many blueprint node-add tools.

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

add_blueprint_variableA

Add a member variable to a Blueprint.

Supported variable_type values: Boolean, Integer, Integer64, Float, Double, String, Name, Text, Vector, Rotator, Transform, Object/ (e.g. 'Object//Script/Engine.StaticMeshComponent')

Args: blueprint_name: Asset name. variable_name: New variable name. variable_type: Type string (see above). is_exposed: Expose in Details panel (BlueprintVisible + Edit). default_value: Optional initial value string (e.g. '0', 'true', '(X=0.0,Y=0.0,Z=0.0)'). Stored in both the FBPVariableDescription and the Blueprint CDO.

Returns: Dict with 'variable_name' and 'variable_type'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_variable(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", variable_type="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
is_exposedNo
default_valueNo
variable_nameYes
variable_typeYes
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses important behavioral details beyond the schema: it explains the effect of is_exposed (BlueprintVisible + Edit), states that default_value is stored in both the FBPVariableDescription and the Blueprint CDO, and documents the return value. It also lists supported variable_type values, which is critical runtime behavior. No annotations are provided, so the description carries the full burden, and it does so well.

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

Conciseness4/5

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

The description is well-structured with clear sections: a one-line summary, supported types, args, returns, KB reference, and example. It's longer than average but every section earns its place given the 0% schema coverage. The most critical information (supported types and parameter semantics) is front-loaded, and the example at the end is a useful capstone.

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

Completeness4/5

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

Given the 5-parameter tool with 0% schema coverage and no annotations, the description is quite complete. It covers all parameters, valid values, return format, and provides a KB reference and example. It doesn't mention error conditions or side effects (e.g., whether the blueprint needs to be compiled afterward), but the core information needed to call the tool correctly is present. The output schema exists, so return values are partially covered by structured 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. It does: it explains blueprint_name, variable_name, variable_type (with a full list of valid values), is_exposed (with its BlueprintVisible+Edit meaning), and default_value (with format examples and storage semantics). The only minor gap is that it doesn't explain the exact format for Object/<FullClassPath> beyond one example, but the provided example is sufficient.

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

Purpose5/5

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

The description clearly states the action ('Add a member variable to a Blueprint') with a specific verb and resource. It distinguishes itself from siblings like add_blueprint_variable_get_node and add_blueprint_variable_set_node by focusing on the variable declaration itself, not graph nodes. The supported variable_type list and example further clarify the tool's purpose.

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 a clear context for when to use this tool (adding a member variable to a Blueprint) and includes a knowledge base reference for deeper understanding. It doesn't explicitly state when NOT to use it or name alternative tools, but the context is clear enough for an agent to select it over the many node-adding siblings. The example invocation also serves as a usage pattern.

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

add_blueprint_variable_get_nodeA

Add a 'Get Variable' node for a Blueprint variable.

Args: blueprint_name: Asset name. variable_name: Name of the variable to get. graph_name: Graph to add node to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position. target_class: Optional owning class (e.g. 'BP_SithSoldier' or 'BP_SithSoldier_C') when reading a variable from a cast pawn instead of the AnimBP self.

Returns: Dict with 'node_id', 'node_name', 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_variable_get_node(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
target_classNo
node_positionNo
variable_nameYes
blueprint_nameYes

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 burden of behavioral disclosure. It mentions that the tool adds a node (implying mutation) and returns a dict with specific fields. It also explains target_class usage for cast pawn scenarios. However, it does not explicitly state prerequisites (e.g., blueprint must exist) or potential side effects beyond the addition, and it does not disclose any limitations.

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

Conciseness5/5

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

The description is well-structured with clear sections (Args, Returns, KB, Example). It is concise yet complete, front-loading the core purpose and then detailing parameters. The example provides a practical usage pattern. Every sentence adds value, and the format is easy to scan.

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 description covers all parameters, provides an example, and references a KB document. It mentions the return structure (node_id, node_name, pins). However, it does not explicitly state that the blueprint must already exist or that the graph will be modified, which are key for an agent deciding to use this tool. Given the tool's complexity and the presence of an output schema, it is mostly complete but missing a few contextual prerequisites.

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?

The description explains all five parameters in the Args section, including defaults and optionality. It adds meaning beyond the schema (e.g., graph_name default 'EventGraph', node_position optional, target_class usage for cast pawns). With 0% schema description coverage, the description fully compensates by clarifying each parameter's purpose and default behavior.

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

Purpose5/5

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

The description clearly states the action: 'Add a Get Variable node for a Blueprint variable.' It specifies the resource (Blueprint variable) and the operation (add node). The Args section further clarifies each parameter. While there are many sibling add_blueprint_* tools, this one is specifically for variable get nodes, and the description 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?

The description provides some usage context (e.g., target_class for cast pawn, default graph_name) but does not explicitly distinguish when to use this tool over similar siblings like add_get_variable_node or add_set_variable_node. It lacks explicit when-to-use or when-not-to-use guidance, leaving the agent to infer the right scenario.

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

add_blueprint_variable_set_nodeA

Add a 'Set Variable' node for a Blueprint variable.

Args: blueprint_name: Asset name. variable_name: Name of the variable to set. graph_name: Graph to add node to. Default 'EventGraph'. node_position: Optional [X, Y] canvas position. target_class: Optional owning class when setting an external member (same resolution as native bridge).

Returns: Dict with 'node_id', 'node_name', 'pins'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_variable_set_node(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
target_classNo
node_positionNo
variable_nameYes
blueprint_nameYes

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 burden. It clearly implies mutation ('Add') and discloses the return dict, but it does not warn about preconditions (e.g., whether the blueprint must be compiled/loaded), save-side effects, or potential failures if the variable doesn't exist. This is acceptable but not 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 docstring is well organized with Args, Returns, KB, and Example sections. Every section adds value—especially the example and KB pointer—and there is no redundant 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?

Covers all parameters, provides defaults, a usage example, and a knowledge base reference. It does not detail the exact structure of the returned dict beyond keys, but that is minimal for an agent operating in this domain. Overall, it adequately enables 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?

The schema has 0% description coverage, and the description compensates by explaining each parameter in the Args section, including defaults and optionality. While target_class's 'same resolution as native bridge' is cryptic, the rest clarify the schema meaning well.

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

Purpose5/5

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

States the specific operation ('Add a 'Set Variable' node') and the target resource ('for a Blueprint variable'). The verb and object are unambiguous, and the node type is clearly distinguished from sibling tools like add_blueprint_variable_get_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?

No explicit 'when to use' or when-not-to-use guidance. The example shows a call but does not contrast this with similar sibling tools like add_set_variable_node or add_blueprint_variable_get_node. The KB link is a reference but not usage guidance.

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

add_box_trace_by_channel_nodeA

Add a 'Box Trace By Channel' node - box-shaped sweep trace.

Ch.14: BoxTraceByChannel sweeps a box shape along the trace line.

Args: blueprint_name: Blueprint name half_size: [X, Y, Z] half extents of the box in cm trace_channel: "Visibility" or "Camera" draw_debug: Debug visualization type node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_box_trace_by_channel_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
half_sizeNo
draw_debugNoNone
node_positionNo
trace_channelNoVisibility
blueprint_nameYes

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 must carry the disclosure burden. It clearly states the tool 'Add[s]' a node and describes the trace behavior, which is good, but it does not mention side effects such as graph mutation/compilation needs, failure cases, or valid draw_debug values. Given the mutation and zero annotations, this is a partial disclosure.

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 organized and front-loaded with the node type, then follows with a short technical line, an arg list, a KB pointer, and a minimal example. Every section earns its place, though the arg list and example make it longer than the terse ideal.

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 5-parameter mutation tool with no annotations, the description covers the action, all parameters, and an example, and an output schema exists so return values can be assumed. However, it does not say which Blueprint graph receives the node or enumerate draw_debug options, leaving some ambiguity 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%, but the Args block documents all five parameters, including units for half_size, the allowed trace_channel values, and node_position optionality. The only weakness is draw_debug, which is merely called 'Debug visualization type' without enumerating valid 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 opening line names the exact action ('Add a ... node') and resource, and the phrase 'box-shaped sweep trace' pinpoints the geometry among sibling trace tools. It is immediately clear what the tool does and how it differs from line/sphere/capsule trace adders.

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 gives no explicit when-to-use guidance or comparison to alternatives such as add_line_trace_by_channel_node or add_sphere_trace_by_channel_node. The 'box-shaped' phrasing implies the shape choice, and the KB link could supply context, but the decision rule is left to the agent.

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

add_branch_nodeA

Add a Branch (if/else) node to a Blueprint.

The Branch node takes a boolean condition and routes execution to either the 'True' or 'False' output pin.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

Returns: Dict with 'node_id'; pins: 'Condition' input, 'True'/'False' outputs

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_branch_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 does disclose key behavior: the node takes a boolean condition and routes to True/False outputs, and returns a Dict with node_id and pins. It also notes node_position is optional. However, it does not mention that this modifies the blueprint asset (a mutation), any prerequisites like the blueprint being loaded or saved, or potential side effects. It provides some behavioral detail but leaves significant gaps.

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 well-structured and front-loaded: a clear summary sentence, then behavioral details, Args, Returns, a KB pointer, and an example. Every section adds value without redundancy. It is concise yet complete for the core information, making it easy to scan.

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

Completeness4/5

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

The tool has an output schema (not shown but present), and the description explains the return format (Dict with node_id and pins). It includes a KB reference and a concrete example. For a node-adding tool, this covers the essentials. Minor gaps include not stating whether the blueprint must be loaded or if the operation persists, but these are inferable. Overall, it is complete enough for an agent to call correctly.

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

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: the Args section defines blueprint_name as 'Blueprint name' and node_position as 'Optional [X, Y] graph position'. An example clarifies that blueprint_name is an asset path (e.g., '/Game/MCP_Test/BP_Example'). This adds meaning beyond the schema's bare titles and is sufficient for an agent to understand both parameters.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Add a Branch (if/else) node to a Blueprint.' It specifies the verb (Add), resource (Branch node), and target (Blueprint), and explains the node's behavior (routes execution to True/False based on a boolean condition). This is specific and distinguishes it from generic node-adders like add_blueprint_function_node or add_math_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?

No guidance is provided on when to use this tool versus alternatives. The sibling list includes add_blueprint_branch_node and other node-adders, but the description does not reference any alternative or mention when this specific tool is preferred. The only context is the KB reference, which does not address tool selection.

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

add_break_hit_result_nodeA

Add a 'Break Hit Result' node - decomposes Hit Result structure.

Ch.14: Hit Result contains:

  • Blocking Hit (bool): Whether trace hit something

  • Location (Vector): World location of the hit point

  • Impact Normal (Vector): Surface normal at hit point

  • Hit Actor (Actor ref): Reference to the actor that was hit

  • Hit Component (Component ref): Component that was hit

  • Bone Name (Name): Bone hit on a Skeletal Mesh

  • Distance (float): Distance from start to hit

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_break_hit_result_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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 behavioral disclosure burden. It does transparently describe the operation, the decomposed Hit Result fields, and the accepted arguments, but it does not disclose potential graph mutation side effects, failure modes, or whether compilation/saving is required. This is adequate but not rich.

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

Conciseness5/5

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

The description is well-structured and front-loaded: a clear purpose sentence, a compact field list, an arguments section, a knowledge-base pointer, and an example. Every section serves a purpose and there is no redundant 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 relatively simple node-adding tool with one required parameter, the description covers the operation, parameter semantics, node output fields, and provides an example. An output schema exists, so return values need not be described in prose; missing usage alternatives and edge cases are the main 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?

The schema provides no descriptions (0% coverage), so the description must compensate. It adds meaning by documenting blueprint_name as a Blueprint name and node_position as an optional [X, Y] graph position, plus a concrete example. It could clarify coordinate specifics or placement behavior, but the provided semantics are genuinely useful.

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

Purpose4/5

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

The description clearly states the action ('Add a Break Hit Result node') and the resource/purpose ('decomposes Hit Result structure'), so an agent understands what the tool does. It does not explicitly differentiate against sibling node-adding tools like add_break_struct_node, but the specific node type 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?

There is no explicit guidance on when to use this tool versus alternatives, no when-not-to-use conditions, and no prerequisites. The phrase 'decomposes Hit Result structure' and the Ch.14 context only imply a general use case; no exclusions or alternative tools are mentioned.

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

add_break_struct_nodeA

Add a Break [StructType] node to extract individual member values.

From Ch. 13: Break Struct takes a struct as input and exposes all member variables as output pins. Used to read individual fields.

Also see Split Struct Pin (right-click a struct pin in the graph).

Args: blueprint_name: Blueprint to add the node to struct_type: Struct type name (e.g., "FVector", "FEnemyData", "FHitResult") node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_break_struct_node(blueprint_name="/Game/MCP_Test/BP_Example", struct_type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
struct_typeYes
node_positionNo
blueprint_nameYes

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 must carry the full burden of behavioral disclosure. It states the tool 'Adds' a node and explains the node's internal behavior (exposing member variables), but does not disclose side effects like whether the blueprint is modified, whether compilation is triggered, or prerequisites such as the struct type existing. The example uses an undefined 'Example' struct, which could mislead. This is adequate but not thorough 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 well-structured with a clear opening sentence, an explanatory paragraph, a bulleted Args list, a KB reference, and an example. It is moderately concise, though the Ch. 13 quote and Split Struct Pin note add some length. The essential information is front-loaded and easy to scan.

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

Completeness3/5

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

The description covers the tool's purpose, parameters, and provides an example, but lacks critical contextual details such as prerequisites (e.g., struct must exist in the project), potential failure modes, and what the tool returns (though an output schema exists). Given the simplicity of the tool and the presence of an output schema, the description is adequate but leaves some gaps that could affect correct usage.

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 compensates by explaining all three parameters: blueprint_name (target blueprint), struct_type (with examples like FVector, FHitResult), and node_position ([X, Y] graph position). It clarifies meaning beyond the schema, though it does not explicitly state that node_position is optional or describe coordinate conventions. Overall it provides substantial semantic 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 first sentence clearly states the verb 'Add' and the resource 'Break [StructType] node' with its purpose of extracting member values. It further explains the node's behavior (takes a struct, exposes all members as output pins) and gives a concrete example, making it unambiguous and distinct from sibling tools like add_make_struct_node (which constructs structs) or add_break_hit_result_node (specific to HitResult).

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 notes an alternative method (Split Struct Pin) but does not explicitly contrast with sibling tools such as add_make_struct_node or add_break_hit_result_node. It implies usage when reading individual fields but lacks clear when-not-to-use guidance or explicit selection criteria among the many add_* node tools.

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

add_bt_blackboard_decoratorA

Add a Blackboard Decorator to a Behavior Tree sequence/task node.

Ch.10: Decorators are conditions that control whether a BT branch can execute. A Blackboard Decorator checks a key's value to allow or abort execution.

Args: behavior_tree_name: Behavior Tree asset name sequence_name: Name of the Sequence/Task node to decorate blackboard_key: Blackboard key to monitor (e.g., "HasHeardSound", "bCanSeePlayer") observer_aborts: "None", "Self", "LowerPriority", "Both" node_name: Display name for the decorator node

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_bt_blackboard_decorator(behavior_tree_name="ExampleName", sequence_name="ExampleName", blackboard_key="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameNo
sequence_nameYes
blackboard_keyYes
observer_abortsNoLowerPriority
behavior_tree_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?

With no annotations, the description carries the transparency burden. It does disclose the core runtime behavior ('checks a key's value to allow or abort execution') and that it adds a decorator node. However, it omits prerequisites such as existing behavior tree/blackboard assets, whether the asset is saved/modified, and 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.

Conciseness3/5

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

The summary is front-loaded and the Args/KB/example layout is scannable. The example is poorly constructed, using 'ExampleName' for blackboard_key and duplicating it for sequence_name, which could mislead an agent. It is not bloated, but the weak example and minor 'Ch.10' reference keep it from a higher score.

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

Completeness3/5

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

The description covers what the tool does, all parameters, a KB reference, and a call example. It omits practical setup context: whether the behavior tree and blackboard must already exist, whether the blackboard key must be defined, and how adding this decorator interacts with existing decorators. The presence of an output schema reduces the need to explain return values, but prerequisite and side-effect information is still 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?

Schema description coverage is 0%, but the Args section compensates by defining all five parameters. It provides concrete example values for blackboard_key and allowed values for observer_aborts. It doesn't explain the semantics of each observer_aborts option, but the parameter coverage is 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?

States a specific verb ('Add'), resource ('Blackboard Decorator'), and target ('Behavior Tree sequence/task node'). The description further clarifies what a Blackboard Decorator does by explaining it checks a key's value. It doesn't explicitly contrast with sibling tools like create_bt_decorator or add_bt_node, so it doesn't earn 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 conceptual statement 'Decorators are conditions that control whether a BT branch can execute' gives clear context for when this tool is relevant. It does not name alternative tools or provide explicit when-not-to-use guidance, but the Blackboard-specific explanation makes the intended scenario evident.

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

add_bt_nodeA

Add a single node to an existing Behavior Tree graph.

Use this for incremental edits — add one node at a time after the initial tree is built with build_behavior_tree.

Node type strings (case-insensitive): "Selector", "Sequence", "Wait", "MoveTo" or a full Blueprint class name/path for custom tasks.

Args: behavior_tree_name: Name of the existing BT asset node_type: Node type string (see above) parent_node_index: 0-based index in the graph Nodes array (skip root). -1 = attach directly to root. x: Graph X position (0 = auto) y: Graph Y position (0 = auto) properties: Dict of property name → string value for the node instance e.g. {"WaitTime": "3.0", "AcceptableRadius": "100.0"} decorators: List of {"type": "..."} objects for decorator sub-nodes services: List of {"type": "..."} objects for service sub-nodes

Returns: Dict with 'success', 'node_type', 'node_index'

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_bt_node(behavior_tree_name="ExampleName", node_type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
servicesNo
node_typeYes
decoratorsNo
propertiesNo
parent_node_indexNo
behavior_tree_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 it does well by explaining parent_node_index semantics, -1 as root attachment, auto-placement when x/y are 0, and the return dict. It implies mutating behavior by saying 'add' but does not fully disclose edge cases such as invalid node types or failure 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 structured into succinct sections: usage intent, valid node types, Args, Returns, KB pointer, and example. It is moderately long but every section adds actionable information, and the most important guidance is front-loaded.

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 complexity of 8 parameters, nested objects, and a behavior-tree-specific operation, the description covers the required parameters, optional parameters, return format, and points to knowledge_base/04_AI_SYSTEMS.md#overview for further context. Nothing critical is missing for selecting and invoking the 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 is the only source of parameter meaning. It explains all 8 parameters beyond their schema types: accepted node_type strings, parent_node_index indexing, x/y auto values, properties as string-valued dict, and decorators/services as list objects. This fully compensates for the missing schema descriptions.

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 starts with a specific verb and resource: 'Add a single node to an existing Behavior Tree graph.' It clearly distinguishes itself from build_behavior_tree by framing it as the incremental follow-up tool, and the node_type list ('Selector', 'Sequence', 'Wait', 'MoveTo', or Blueprint class path) narrows the operation precisely.

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?

'Use this for incremental edits — add one node at a time after the initial tree is built with build_behavior_tree' explicitly names the alternative tool and the condition for using this one. This gives the agent a clear routing rule without needing to compare schemas.

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

add_button_to_widgetA

Add a Button to a Widget Blueprint.

Args: widget_name: Widget Blueprint name button_name: Component name for the button text: Button label position: [X, Y] canvas position size: [Width, Height] font_size: Font size color: [R,G,B,A] text color background_color: [R,G,B,A] button background color

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_button_to_widget(widget_name="/Game/MCP_Test/WBP_Example", button_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
textNo
colorNo
positionNo
font_sizeNo
button_nameYes
widget_nameYes
background_colorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 conveys that the tool adds a button to a widget blueprint, but it does not disclose whether existing components are affected, whether the blueprint must be saved or compiled afterward, or what failure modes exist. The KB reference is not sufficient to make the behavior explicit.

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

Conciseness5/5

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

The description is compact and front-loaded: a clear purpose sentence, a tight Args list, one KB pointer, and one realistic example. Every section earns its place without redundant prose.

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?

All eight parameters are semantically documented, the example clarifies the required widget_name form, and an output schema exists so return-value details are unnecessary. The main gap is the lack of explicit preconditions and behavioral effects, but the description is otherwise sufficient for invoking the tool correctly.

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?

The schema provides only titles and array types, so the description is the only source of semantic meaning. It explains position as [X, Y] canvas coordinates, size as [Width, Height], color as [R,G,B,A] text color, and background_color as button background color. The example also demonstrates the expected asset-path format.

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 first sentence states a concrete verb ('Add'), a specific resource ('Button'), and the target container ('Widget Blueprint'). The Args list further clarifies widget_name as the blueprint and button_name as the component, making it unambiguous among the many add_*_to_widget sibling 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 guidance on when to use this tool instead of add_text_block_to_widget, add_image_to_widget, or other sibling widget-construction tools. No preconditions, alternatives, or exclusions are stated; the KB link is a pointer but not an explicit usage rule.

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

add_call_interface_function_nodeB

Add a node to call a Blueprint Interface function on a target object.

From Ch. 16: The VRPawn calls TriggerPressed on whatever Grabbable Actor the controller is holding - if the Actor implements VRInteractionBPI, the function executes; if not, nothing happens (safe call, no crash).

This is the key advantage of interfaces over direct casting: you can call functions on unknown object types safely.

Args: blueprint_name: Blueprint making the call interface_name: Interface containing the function function_name: Interface function name to call target_variable: Variable or node providing the target Actor reference node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_call_interface_function_node(blueprint_name="/Game/MCP_Test/BP_Example", interface_name="ExampleName", function_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
function_nameYes
node_positionNo
blueprint_nameYes
interface_nameYes
target_variableNo

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 burden. It does disclose the key runtime behavior: if the target doesn't implement the interface, 'nothing happens (safe call, no crash).' However, it omits that this is a graph-mutating operation, that the blueprint/interface must already exist, and what happens on failure (invalid interface name, unimplemented interface).

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

Conciseness3/5

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

The structure is well-organized with Args, KB, and Example sections, and the core purpose is front-loaded. However, the 'From Ch. 16' narrative about VRPawn and TriggerPressed spans three sentences of background that could be condensed into one, adding bulk beyond what's needed for tool selection and invocation.

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 moderate-complexity node-adding tool with no annotations and 0% schema coverage, the description covers parameters, provides a concrete example, and references knowledge base documentation. It is incomplete on prerequisites (interface already created, blueprint loaded), failure behavior, and explicit differentiation from the near-identical sibling bp_add_call_interface_function. The output schema presumably covers return values.

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 description compensates well by documenting all 5 args with meaning beyond the schema titles: blueprint_name is 'Blueprint making the call', target_variable is 'Variable or node providing the target Actor reference', and node_position is specified as '[X, Y] graph position'. The example also demonstrates the expected /Game/... path format. Slight ambiguity remains around target_variable's default-empty semantics.

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 first sentence states a specific verb+resource: 'Add a node to call a Blueprint Interface function on a target object.' This clearly conveys what the tool does. It doesn't explicitly differentiate from the near-identically named sibling bp_add_call_interface_function, and the conceptual focus on interfaces-vs-casting only indirectly separates it from add_cast_node and add_blueprint_function_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 description explains the conceptual advantage of interfaces ('you can call functions on unknown object types safely' vs 'direct casting'), which implies when this tool is appropriate. However, it never names alternatives or states explicit when-to-use/when-not-to-use conditions, leaving the agent to infer selection criteria from the interface-vs-casting discussion.

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

add_canvas_panel_to_widgetB

Add a Canvas Panel to a Widget Blueprint (free-placement layout).

From Ch. 7: Canvas Panel allows absolute positioning of child widgets (drag and drop anywhere). It's the default root panel for most UMG widgets.

Args: widget_name: Widget Blueprint name panel_name: Component name for the Canvas Panel

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_canvas_panel_to_widget(widget_name="/Game/MCP_Test/WBP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
panel_nameNoCanvasPanel
widget_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 provides useful domain context about Canvas Panels but does not describe the tool's actual side effects, whether an existing root panel is replaced, idempotence, failure modes, or what changes occur to the target widget blueprint beyond 'Add'.

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

Conciseness4/5

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

The description is well-structured: a one-line purpose, brief conceptual context, Args list, KB reference, and example. It is concise and front-loaded, with no significant padding, though the 'From Ch. 7' framing is slightly extraneous.

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 the example provides a usable call pattern. However, the tool has no annotations and the description omits preconditions (e.g., widget blueprint must exist), whether the panel is created as a root component, and what happens if a panel already exists. It is minimally sufficient but not complete.

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 does provide an Args block explaining widget_name as 'Widget Blueprint name' and panel_name as 'Component name for the Canvas Panel', plus an example path. This is helpful but still minimal, lacking path format details, constraints, or how the two parameters interact.

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 opens with a specific verb and resource: 'Add a Canvas Panel to a Widget Blueprint'. It further clarifies intent with '(free-placement layout)', which differentiates it from sibling tools like add_horizontal_box_to_widget or add_text_block_to_widget.

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 when to use it by explaining that Canvas Panel allows absolute positioning and is the default root panel for most UMG widgets. However, it does not explicitly name alternatives or state when not to use this tool versus other layout panels.

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

add_capsule_trace_by_channel_nodeA

Add a 'Capsule Trace By Channel' node - capsule-shaped sweep trace.

Ch.14: CapsuleTrace is more expensive than LineTrace but covers a capsule volume, useful for character-sized sweeps (characters use capsules for collision).

Args: blueprint_name: Blueprint name radius: Capsule radius half_height: Half-height of the capsule trace_channel: "Visibility" or "Camera" draw_debug: Debug visualization type node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_capsule_trace_by_channel_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusNo
draw_debugNoNone
half_heightNo
node_positionNo
trace_channelNoVisibility
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 clearly states the tool adds a node and mentions the performance cost of capsule traces. However, it does not disclose side effects such as whether the blueprint is modified/persisted, whether the graph needs compilation, or whether other nodes are reconnected.

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 well organized: purpose, rationale, args, KB reference, and example. It is front-loaded with the core function, and every section contributes actionable information without unnecessary verbosity.

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 node-addition tool this is largely complete: it names all required concepts, provides defaults via schema, gives an example, and links to knowledge base context. The main gap is the absence of explicit values for draw_debug, and it does not mention prerequisites like an existing blueprint graph.

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 adds useful semantics for trace_channel ('Visibility' or 'Camera') and node_position ('Optional [X, Y] graph position'), and the example illustrates blueprint_name format. However, draw_debug remains vague as 'Debug visualization type', with no valid values explained.

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 clear action and resource: 'Add a Capsule Trace By Channel node'. It further distinguishes itself from LineTrace by explaining the capsule volume and character-sized sweep use case, making the tool's purpose specific rather than a tautology.

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

Usage Guidelines4/5

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

The description gives concrete usage context: capsule trace is 'more expensive than LineTrace' but covers a volume, and is 'useful for character-sized sweeps'. This implies when to prefer it over LineTrace, though it does not explicitly address alternatives like SphereTrace or BoxTrace.

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

add_cast_nodeA

Add a Cast To [ClassName] node.

Casting is used to convert a generic object/actor reference to a specific type, allowing access to that Blueprint's unique variables and functions.

Args: blueprint_name: Blueprint name target_class: Class to cast to (e.g., "BP_MyCharacter", "ACharacter") node_position: Optional [X, Y] graph position

Returns: Dict with 'node_id'; pins: 'Object' input, 'then'/'Cast Failed' outputs, 'As [ClassName]' output for the cast result

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: add_cast_node(blueprint_name="/Game/MCP_Test/BP_Example", target_class="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
target_classYes
node_positionNo
blueprint_nameYes

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 provided, the description carries the behavioral burden. It discloses that this adds a node, returns a dict with node_id, and details the expected pins ('Object' input, 'then'/'Cast Failed' outputs, 'As [ClassName]' output). It does not discuss failure behavior or prerequisites like blueprint existence, but the core behavioral disclosure is solid.

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 well-structured with a front-loaded purpose, Args, Returns, KB reference, and example. Each section earns its place and the content is compact given the information it conveys.

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

Completeness5/5

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

For a simple 3-parameter node-creation tool, this description covers action, rationale, all arguments, return shape, and a usage example. The output schema also exists to further specify return values, and the KB reference adds useful context. Minor missing preconditions are not critical here.

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, but the description compensates by documenting all three parameters: blueprint_name, target_class with concrete examples, and optional node_position with format guidance. The example further clarifies the expected asset-path format.

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

Purpose4/5

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

The description clearly states the action: 'Add a Cast To [ClassName] node', and explains the purpose of casting, so an agent knows exactly what the tool does. It doesn't explicitly differentiate from the sibling 'add_blueprint_cast_node', but the conceptual explanation reduces ambiguity.

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 explains when casting is appropriate: to convert a generic object/actor reference to a specific type so you can access that Blueprint's unique variables and functions. It gives solid usage context but does not name explicit alternatives or exclusion criteria.

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

add_checkbox_to_widgetA

Add a Checkbox widget for boolean toggles in menus.

Args: widget_name: Widget Blueprint name checkbox_name: Component name label_text: Optional label text next to the checkbox position: [X, Y] position is_checked: Initial checked state

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_checkbox_to_widget(widget_name="/Game/MCP_Test/WBP_Example", checkbox_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNo
is_checkedNo
label_textNo
widget_nameYes
checkbox_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 the action but does not reveal side effects such as whether the widget blueprint is modified, saved, or compiled, whether the operation can fail, or what happens to existing widget content. For a mutation tool, this is a significant transparency gap.

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

Conciseness5/5

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

The description is compact and well-structured: a one-sentence purpose, an Args block that adds semantic value, a KB reference, and a minimal example. There is no filler or redundant repetition of schema 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?

All parameter semantics are covered, an example call is provided, a KB link gives deeper context, and an output schema exists. The main gap is the lack of behavioral/side-effect disclosure and explicit sibling differentiation, but these are partially mitigated by the example and schema presence.

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%, but the Args block fully compensates by explaining every parameter in plain language, including widget_name, checkbox_name, label_text, position, and is_checked. This goes beyond the schema, which only provides names, types, and defaults.

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 opens with 'Add a Checkbox widget for boolean toggles in menus,' which names a specific verb, a concrete resource, and an explicit purpose. This makes it clearly distinguishable from sibling widget-adders like add_button_to_widget or add_text_block_to_widget without needing to compare schemas.

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 'for boolean toggles in menus' implies when the tool is appropriate, and the example demonstrates a realistic call. However, there is no explicit guidance about when not to use it or how it compares to sibling add_*_to_widget tools, leaving selection partly to inference.

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

add_clamp_nodeA

Add a 'Clamp' node to constrain a value within a range.

Used throughout the book (Ch.6, 8): Clamps health, stamina, ammo values between min and max so they never exceed valid ranges.

Args: blueprint_name: Blueprint name operand_type: "Float" or "Integer" min_value: Minimum allowed value max_value: Maximum allowed value node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_clamp_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
max_valueNo
min_valueNo
operand_typeNoFloat
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description makes the mutation explicit ('Add a Clamp node') and discloses the optional graph-position placement. It doesn't mention non-behaviors like auto-connecting or compiling, but nothing hidden or surprising remains for a node-creation 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 compact and each section earns its place: purpose, usage context, parameter meanings, KB pointer, and a concrete example. It is front-loaded and scannable.

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 agent has everything needed to call it correctly: all parameter semantics, a required path format example, and a KB reference. An output schema exists, so return-value details don't need to be in the description.

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?

Every parameter gets a plain-language explanation in the Args block, including the allowed operand_type values and the optional [X,Y] node_position. Since schema descriptions are absent, this fully compensates and adds real meaning.

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 names the exact node ('Clamp'), the action (add/constrain), and the domain (value range clamping). This separates it from sibling add_* node tools even before 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 gives concrete use context (clamp health/stamina/ammo between min and max) and a chapter reference, which tells an agent when this tool is relevant. It doesn't name alternatives or exclusion conditions, so it stops short of a 5.

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

add_clear_blackboard_value_nodeA

Add a 'Clear Blackboard Value' node (BTTask_ClearBBValue).

Ch.10: Used to reset blackboard keys like HasHeardSound after investigation is complete. Resets the value to its default (false/null/zero).

Args: blueprint_name: Blueprint or BT Task name key_name: Blackboard key to clear node_position: Optional [X, Y] graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_clear_blackboard_value_node(blueprint_name="/Game/MCP_Test/BP_Example", key_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
key_nameYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 burden. It discloses that the node resets values to their default (false/null/zero), which is a key behavioral trait. However, it doesn't mention potential side effects like clearing a key that doesn't exist or requiring a specific blackboard setup. Still, the core behavior is clear.

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

Conciseness4/5

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

The description is concise, using a short paragraph and bullet-like args. It front-loads the tool's purpose and provides an example. Minor redundancy with the KB reference, but overall no 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?

Given the tool is a simple node addition with 3 parameters and an output schema, the description covers the essentials: what it does, parameters, and an example. It lacks details on edge cases or failure modes, but for its simplicity, it is sufficient.

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 lists each parameter with its role: blueprint_name, key_name, and node_position (optional). It explains key_name as the blackboard key to clear and node_position as optional graph position. This adds enough meaning beyond the bare schema names, justifying a score above baseline.

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

Purpose5/5

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

The description clearly states the tool adds a 'Clear Blackboard Value' node and explains its purpose: reset blackboard keys like HasHeardSound after investigation. It distinguishes from siblings by naming the specific BT task class and the action of clearing a value, which is unique among the many 'add_*' 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?

It provides context by referencing Ch.10 and a knowledge base section for when this node is used (after investigation is complete), though it doesn't explicitly exclude alternatives or state when not to use it. The KB reference helps, but explicit when-not guidance would improve it.

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

add_clear_timer_nodeA

Add a 'Clear Timer By Handle' or 'Clear and Invalidate Timer By Handle' node.

Used to stop a running timer (e.g., stop stamina drain when sprinting ends).

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_clear_timer_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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?

Since no annotations are provided, the description must carry the full burden. It explains the purpose and that it adds a node, but it does not disclose prerequisites (e.g., blueprint must exist), side effects on the graph, or what the tool returns. The use of 'Clear vs Clear and Invalidate' is also ambiguous without further detail.

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 well-structured and efficient. It leads with the core action, provides a usage example, lists arguments clearly, and includes a knowledge base reference. There is no redundancy, and each sentence 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?

The description gives a usage example and a KB reference but lacks important context such as prerequisites, what the output schema contains, how the node integrates with existing timer handles, and whether the blueprint is automatically compiled or saved. Given the tool's simplicity and the presence of sibling timer tools, this is adequate but not complete.

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 lists the two parameters with simple one-line explanations: blueprint_name (Blueprint name) and node_position (Optional [X, Y] graph position). This adds basic meaning beyond the schema, but it does not explain constraints, formats, or how the 'Clear' vs 'Clear and Invalidate' variant is selected, leaving some semantics uncovered.

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

Purpose5/5

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

The description clearly states the action ('Add a Clear Timer By Handle or Clear and Invalidate Timer By Handle node') and the resource (a blueprint node). It also gives a concrete usage example and distinguishes itself from timer-setting siblings like add_set_timer_by_function_name_node by focusing on clearing timers.

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 explicitly indicates when to use the tool ('Used to stop a running timer, e.g., stop stamina drain when sprinting ends') and provides an example. However, it does not name alternative tools or explicitly state when not to use it, though the context is clear enough.

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

add_comment_boxB

Add a comment box to a Blueprint graph (for documentation).

Args: blueprint_name: Blueprint name comment_text: Comment text position: [X, Y] graph position size: [Width, Height] of the comment box color: [R, G, B, A] box color

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_comment_box(blueprint_name="/Game/MCP_Test/BP_Example", comment_text="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
colorNo
positionNo
comment_textYes
blueprint_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?

Annotations are absent, so the description carries full responsibility for explaining side effects. It states that a comment box is added to a graph, but it does not disclose whether the blueprint must already exist, whether the graph is modified destructively, whether compilation is needed, or what happens on repeated calls. For a mutating 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.

Conciseness5/5

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

The description is concise and front-loaded with the core purpose, followed by a compact parameter list, a KB pointer, and a concrete example. Every section earns its place, and the structure makes 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.

Completeness3/5

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

For a five-parameter tool with no annotations, the description covers purpose, parameter formats, and includes an example, which is good. However, it lacks use-case routing relative to the many sibling node-creation tools, and it does not mention behavioral expectations such as whether the blueprint graph must be loaded or saved afterward. With an output schema present, return-value details are not necessary, but the missing context around mutation makes this only minimally viable.

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 by listing all five parameters and clarifying formats: position as [X, Y], size as [Width, Height], and color as [R, G, B, A]. Some entries like 'blueprint_name: Blueprint name' add little beyond the parameter name itself, but the overall parameter documentation is genuinely useful.

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 that the tool adds a comment box to a Blueprint graph for documentation, giving a specific verb and resource. However, it does not differentiate itself from closely related siblings like add_blueprint_comment_node or create_comment_box, so an agent could struggle to pick among them based on this 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 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, nor any exclusions or prerequisites. The only hint is 'for documentation,' which implies a use case but does not explicitly frame when this tool is preferred over the sibling comment-node creation tools.

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

add_component_overlap_eventA

Add a K2Node_ComponentBoundEvent for a specific SCS component.

This is the programmatic equivalent of clicking the [+] button next to an event in the component's Details panel. Unlike add_overlap_event (actor-level), this node is scoped per-component GUID, so multiple components in the same Blueprint each get their own dedicated event node.

If the event node already exists for this component it is returned unchanged (already_existed=True).

Use get_scs_nodes first to confirm component_name and check that supports_overlap_events is True.

Args: blueprint_name: Blueprint asset name (e.g. "BP_NPC") component_name: SCS component variable name (e.g. "InteractionSphere") event_name: Delegate event name. Default "OnComponentBeginOverlap". Also: "OnComponentEndOverlap", "OnComponentHit". graph_name: Graph to add to. Default "EventGraph". node_position: Optional [X, Y] canvas position.

Returns: Dict with node_id, node_name, component_name, event_name, component_guid, already_existed, and pins list.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_component_overlap_event(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameNoOnComponentBeginOverlap
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes
component_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/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, and it delivers: it states the idempotency behavior (if node exists it is returned unchanged with already_existed=True), documents the return dict structure, and lists valid event_name options with defaults. There are no contradictions with annotations since none 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?

The description is longer than average but well-organized with a front-loaded first paragraph stating the core purpose, followed by clear Args and Returns sections, a KB reference, and a concrete example. Every section earns its place; it is verbose only because it carries the full burden with no annotations and 0% schema coverage.

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

Completeness5/5

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

For a 5-parameter tool with no annotations and an empty schema, the description is remarkably complete: it covers idempotency, return format, valid parameter values, prerequisites (get_scs_nodes check), a KB pointer, and a worked example. Nothing an agent needs to invoke it correctly is missing.

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, and it does. Every parameter is explained: blueprint_name (with example), component_name, event_name (with all valid values and the default), graph_name (with default), and node_position (with format). This is a complete semantic explanation of all five arguments.

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 names a specific verb (Add) and resource (K2Node_ComponentBoundEvent for a specific SCS component), and explicitly contrasts itself with the sibling add_overlap_event by noting the actor-level vs per-component-GUID distinction. An agent can immediately tell what this tool does and how it differs from its closest sibling without opening any schemas.

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

Usage Guidelines5/5

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

The description explicitly says when to use this tool (per-component scoping) and when not to (vs add_overlap_event for actor-level events). It also gives a concrete prerequisite workflow: 'Use get_scs_nodes first to confirm component_name and check that supports_overlap_events is True.' This is exactly the kind of routing and precondition 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.

add_component_to_blueprintB

Add a component to an existing Blueprint.

Args: blueprint_name: Name of the Blueprint component_type: Component class (StaticMeshComponent, CameraComponent, SpringArmComponent, BoxComponent, AudioComponent, PointLightComponent, CharacterMovementComponent, etc.) component_name: Name for the new component location: Relative [X,Y,Z] location rotation: Relative [Pitch,Yaw,Roll] rotation scale: Relative [X,Y,Z] scale component_properties: Additional properties dict

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_component_to_blueprint(blueprint_name="/Game/MCP_Test/BP_Example", component_type="Actor", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
locationNo
rotationNo
blueprint_nameYes
component_nameYes
component_typeYes
component_propertiesNo

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?

With zero annotations, the description must carry the behavioral burden, and it only partially does: it discloses that transforms are Relative and lists valid component classes. It omits operational consequences — whether the blueprint must be loaded, whether the change persists or needs save_blueprint/compile_blueprint afterward, and failure behavior. The example is actively misleading: component_type='Actor' contradicts the listed component classes (StaticMeshComponent, CameraComponent, etc.), undermining an agent's trust in valid values.

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 purpose is front-loaded, followed by a clean Args block, KB pointer, and example. The Args section partially duplicates the schema but earns its place by adding semantics the schema lacks. The misleading example and slightly redundant param re-listing keep it from a 5.

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

Completeness2/5

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

For a 7-parameter mutation tool with no annotations and 0% schema coverage, the description is thin: it does not clarify preconditions (loaded/saved blueprint), post-conditions (persistence, compilation), the meaning of component_properties, or how this differs from add_component_to_blueprint_actor. The output schema covers return format, so that omission is acceptable, but operational context is not adequately supplied.

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 for most params: component_type gains a list of valid classes, and location/rotation/scale gain 'Relative' plus coordinate-order semantics ([X,Y,Z], [Pitch,Yaw,Roll]) that the bare schema titles lack. component_properties remains vague as just 'Additional properties dict', which is the main 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?

The opening line 'Add a component to an existing Blueprint' states a specific verb and resource, and 'existing' correctly signals this mutates an existing asset rather than creating one. However, it does not differentiate from the near-twin sibling add_component_to_blueprint_actor, which could plausibly satisfy the same intent, 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 Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative routing is given. The KB pointer and example show how to invoke the tool but not when it is the right choice over siblings such as add_component_to_blueprint_actor, bp_copy_component, or set_component_property.

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

add_component_to_blueprint_actorA

Add a custom Blueprint Component to an existing Blueprint Actor.

From Ch. 18: Adding BP_ExpLevelComp or BP_CircularMovComp to ThirdPersonCharacter. The component's events and functions become available in the Actor's Blueprint graph.

Args: blueprint_name: Target Actor Blueprint to modify component_blueprint_name: Component Blueprint to add attach_to_component: Parent component name to attach to (empty = root) component_location: Relative location for the component

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: add_component_to_blueprint_actor(blueprint_name="/Game/MCP_Test/BP_Example", component_blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
component_locationNo
attach_to_componentNo
component_blueprint_nameYes

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 provided, the description carries the full burden. It states the operation and a concrete outcome: 'The component's events and functions become available in the Actor's Blueprint graph.' However, it does not disclose side effects such as whether the blueprint is saved/compiled, whether existing components get overwritten, or permission/precondition requirements. This is adequate but not rich.

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

Conciseness4/5

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

The description is well-structured: a one-sentence summary, a contextual chapter reference, an Args list, a KB pointer, and a concrete example. It is somewhat longer than necessary (the chapter reference is extra), but every section adds useful information, and the main action is front-loaded. The example is slightly odd because both arguments point to the same asset, but the structure itself is 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?

Given that there is an output schema and all parameters are documented, the description is largely complete. It includes an example with asset paths and a KB reference for deeper context. It could be improved by noting preconditions (e.g., the actor blueprint must already exist) or clarifying the coordinate format for component_location, but these are minor gaps given the provided detail.

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 thoroughly. It provides an Args block explaining all four parameters: 'blueprint_name: Target Actor Blueprint to modify', 'component_blueprint_name: Component Blueprint to add', 'attach_to_component: Parent component name to attach to (empty = root)', and 'component_location: Relative location for the component'. This gives clear semantic meaning beyond the bare schema titles.

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 opens with a specific verb and resource: 'Add a custom Blueprint Component to an existing Blueprint Actor.' This clearly distinguishes it from the sibling 'add_component_to_blueprint' by explicitly targeting an Actor Blueprint, not just any blueprint. The reference to Ch. 18 and the naming of example components (BP_ExpLevelComp, BP_CircularMovComp) further grounds the purpose.

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

Usage Guidelines4/5

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

The description gives clear context: this tool is for adding a component blueprint to an existing actor blueprint, with an example from a known chapter. It does not explicitly name alternatives or state when NOT to use it (e.g., when a non-actor blueprint is the target), so it falls short of a 5 but provides enough situational framing to guide an agent.

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

add_construction_script_for_loopA

Add a For Loop node in a Blueprint's Construction Script.

From Ch. 19: Used in BP_ProceduralMeshes Construction Script to iterate over rows and instances. Nested For Loops create 2D grids of instances.

The Construction Script runs in the Editor when an instance is placed or its properties are changed, making it perfect for procedural generation.

Args: blueprint_name: Blueprint to add the node to first_index: Starting index (usually 1 for 1-based counting) last_index_variable: Variable providing the max loop count nested: Whether this is a nested (inner) loop node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_construction_script_for_loop(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
nestedNo
first_indexNo
node_positionNo
blueprint_nameYes
last_index_variableNoNumberOfRows

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 burden of behavioral disclosure. It adds useful background about Construction Script executing in the Editor, but it does not disclose tool-side side effects such as whether the node is auto-connected, whether the Construction Script graph is created if missing, whether the blueprint is compiled/saved, or what the operation returns. This is a meaningful gap for a graph-mutating 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 action sentence is front-loaded, followed by relevant context, an organized Args list, a KB pointer, and a minimal example. There is little wasted text, though the 'From Ch. 19' reference is cryptic without surrounding documentation, and the description is slightly longer than strictly necessary for a simple node-add operation.

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 graph-mutation tool with 5 parameters, no annotations, and many sibling blueprint/loop tools, the description covers purpose, parameters, context, and an example. It is missing routing guidance against similar tools, prerequisites about the Construction Script graph, and the expected mutation/compile workflow. It is usable for the happy path but not fully 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 Args section is the only semantic source. It explains all five parameters in plain language, clarifies that first_index is usually 1-based, that last_index_variable is a variable providing the max loop count, and that node_position is an [X, Y] coordinate. This compensates well for the empty schema, though the explanations could go deeper on formatting and constraints.

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 opens with 'Add a For Loop node in a Blueprint's Construction Script,' giving a specific verb, resource, and node type. This clearly distinguishes it from generic loop-node siblings like add_blueprint_for_loop_node and add_for_each_loop_node by anchoring it to the Construction Script context. The BP_ProceduralMeshes example further reinforces exactly what kind of loop this tool creates.

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: it is used in a Construction Script to iterate over rows and instances, and nested loops create 2D grids. It also explains why Construction Script is well-suited for procedural generation. However, it does not explicitly state when not to use it or name alternative loop/blueprint tools, so it stops short of a 5.

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

add_construction_script_nodeA

Add a Construction Script event node to a Blueprint.

Ch.3: The Construction Script runs both in-editor and at runtime before BeginPlay. Used for procedural setup based on exposed variables, like setting mesh, materials, or modifying component transforms.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_construction_script_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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?

Annotations are absent, so the description carries full behavioral burden. It discloses that the Construction Script runs in-editor and at runtime before BeginPlay, which is about the node's lifecycle, not the tool's own side effects. It does not mention prerequisites (e.g., blueprint must exist), whether the operation is reversible, or any failure modes. This is adequate but not complete.

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 well-structured with a clear action line, a brief contextual paragraph, an Args section, a KB reference, and an example. Every section serves a purpose and there is no waste. It is front-loaded with the action and remains concise.

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 two-parameter tool with an output schema, the description covers purpose, parameter semantics, and provides an example. It references a KB for additional depth. Minor gaps: it doesn't explicitly state that the blueprint must exist or that the node is added to the Construction Script graph (though implied), so it's slightly 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 explicitly documents both parameters: 'blueprint_name: Blueprint name' and 'node_position: Optional [X, Y] graph position'. This adds meaning beyond the raw schema types, though it could specify more detail (e.g., exact path format), so a 4 is appropriate.

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

Purpose5/5

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

The description clearly states 'Add a Construction Script event node to a Blueprint' – a specific verb, resource, and target. It distinguishes itself from the many add_*_node siblings by naming the exact event node type. The context about what Construction Script is used for reinforces the purpose.

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 explains when to use it ('Used for procedural setup based on exposed variables') and provides a KB reference for deeper context. However, it does not explicitly mention when not to use it or point to alternatives like add_construction_script_for_loop, so it lacks the 'when-not' clause that would earn a 5.

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

add_construct_object_nodeB

Add a 'Construct Object from Class' node.

Used to create UObject instances at runtime (non-Actor objects).

Args: blueprint_name: Blueprint name object_class: Class to construct node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_construct_object_node(blueprint_name="/Game/MCP_Test/BP_Example", object_class="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
object_classYes
node_positionNo
blueprint_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?

There are no annotations, so the description carries the full burden of explaining side effects. It fails to disclose that adding a node modifies a Blueprint graph, may mutate the asset, or likely requires compilation/saving. It explains the node's runtime purpose, but not the tool's own behavioral consequences.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the core purpose, followed by args, a KB pointer, and an example. Each section is short and earns its place, though the KB reference adds navigation context without bloating the 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 description covers the purpose, all parameters, and includes an example and a knowledge-base link. However, for a mutation-ish Blueprint-editing tool with no annotations, it omits behavioral context like graph insertion behavior, class path expectations, and what the output represents. 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.

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 fill the gap. It provides brief parameter explanations and an example that clarifies blueprint_name is an asset path and object_class can be 'Actor'. However, object_class is described merely as 'Class to construct' without specifying accepted formats, and node_position lacks coordinate details.

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: 'Add a Construct Object from Class node.' It also clarifies the purpose ('create UObject instances at runtime (non-Actor objects)'), which distinguishes it from actor-spawning tools among the siblings. However, it does not explicitly name an alternative sibling, so it stops short of full 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 when to use the tool via 'Used to create UObject instances at runtime (non-Actor objects).' It gives context and an exclusion, but it does not explicitly say when not to use it or point to an alternative such as spawn-actor node tools. Usage guidance is present but largely implicit.

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

add_create_save_game_object_nodeA

Add a CreateSaveGameObject node to instantiate a new SaveGame object.

From Ch. 11: used when no save file exists yet, to create a fresh SaveGame instance before calling SaveGameToSlot.

Args: blueprint_name: Blueprint to add the node to save_game_class: SaveGame Blueprint class name output_variable: Variable name to store the new instance node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_create_save_game_object_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
output_variableNoSaveInfoRef
save_game_classNoBP_SaveInfo

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 the burden. It explains the node's purpose and ordering context, but doesn't disclose side effects such as whether the node is automatically wired into the graph, what happens to existing variables, or whether compilation occurs. Some behavior is implied but not fully transparent.

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 compact and well-structured: a one-sentence summary, contextual use guidance, an Args list, a KB reference, and an example. It is front-loaded with the core purpose and avoids excessive length, though the example and Ch. 11 reference are slightly redundant with the prose.

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 description covers purpose, context, and parameters, plus a minimal example. It doesn't explain the tool's output schema or return behavior, but the output schema itself may provide that. Given the tool's moderate complexity and the save-system sibling set, the description is fairly complete and would guide the agent well.

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%, so the description must compensate. It lists all four args with brief explanations, but these mostly restate the parameter names (blueprint_name, save_game_class, output_variable, node_position). It adds minimal insight into formats or how the node_position array is interpreted, though the example provides some concrete guidance.

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

Purpose4/5

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

The description clearly states the tool adds a CreateSaveGameObject node to instantiate a new SaveGame object, with a specific context (when no save file exists yet). It names the operation and resource, and mentions the prerequisite SaveGameToSlot, though it doesn't explicitly distinguish from sibling save-system node tools beyond that.

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

Usage Guidelines4/5

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

The description gives explicit guidance: used when no save file exists yet and should be called before SaveGameToSlot. It references Ch. 11 and the knowledge base, giving helpful context, though it doesn't explicitly list alternatives or when-not-to-use beyond the save-system workflow.

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

add_create_widget_nodeA

Add a CreateWidget node to instantiate a Widget Blueprint at runtime.

From Ch. 7 (Displaying HUD), Ch. 8 (Win menu), Ch. 11 (Lose/Pause menus): Creates a widget instance and optionally adds it to the viewport.

Args: blueprint_name: Blueprint to add the node to widget_class: Widget Blueprint class to instantiate owning_player_variable: PlayerController variable (empty = Get Player Controller) store_in_variable: Variable to store the widget reference (for later use) node_position: [X, Y] graph position

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_create_widget_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_classNo
node_positionNo
blueprint_nameYes
store_in_variableNo
owning_player_variableNo

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 full transparency responsibility. It discloses the node's runtime behavior and the empty-owning-player fallback, but it doesn't state whether the blueprint is saved or compiled, whether existing graph connections are affected, or whether the node is left disconnected until the user wires it. This is a moderate gap for a graph-mutating 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 well organized: a leading summary sentence, a context block, a clear args list, a KB reference, and an example. There is minor redundancy between 'instantiate a Widget Blueprint at runtime' and 'Creates a widget instance,' but overall it is efficient and front-loaded.

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

Completeness3/5

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

The description covers all parameters and points to KB documentation, which is helpful, but it omits expected formats for widget_class, whether the node is auto-connected to execution, and whether the blueprint needs to be compiled afterward. The presence of an output schema softens the missing-return-value concern, but the mutation side effects remain underspecified.

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 provides a meaningful one-line explanation for all five arguments, including the important empty = Get Player Controller behavior for owning_player_variable, and includes an example with a full asset path. This goes well beyond the bare schema titles.

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 starts with a specific action and object: 'Add a CreateWidget node to instantiate a Widget Blueprint at runtime.' This clearly distinguishes it from sibling UMG tools like add_widget_to_viewport (direct viewport operation) and create_umg_widget_blueprint (asset creation), as it specifically targets adding a graph 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 description gives contextual signals like references to chapters and 'Creates a widget instance and optionally adds it to the viewport,' but it never explicitly states when to use this tool versus alternative node-adding or widget tools. An agent must infer that this is for blueprint graph node insertion rather than direct widget manipulation.

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

add_cross_product_nodeA

Add a 'Cross Product' node between two vectors.

Ch.14: Returns a vector perpendicular to both inputs. Useful for computing normals and right-angle vectors.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_cross_product_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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?

With no annotations, the description must carry the behavioral disclosure burden. It communicates that the tool inserts a node and that the node returns a perpendicular vector, and the example shows expected usage. It does not disclose side effects such as whether the blueprint is modified persistently, compiled, or saved, which is a meaningful gap for a mutation-oriented 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 main action, followed by a short math note, arguments, a KB reference, and an example. It is compact and scannable, though the 'Ch.14' prefix adds limited value and could be dropped without losing essential meaning.

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 two-parameter node-insertion tool, the description covers the blueprint target, optional graph position, mathematical purpose, and includes an example and a KB link. The output schema covers return shape, so not restating it is acceptable; the main omission is post-add behavior such as compilation or persistence.

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 adds useful meaning for node_position ('Optional [X, Y] graph position') and the example clarifies the blueprint_name path format. However, 'blueprint_name: Blueprint name' largely restates the schema, and no coordinate defaults or format details are provided.

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 clear action ('Add') and object ('Cross Product' node), and explains the mathematical behavior ('Returns a vector perpendicular to both inputs'), which distinguishes it from related vector-math siblings like dot product or normalize. It does not explicitly name a sibling alternative, but the semantics are specific enough to identify the tool's purpose.

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?

'Useful for computing normals and right-angle vectors' gives concrete circumstances for selecting this tool. It lacks an explicit when-not-to-use or named alternative, so it does not reach the full 5, but the context is clear and actionable.

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

add_custom_eventA

Add a Custom Event node to a Blueprint event graph.

Use this for explicit gameplay entry points that will be wired by later graph operations. Inspect existing events first to avoid duplicate event names, then compile and read back after wiring.

Args: blueprint_name: Blueprint asset name or path. event_name: Custom event/function name to create. node_position: Optional [X, Y] graph position.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#events-and-dispatch Example: add_custom_event(blueprint_name="/Game/MCP_Test/BP_Example", event_name="OnInteract")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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 burden. It implies a mutation (adds a node) and offers behavioral guidance: 'Inspect existing events first to avoid duplicate event names' and 'then compile and read back after wiring.' This discloses the need for pre-checking and a post-verification step, though it doesn't explicitly discuss side effects or reversibility. Given the tool's additive nature, this is adequate.

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

Conciseness5/5

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

The description is compact, well-organized with Args, a KB reference, and a concrete example. Every sentence earns its place—no fluff, no redundancy. The example clarifies expected input format.

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

Completeness5/5

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

For a simple mutation tool, the description covers what, when, how, and gives an example. Since an output schema exists (indicated by 'Has output schema: true'), return values need not be described. All necessary information for correct invocation is present.

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?

The schema has zero descriptions, but the description's Args section fully compensates: 'blueprint_name: Blueprint asset name or path,' 'event_name: Custom event/function name to create,' and 'node_position: Optional [X, Y] graph position.' This adds meaning beyond type/name, making each parameter's purpose clear.

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

Purpose5/5

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

The description opens with a clear, specific verb+resource: 'Add a Custom Event node to a Blueprint event graph.' This precisely identifies the action and target, distinguishing it from general node adders like add_blueprint_event_node (which likely handles standard event nodes). No ambiguity remains about what the tool does.

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

Usage Guidelines4/5

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

The description explicitly states when to use it: 'Use this for explicit gameplay entry points that will be wired by later graph operations.' It also instructs to 'Inspect existing events first to avoid duplicate event names' and to 'compile and read back after wiring,' giving a clear workflow. It doesn't name alternative tools, but the context is sufficient for correct selection.

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

add_custom_functionA

Add a custom function to a Blueprint.

Functions have their own local variable scope, can return values, and are reusable across the Blueprint.

Args: blueprint_name: Blueprint name function_name: Function name inputs: List of input params [{"name": "DamageIn", "type": "Float"}] outputs: List of output params [{"name": "HealthOut", "type": "Float"}] is_pure: Pure functions have no exec pin (like math functions)

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: add_custom_function(blueprint_name="/Game/MCP_Test/BP_Example", function_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
inputsNo
is_pureNo
outputsNo
function_nameYes
blueprint_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 the full burden. It discloses that functions have their own scope, can return values, and are reusable, and clarifies is_pure behavior. However, it doesn't mention side effects, permissions, or whether the blueprint is modified in place, leaving some behavioral 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 primary purpose, followed by a compact Args section, a KB reference, and an example. It is efficient without unnecessary fluff, though the example could be considered slightly redundant given the Args section.

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 tool of moderate complexity, the description covers function concept, parameters, example, and KB link. It mentions return values, so output semantics are hinted. It lacks details on error handling or compilation side effects, but these are minor given the existing output schema and overall clarity.

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. The Args section explains each parameter with examples for inputs/outputs format and clarifies is_pure. This adds meaningful context 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 clearly states 'Add a custom function to a Blueprint' with specific verb and resource. It distinguishes from sibling tools like add_custom_macro by noting functions have their own local variable scope and can return values. It doesn't explicitly name alternatives 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?

The description explains what the tool does but provides no explicit guidance on when to use it versus alternative tools like add_blueprint_function_node or add_custom_macro. It implies usage by describing function characteristics, but lacks when-not-to-use or alternative routing.

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

add_custom_macroB

Add a custom Macro to a Blueprint.

Macros are like functions but they exist within a single Blueprint, support latent nodes (Delay, etc.), and can have multiple exec outputs.

Args: blueprint_name: Blueprint name macro_name: Macro name inputs: Input tunnel parameters outputs: Output tunnel parameters

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: add_custom_macro(blueprint_name="/Game/MCP_Test/BP_Example", macro_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
inputsNo
outputsNo
macro_nameYes
blueprint_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 carries the full burden of behavioral disclosure. 'Add' clearly implies mutation, but the description does not disclose key traits such as overwrite behavior on existing macro names, whether the blueprint must already exist, whether the result is auto-compiled, or side effects on the graph. For a mutation tool with zero annotation coverage, 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 well-organized: purpose statement, concept explanation, args list, KB reference, and a concrete example. The purpose is front-loaded and the example demonstrates usage. The macro explanation adds useful context without being overly verbose, though the example could show the optional inputs/outputs.

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 are covered. The description covers purpose, concept, args, KB reference, and example. Missing behavioral details for a mutation tool: conflict handling for existing macro names, prerequisite that the blueprint exists, and post-add compilation behavior.

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

Parameters3/5

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

With 0% schema description coverage, the description must compensate, and it does list all four parameters with brief meanings (blueprint_name, macro_name, inputs, outputs). However, 'Input tunnel parameters' and 'Output tunnel parameters' remain vague about their structure, and the schema shows arrays of objects with string additionalProperties, so the format is not adequately clarified.

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 ('Add a custom Macro to a Blueprint') and explains what macros are versus functions, which helps differentiate it from siblings like add_custom_function. However, the differentiation is implicit through the concept explanation rather than naming an explicit alternative, 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?

The macro-versus-function explanation implies when this tool is appropriate (when latent nodes or multiple exec outputs are needed, and scope is within a single Blueprint), but it does not explicitly name alternatives or state when not to use it. Usage context is present but left to inference.

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

add_delay_nodeA

Add a Delay node (latent - waits before continuing).

Delay is a latent node - it allows the Blueprint to pause execution for a specified duration without blocking the game thread.

Args: blueprint_name: Blueprint name duration: Delay in seconds node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_delay_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
durationNo
node_positionNo
blueprint_nameYes

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 behavioral burden. It explains the node's runtime semantics as latent and non-blocking, which is useful, but it does not disclose tool side effects such as mutating the Blueprint graph, whether duplicate nodes are created, or whether compilation/saving is required. This is partial disclosure rather than a contradiction.

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 compact and front-loaded with the core purpose. It includes a useful Args list, a KB pointer, and an example. There is minor redundancy between the parenthetical 'latent - waits before continuing' and the following 'Delay is a latent node' sentence, but no meaningful 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 straightforward add-node tool with an output schema, the description plus example covers the required inputs and provides a KB pointer. It lacks explicit prerequisites, such as the Blueprint already existing or being open, and node placement context, but these are not critical enough to prevent 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 Args section must compensate. It describes all three parameters: blueprint_name, duration in seconds, and optional node_position. The example provides a concrete asset-path format for blueprint_name, though node_position format could be explained further.

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 and resource: 'Add a Delay node', and further clarifies that it waits before continuing. It clearly identifies the Delay node type among the many add_* sibling tools, though it does not explicitly name an alternative to distinguish itself from.

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

Usage Guidelines4/5

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

It states the intended use case: pausing a Blueprint for a specified duration without blocking the game thread. This gives clear usage context, but it does not mention when not to use it or name alternative node types such as timelines or timers.

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

add_delete_save_game_in_slot_nodeA

Add a DeleteGameInSlot node to reset/clear the save file.

From Ch. 11 (Resetting the save file from the pause menu). Use this to implement a "New Game" or "Reset Progress" button.

Args: blueprint_name: Blueprint to add the node to slot_name_variable: Variable holding the save slot name user_index: Player index node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_delete_save_game_in_slot_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
user_indexNo
node_positionNo
blueprint_nameYes
slot_name_variableNoSaveSlotName

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?

With no annotations, the description must carry the behavioral burden. It states the tool 'Add a DeleteGameInSlot node to reset/clear the save file' but does not disclose potential side effects (e.g., overwriting existing nodes, requiring blueprint compilation, or needing specific permissions). For a mutation tool, this is a moderate gap, though the action itself is straightforward.

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 efficient: it opens with the purpose, provides context, lists parameters in a structured block, and includes a KB reference and example. No wasted words; every line contributes to understanding the 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?

For a simple node-addition tool, the description covers purpose, usage context, parameters, and an example. An output schema exists (though not shown), so return values are not required in the description. It does not mention prerequisites like the blueprint existing or the node's placement in the graph, but the example and arg list provide enough for an agent to call it correctly.

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%, but the description explicitly lists all four parameters with concise explanations: blueprint_name (target), slot_name_variable (variable name), user_index (player index), and node_position ([X, Y] graph position). This fully compensates for the lack of schema descriptions and adds practical meaning.

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

Purpose5/5

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

The description clearly states the action ('Add a DeleteGameInSlot node') and its purpose ('reset/clear the save file'), distinguishing it from sibling node-adding tools like add_save_game_to_slot_node or add_load_game_from_slot_node. It is specific about the resource and what it accomplishes.

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

Usage Guidelines4/5

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

The description gives an explicit use case ('Use this to implement a 'New Game' or 'Reset Progress' button') and cites a chapter reference (Ch. 11) for context. It does not explicitly state when not to use this tool or mention alternatives, but the provided use case is clear and actionable.

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

add_destroy_actor_nodeC

Add a 'Destroy Actor' node.

Args: blueprint_name: Blueprint name node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_destroy_actor_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden of behavioral disclosure. It only says 'Add a Destroy Actor node' without stating that this mutates the blueprint graph, potential side effects (e.g., graph dirty state), error conditions, or any requirements for the blueprint.

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 compact and front-loaded with the core action, followed by arguments, a KB pointer, and an example. It avoids unnecessary verbosity, but the structure could be slightly clearer if the optional status of node_position was more explicit.

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

Completeness2/5

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

Given 2 parameters, no annotations, and an output schema that isn't described, the description is too sparse. It omits preconditions (blueprint exists/loaded), what the tool returns, and any behavioral notes. The KB link offers general guidance but not tool-specific completeness.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. It merely restates the parameter names ('blueprint_name: Blueprint name', 'node_position: Optional graph position') with minimal added value. It doesn't specify the expected format for node_position (e.g., x,y coordinates) or clarify how blueprint_name should be resolved, though the example gives one valid 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 states a specific verb ('Add') and a specific resource ('Destroy Actor' node), which clearly identifies the tool's purpose and distinguishes it from the many other add_*_node siblings. However, it doesn't elaborate on what the node itself does, though the name implies destruction of an actor.

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 compared to other node-adding tools, no mention of prerequisites like an existing or loaded blueprint, and no alternatives are noted. The example only shows invocation, not selection criteria.

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

add_direct_blueprint_referenceA

Add a variable to hold a direct reference to another Blueprint.

This is the Direct Blueprint Communication pattern - you store a reference to another actor and call its functions directly.

Args: blueprint_name: Blueprint that will hold the reference target_blueprint: Blueprint class to reference variable_name: Variable name for the reference is_exposed: Make editable in editor (required to assign via editor)

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: add_direct_blueprint_reference(blueprint_name="/Game/MCP_Test/BP_Example", target_blueprint="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
is_exposedNo
variable_nameYes
blueprint_nameYes
target_blueprintYes

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 must carry the full burden. It does disclose a key behavior: 'is_exposed: Make editable in editor (required to assign via editor).' However, it does not mention whether existing variables are overwritten, if compilation is needed, or possible failure modes. It provides some useful behavioral context but remains incomplete 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.

Conciseness5/5

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

The description is well-structured: a one-sentence action, a brief pattern explanation, a clear Args list, and an example. It is concise with no redundant wording. Every sentence adds value, and the KB reference is a helpful pointer.

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

Completeness4/5

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

Given the tool's simplicity and the presence of an output schema (which may explain return values), the description is mostly complete. It includes parameter semantics, a pattern explanation, an example, and a KB link. It lacks explicit prerequisites (e.g., blueprint must exist) but is sufficiently detailed for an agent to call it correctly.

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?

The input schema has no descriptions (0% coverage), but the description's Args section fully explains each parameter: blueprint_name, target_blueprint, variable_name, and is_exposed. The example further clarifies expected values (e.g., '/Game/MCP_Test/BP_Example'). The description effectively compensates for the schema gap.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Add a variable to hold a direct reference to another Blueprint.' It identifies a specific verb (add), resource (variable), and target (direct reference to another Blueprint), distinguishing it from related tools like add_blueprint_self_reference or add_blueprint_variable. The 'Direct Blueprint Communication pattern' label reinforces the intent.

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 explains the context: 'This is the Direct Blueprint Communication pattern - you store a reference to another actor and call its functions directly.' This implies when to use it, but it does not explicitly state when not to use it or suggest alternatives like event dispatchers or interfaces. The guidance is clear but lacks exclusions or comparison to siblings.

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

add_does_save_game_exist_nodeA

Add a DoesSaveGameExist node to check if a save file is present.

From Ch. 11: used before loading to branch logic - if save exists, load it; if not, use defaults (Round 1).

Args: blueprint_name: Blueprint to add the node to slot_name: Save slot name string to check user_index: Player index node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_does_save_game_exist_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
slot_nameNoSaveGameFile
user_indexNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 must carry the behavioral burden. It states the node's purpose but does not disclose side effects such as whether the blueprint must be open, whether the graph is modified persistently, if compilation is needed, or error behavior on invalid blueprint names. The mutation aspect is implied but not elaborated.

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 well-organized and front-loaded. It opens with the purpose, then gives usage context, a bulleted args list, a KB reference, and a concrete example. Every sentence earns its place without redundancy.

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

Completeness4/5

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

The description covers purpose, usage, all parameters, an example, and a knowledge-base link. Since an output schema is present, not describing return values is acceptable. It lacks discussion of failure modes or prerequisites, but for a simple add-node tool the information provided is nearly complete.

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 descriptions are absent (0% coverage), so the description must explain all parameters. It does so clearly: blueprint_name, slot_name, user_index, and node_position with a type hint '[X, Y] graph position.' The example demonstrates a real value for blueprint_name. This fully compensates for the schema gap.

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 exactly what the tool does: 'Add a DoesSaveGameExist node to check if a save file is present.' The verb 'Add' plus the specific node type set it apart from sibling add-node tools, which are all clearly different node types.

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

Usage Guidelines4/5

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

The description provides explicit usage context: 'used before loading to branch logic - if save exists, load it; if not, use defaults.' This clearly implies when to use it. It does not name alternatives or exclusions, but the sibling set makes it evident this is the only save-existence node tool.

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

add_do_n_nodeA

Add a Do N node that executes a specified number of times.

After N executions, subsequent calls are blocked until Reset.

Args: blueprint_name: Blueprint name n: Maximum number of executions (default: 3) node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_do_n_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
node_positionNo
blueprint_nameYes

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 discloses the execution count and blocking behavior, which is core to the node's function. It does not mention side effects like graph mutation or return values, but for a node-add operation this is acceptable.

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

Conciseness5/5

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

The description is compact and well-structured: a one-line purpose, a behavioral note, a clean Args list, a KB reference, and an example. Every element earns its place without redundancy.

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

Completeness4/5

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

The tool is simple (3 params, 1 required) and the description covers all params and behavior. It also provides a KB link and example. It could add a note about reset semantics, but the core information is present.

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?

The schema has no parameter descriptions (0% coverage), so the description compensates fully. It explains blueprint_name as the target, n with default and meaning, and node_position as optional graph coordinates. The example demonstrates a real call, making parameter usage unambiguous.

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

Purpose5/5

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

The description clearly states the verb 'Add' and the resource 'Do N node', with a concise behavioral summary ('executes a specified number of times'). It distinguishes itself from sibling loop nodes by naming the specific 'Do N' behavior, and includes an example to anchor usage.

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 explains the blocking behavior after N executions and the reset condition, which is a key usage constraint. However, it does not explicitly contrast this node with alternatives like Do Once or For Loop, leaving the agent to infer when this node is the right choice. The behavior note is useful but not a full usage guide.

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

add_do_once_nodeA

Add a Do Once node that executes exactly one time.

After the first execution, subsequent calls are ignored until the 'Reset' input is triggered.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_do_once_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 provides meaningful detail: one-time execution, ignored subsequent calls, and Reset input behavior. It does not disclose prerequisites like whether the blueprint must already exist or failure modes, but the core behavioral nuance is clearly covered.

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 behavior is front-loaded in the first two lines, followed by a compact Args block, a KB pointer, and a concrete example. No sentence 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 simple two-parameter operation with an output schema, the description gives the essential behavior, parameter semantics, and an example. It could add a note on prerequisites or how this differs from the sibling add_blueprint_do_once_node, but nothing critical is missing for basic 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 coverage is 0%, yet the description adds real meaning: blueprint_name is the target Blueprint and node_position is an optional [X, Y] graph position. The example reinforces the expected blueprint_name format, which compensates for the sparse schema.

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

Purpose4/5

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

States a clear verb+resource ('Add a Do Once node') and explains the core behavior: it executes exactly once and ignores subsequent calls until Reset. It does not differentiate from the sibling add_blueprint_do_once_node, 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 Guidelines3/5

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

The execution-once/reset semantics imply when the node is useful, but there is no explicit when-to-use guidance or comparison to alternatives such as add_gate_node or add_blueprint_do_once_node. The use case must be inferred from the behavior rather than stated.

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

add_dot_product_nodeB

Add a 'Dot Product' node between two vectors.

Ch.14: Dot product = X1X2 + Y1Y2 + Z1*Z2. Returns 1 if parallel, 0 if perpendicular, -1 if opposite. Useful for checking if something is in front of/behind actor.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_dot_product_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 burden of behavioral disclosure. It explains the math behavior of the Dot Product node itself, but it does not clarify what the tool call actually does to the blueprint graph (e.g., whether it wires the node between existing pins or just places an unconnected node). The phrase 'between two vectors' is ambiguous because the arguments only include a blueprint name and an optional grid position.

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

Conciseness5/5

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

The description is compact and well-organized: purpose, math, return semantics, use case, args, knowledge-base pointer, and an example. Every section earns its place, and the primary action is front-loaded.

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

Completeness2/5

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

Despite having an output schema (which can cover return values), the description omits critical operational details—most notably, there are no arguments for the two vectors it claims to connect 'between.' An agent cannot determine from this description whether the tool creates an unconnected node, auto-wires existing pins, or requires additional context. This is a significant completeness gap.

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 does add some value: node_position is marked as 'Optional [X, Y] graph position' and the example shows blueprint_name expects a /Game/... path. However, it is minimal—no coordinate-space details, no handling of invalid paths, and no explanation of how the two vector inputs are 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?

The description opens with a specific verb and resource: 'Add a Dot Product node.' It further distinguishes this from sibling vector-math nodes by giving the exact formula and the node's return semantics (parallel/perpendicular/opposite). The intended use case ('checking if something is in front of/behind actor') reinforces what this specific node is for.

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 provides a use case ('Useful for checking if something is in front of/behind actor') but does not explicitly contrast with alternatives like cross product or other vector nodes. Given the large sibling list of add_*_node tools, this leaves the agent to infer when Dot Product is uniquely appropriate.

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

add_draw_debug_line_nodeA

Add a 'Draw Debug Line' node - draws a line in the viewport for debugging.

Ch.14: Trace functions have Draw Debug Type option. This node explicitly draws a 3D line for custom debug visualization. Debug lines are useful to find problems when traces aren't acting as expected.

Args: blueprint_name: Blueprint name duration: How long the line persists (0 = one frame) color: [R, G, B, A] 0-255 color of the debug line node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_draw_debug_line_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
durationNo
node_positionNo
blueprint_nameYes

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 provided, the description must carry the full burden of behavioral disclosure. It states the node draws a line and is added to a blueprint, but does not mention side effects like modifying the blueprint graph, requiring an existing blueprint, or potential compilation. It also does not describe return values, though an output schema exists. The description is not contradictory but lacks depth on behavioral consequences.

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

Conciseness4/5

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

The description is well-structured with a purpose statement, contextual note about traces, an Args list, a KB link, and an example. It is efficient but includes the Ch.14 reference and extra explanation about debug lines that could be trimmed without losing essential information. The front-loading of purpose and parameter details is good.

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 description covers purpose, parameters, and provides an example and a knowledge base reference. It does not mention prerequisites (e.g., blueprint must exist) or error cases, but for a simple node-adding operation with an output schema present, it is fairly complete. The absence of behavioral details is a minor gap, but the essential information for calling the tool is present.

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 an 'Args' section with explanations for all four parameters: blueprint_name (just 'Blueprint name', which adds little over schema), but duration ('How long the line persists (0 = one frame)'), color ('[R, G, B, A] 0-255 color'), and node_position ('Optional [X, Y] graph position') add meaningful semantics that are not in the schema. This is critical for correct invocation.

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

Purpose5/5

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

The description clearly states the tool adds a 'Draw Debug Line' node that draws a 3D line in the viewport for debugging. It explicitly contrasts with trace functions that have a Draw Debug Type option, distinguishing it from similar trace-related tools. The verb 'Add' and resource 'Draw Debug Line node' are specific and unambiguous.

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

Usage Guidelines4/5

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

The description provides context on when to use the tool: 'Debug lines are useful to find problems when traces aren't acting as expected.' It also contrasts with trace functions, implying this is for custom debug visualization. However, it does not explicitly exclude other debug draw node types like sphere or point nodes, which are present in the sibling list, so exclusions are not comprehensive.

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

add_draw_debug_point_nodeA

Add a 'Draw Debug Point' node - draws a dot in world space.

Args: blueprint_name: Blueprint name size: Point size in screen pixels duration: How long the point persists color: [R, G, B, A] color of the debug point node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_draw_debug_point_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
colorNo
durationNo
node_positionNo
blueprint_nameYes

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 behavioral disclosure burden. It explains the runtime effect of the node (draws a dot in world space), size units in screen pixels, duration behavior, and optional node position. It does not discuss side effects, failure conditions, or whether the target Blueprint must already exist, but the output schema covers return information.

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

Conciseness5/5

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

The description is compact, front-loaded with the primary purpose, and organized into a one-line summary, a structured Args list, a KB reference, and an example. Every part adds useful information without 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 simple node-addition tool with an output schema, the description covers the operation, all parameters, provides a KB pointer, and gives a concrete example. The remaining gaps are minor, such as not stating the unit for duration or explicitly noting that blueprint_name must reference an existing Blueprint asset.

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 description compensates by defining all five parameters: blueprint_name with an example path, size in screen pixels, duration as persistence time, color as RGBA, and node_position as an optional graph position. Minor gaps remain, such as no explicit duration unit or color value ranges.

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

Purpose4/5

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

The description clearly states the verb and resource: 'Add a Draw Debug Point node' and explains its behavior: 'draws a dot in world space.' This distinguishes it as the point variant among siblings like add_draw_debug_line_node and add_draw_debug_sphere_node, but it does not explicitly name or contrast 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 concrete behavior ('draws a dot in world space') implicitly suggests when an agent should use it, and the example shows a realistic call. However, the description does not explicitly state when to prefer this tool over the line or sphere debug node variants, nor does it mention prerequisites such as the Blueprint needing to exist.

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

add_draw_debug_sphere_nodeB

Add a 'Draw Debug Sphere' node for 3D debug visualization.

Args: blueprint_name: Blueprint name radius: Sphere radius in cm duration: How long the sphere persists (0 = one frame) color: [R, G, B, A] color of the debug sphere node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_draw_debug_sphere_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
radiusNo
durationNo
node_positionNo
blueprint_nameYes

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 carries the full burden. It explains the node's purpose and parameter effects (duration 0 = one frame), but doesn't disclose side effects like whether the node is added to the currently open blueprint graph, whether it requires a specific graph context, or what happens if the blueprint doesn't exist. The mutation behavior (adding a node) is implied but not explicitly stated.

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 compact and front-loaded with the tool's purpose, followed by a clear parameter list and a helpful example. The KB reference is a useful pointer. Minor redundancy: the parameter list largely repeats schema property names, but the added units and semantics justify the 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?

The tool has an output schema (not shown) and 5 parameters, but the description doesn't mention return values or error conditions. It covers the core parameters and provides an example, but lacks guidance on prerequisites (e.g., must a blueprint be open?) and edge cases (e.g., invalid blueprint name). The KB reference partially compensates by pointing to more detailed documentation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It lists all five parameters with brief explanations (radius in cm, duration persistence, color RGBA, optional position), which adds meaning beyond the bare schema. However, it doesn't clarify units for duration (seconds vs frames), the expected color array format (0-1 vs 0-255), or the coordinate space for node_position, leaving ambiguity.

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

Purpose4/5

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

The description clearly states the tool adds a 'Draw Debug Sphere' node for 3D debug visualization, which is a specific verb+resource. It distinguishes itself from sibling debug-drawing tools like add_draw_debug_line_node and add_draw_debug_point_node by naming the sphere variant, though it doesn't explicitly 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 Guidelines3/5

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

The description implies usage context (adding a debug visualization node to a blueprint) and provides an example call, but it doesn't explicitly state when to use this tool versus alternatives like add_draw_debug_line_node or add_draw_debug_point_node. The KB reference hints at deeper context but doesn't provide direct guidance.

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

add_enable_disable_input_nodeA

Add an Enable Input or Disable Input node to control actor input reception.

From Ch. 15: Enable Input allows an actor to receive player input events. Disable Input removes input handling. Requires passing a PlayerController reference.

Use cases:

  • Disable input during cutscenes

  • Enable input only when player is in range of an interactive object

  • Menu screens disable game input

Args: blueprint_name: Blueprint to add the node to enable: True = EnableInput, False = DisableInput node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_enable_disable_input_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
enableNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 behavioral disclosure burden. It explains what Enable/Disable Input nodes do and notes that a PlayerController reference is required, which adds useful context. However, it does not disclose side effects on the blueprint graph, whether the node is auto-connected, or how the PlayerController requirement is fulfilled given that no such parameter exists in the schema.

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

Conciseness4/5

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

The description is structured with a purpose statement, use cases, args, a KB pointer, and an example. It is somewhat longer than strictly necessary, but every section contributes practical value, and the key purpose is front-loaded.

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 inclusion of use cases, args, example, and a KB reference makes the tool reasonably complete for a simple blueprint-node-addition operation. However, the statement that the node 'Requires passing a PlayerController reference' is not reflected anywhere in the input schema, creating ambiguity about whether the tool handles this automatically or expects additional wiring. This is a notable contextual 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%, but the description's Args section compensates by explaining all three parameters: blueprint_name, enable, and node_position. The meaning of the boolean enable flag and the [X, Y] graph position format are clearly stated, going well beyond 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?

The description uses a specific verb and resource: 'Add an Enable Input or Disable Input node to control actor input reception.' This clearly identifies the exact node type and its purpose, distinguishing it from sibling tools that add other node kinds or input handling modes.

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 concrete use cases such as disabling input during cutscenes, enabling input near interactive objects, and menu screens disabling game input. These establish when the tool should be used, though it does not explicitly mention alternatives or 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.

add_event_dispatcherB

Add an Event Dispatcher to a Blueprint.

Event Dispatchers allow Blueprints to broadcast events that other Blueprints can listen to and respond to.

Args: blueprint_name: Blueprint name dispatcher_name: Name of the event dispatcher params: List of parameter dicts with 'name' and 'type' keys e.g., [{"name": "DamageAmount", "type": "Float"}]

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: add_event_dispatcher(blueprint_name="/Game/MCP_Test/BP_Example", dispatcher_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo
blueprint_nameYes
dispatcher_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 carries the full burden. It does not disclose any side effects, such as whether the blueprint is modified permanently, whether compilation is required, or any permissions needed. It also doesn't clarify what happens if the dispatcher already exists or if the blueprint is invalid. This is a significant gap 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 concise and structured with a clear summary, argument explanations, a knowledge base reference, and an example. It is front-loaded with the main purpose and provides necessary details without excessive verbosity. The KB reference adds value but could be considered extra; overall, each 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?

Given the tool's moderate complexity (3 params, one optional with a specific format) and no annotations, the description provides adequate basics but lacks critical behavioral details like error handling, prerequisites (e.g., blueprint must exist), and post-conditions. An output schema exists, so return format is covered, but operational context is thin.

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

Parameters3/5

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

The schema has 0% description coverage, but the description does provide some context: it explains that 'params' is a list of parameter dicts with 'name' and 'type' keys, and gives an example. This adds meaning beyond the schema, which only says 'array of objects'. However, it doesn't detail each parameter individually; blueprint_name and dispatcher_name are self-explanatory from their 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 clearly states the action: 'Add an Event Dispatcher to a Blueprint.' and explains the purpose of event dispatchers in Blueprints. It is specific about the resource (Blueprint) and the operation (adding an event dispatcher), and it includes an example call. It does not explicitly contrast with sibling tools, but the distinct resource and operation make it distinguishable.

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 when to use this tool: when adding an event dispatcher to a blueprint, and provides a brief explanation of event dispatchers. However, it does not explicitly state when NOT to use it or mention alternatives like call_event_dispatcher or bind_event_to_dispatcher, which are related but have different purposes. The context is clear enough for basic usage, but lacks exclusions.

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

add_finish_execute_nodeA

Add a 'Finish Execute' node to a Behavior Tree Task Blueprint.

Ch.10: BTTask Blueprints must call FinishExecute to report success or failure back to the Behavior Tree. Call this at the end of ReceiveExecute.

Args: blueprint_name: BT Task Blueprint name success: True = task succeeded, False = task failed node_position: Optional [X, Y] graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_finish_execute_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
successNo
node_positionNo
blueprint_nameYes

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?

No annotations are provided, so the description carries the full burden of explaining behavior. It does disclose that the tool adds a node and that the node reports task success/failure, and it gives the correct call-site context. However, it does not mention prerequisites, failure behavior, or whether the node is auto-connected to the execution chain.

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

Conciseness4/5

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

The description is well organized and front-loaded: a clear one-line summary, a brief domain rationale, an Args list, a KB reference, and an example. It is slightly longer than strictly necessary, but each section adds useful value for the agent.

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 node-addition tool with three parameters, the description provides enough context: what the node is for, when to call it, how to set success, and an example call. An output schema exists, so return value details are not required. A small gap is that it does not explicitly state that the target blueprint must already exist.

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%, and the description fully compensates by documenting all three parameters: blueprint_name as a BT Task Blueprint name, success as True/False task result, and node_position as an optional [X, Y] graph position. The example further clarifies the blueprint_name path format.

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 action and resource: 'Add a Finish Execute node to a Behavior Tree Task Blueprint.' It clearly distinguishes this from the many sibling add_*_node tools by naming the exact UE node type and its required context (BTTask Blueprints, end of ReceiveExecute).

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 explains when to use the tool: 'BTTask Blueprints must call FinishExecute to report success or failure back to the Behavior Tree. Call this at the end of ReceiveExecute.' This gives clear contextual guidance, though it does not explicitly name alternatives or state 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.

add_flipflop_nodeA

Add a Flip Flop node that alternates between A and B outputs.

On the first call it executes 'A', on the second call 'B', then back to 'A', etc. Also provides 'IsA' boolean output.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_flipflop_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 burden of behavioral disclosure. It clearly explains the node's runtime alternation pattern, the IsA boolean output, and includes a concrete example. It does not discuss side effects on the blueprint asset or persistence, but the core behavior is unusually well 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?

The description is well-organized and front-loaded with the most important behavioral details, followed by arguments, a KB pointer, and an example. It is compact with no filler, though the KB reference and example could arguably be merged without loss.

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 two-parameter tool with an output schema, the description covers the node's purpose, behavior, parameters, and provides an example call. It is reasonably complete, but it misses guidance on where the node is placed within the blueprint and how this tool relates to the sibling add_blueprint_flip_flop_node.

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 add meaning to the parameters. It provides brief human-readable explanations for blueprint_name and node_position, plus an example showing the expected blueprint path format. This is helpful but shallow: node_position syntax is only loosely described as '[X, Y] graph position' without units or coordinate details.

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 ('Add'), a clear resource (Flip Flop node), and explains the alternating A/B behavior and IsA output. However, it does not differentiate itself from the sibling tool add_blueprint_flip_flop_node, which appears to target the same node type.

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 when to use the tool but provides no explicit guidance about when to choose this over alternatives, nor any context about graph selection or preconditions. With many sibling add_*_node tools, the lack of any exclusion or alternative hint is a meaningful gap.

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

add_for_each_loop_nodeB

Add a 'For Each Loop' node (iterates over an Array).

Args: blueprint_name: Blueprint name with_break: Include a Break input to exit early node_position: Optional [X, Y] graph position

Returns: Dict with 'node_id'; pins: 'Array' input, 'Loop Body'/'Completed' outputs, 'Array Element' and 'Array Index' loop body outputs

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_for_each_loop_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
with_breakNo
node_positionNo
blueprint_nameYes

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 burden of behavioral disclosure. It explains that the tool adds node, iterates over an Array, and returns a dict with node_id and pin details, which is useful. It does not mention side effects such as whether the blueprint must be saved or compiled afterward, or whether the mutation is transactional, but the return-value disclosure partially compensates.

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

Conciseness4/5

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

The description is well-structured with an opening summary, Args, Returns, KB pointer, and Example. Each section adds value without excessive verbosity. The only minor inefficiency is the duplication of parameter names between the Args block and what the schema already provides.

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 relatively simple node-adding tool, the description is nearly complete: it covers parameters, return value, key pins, and an example invocation. The output schema exists and the description further details the returned dictionary. The main gap is the lack of usage guidance and differentiation from similar 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%, but the description documents all three parameters: blueprint_name, with_break, and node_position, with meaningful explanations and optionality hints. The example clarifies the expected blueprint_name format. This goes well beyond the schema, which only provides titles and 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 uses a specific verb and resource: 'Add a For Each Loop node (iterates over an Array).' It clearly identifies what the tool creates and the fundamental behavior of the node. However, it does not distinguish itself from the sibling 'add_blueprint_for_each_loop_node', which appears to serve a similar role.

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

Usage Guidelines2/5

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

No explicit guidance is given for when to use this tool versus alternatives such as add_blueprint_for_each_loop_node, add_blueprint_for_loop_node, or add_while_loop_node. The KB reference and example provide incidental context, but the description does not state when this tool is the right choice or when another node-adding tool would be preferred.

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

add_format_text_nodeA

Add a Format Text node to build text from a template with parameters.

From Ch. 15: Format Text uses {ParameterName} delimiters in the format string to create input pins dynamically. Each {Name} becomes an input pin.

Example: format="{Name} wins the round with {Score} points" Creates input pins for Name and Score; output is the formatted text.

Args: blueprint_name: Blueprint to add the node to format_string: Template with {parameter_name} placeholders node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_format_text_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
format_stringNo{Name} wins with {Score} points
node_positionNo
blueprint_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?

With no annotations, the description carries the behavioral disclosure burden. It usefully reveals that {ParameterName} placeholders dynamically create input pins and that output is formatted text. It does not mention side effects of modifying the blueprint, error conditions, or what happens with malformed format strings, but the core behavior 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?

The description is well-organized with a short introduction, example, Args list, KB reference, and invocation example. Slight redundancy exists between 'Each {Name} becomes an input pin' and the later repeated pin-creation statement, but the structure is otherwise 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 single-node-addition tool, the description covers the key mechanism, all parameters, provides an example, and links to KB context. Since an output schema exists, return-value documentation is not required. It lacks explicit alternative guidance and edge-case handling, but is largely complete 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 coverage is 0%, so the description must compensate, and it does: the Args section gives meaningful semantics for blueprint_name, format_string, and node_position, including the template placeholder convention and graph-position meaning. This goes beyond the raw schema.

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

Purpose4/5

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

The description clearly states the verb and resource: it adds a Format Text node and explains its purpose (building text from a template with parameters). It is specific enough to distinguish from generic node-adders, though it does not explicitly name or contrast sibling tools like add_print_text_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 intended use is implied by the phrase 'to build text from a template with parameters' and the example. However, there is no explicit guidance on when to choose this over alternative text-related nodes, nor 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.

add_gate_nodeA

Add a Gate node that controls execution flow.

When open, the 'Exit' pin fires on each 'Enter'. Use 'Open', 'Close', and 'Toggle' inputs to control state.

Args: blueprint_name: Blueprint name start_closed: Whether the gate starts closed node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_gate_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
start_closedNo
node_positionNo
blueprint_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?

With no annotations, the description carries the full behavioral burden. It usefully explains Gate node behavior—when open, Exit fires on each Enter, and Open/Close/Toggle control the state—and notes optional node position. However, it does not disclose tool-level effects such as graph mutation, save/compile implications, or prerequisites like the blueprint already existing.

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

Conciseness5/5

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

The description is compact and well-structured: behavior first, then args, KB pointer, and example. Every sentence earns its place, with no filler or redundancy.

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

Completeness4/5

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

Given the output schema exists and the operation is moderately simple, the description is largely complete: it explains semantics, parameters, and provides a working example plus KB reference. Minor gaps include not stating that the node is inserted into the blueprint graph at a specific location or whether any connection is auto-wired, but these do not critically block 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. It does: start_closed is explained, node_position format is given as optional [X, Y], and the example clarifies blueprint_name path syntax. It falls short only by leaving blueprint_name itself somewhat generic, though the example mitigates that.

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: 'Add a Gate node that controls execution flow,' and adds useful runtime semantics about the Exit, Enter, Open, Close, and Toggle pins. However, it does not differentiate this from the near-identical sibling add_blueprint_gate_node, so it loses the top score.

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, exclusions, or alternatives are provided. The intended use is implied by the name and description, but an agent is not told how to choose this over add_blueprint_gate_node or add_multigate_node.

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

add_get_actor_location_nodeA

Add a 'Get Actor Location' node returning a Vector (world location).

Ch.14: The Location variable of Transform is type Vector (X,Y,Z in cm). Use this to read where an actor is in world space.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_actor_location_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 must carry behavioral transparency. It discloses that the operation is additive ('Add'), returns a Vector, and uses centimeters in world space. However, it does not mention graph-targeting behavior, failure modes, or what happens when node_position is omitted, leaving some behavior implicit.

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

Conciseness5/5

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

The description is compact and front-loaded: the main purpose appears in the first sentence, followed by short argument docs, a KB reference, and an example. The Ch.14/Transform note is relevant context about the return type rather than 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 simple two-parameter node-addition tool, the description covers purpose, parameters, units, an example, and a KB reference, while the output schema covers return values. The main gap is that it does not state which graph the node is added to or how node_position behaves when omitted, so it is not fully complete.

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 provides 'blueprint_name: Blueprint name' and 'node_position: Optional [X,Y] graph position', plus an example with a full asset path. The blueprint_name line adds little beyond the schema title, and the example does not explain accepted formats or defaults beyond the schema.

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

Purpose4/5

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

The first sentence states a specific verb and resource ('Add a 'Get Actor Location' node') and the result ('returning a Vector (world location)'). It clearly identifies what the tool does and distinguishes its read-location semantics from write/rotation/scale variants at a semantic level, though it does not explicitly name sibling 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?

'Use this to read where an actor is in world space' gives a clear use case, and the example shows a realistic invocation. It does not list exclusions or alternatives such as add_get_actor_rotation_node, but the context is sufficient to select it for reading actor location.

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

add_get_actor_of_class_nodeA

Add a 'Get Actor Of Class' node - returns the first actor found.

Ch.3/4: Finds the first actor of the specified class in the level. Useful for getting a reference to a unique actor like GameMode or PlayerController.

Args: blueprint_name: Blueprint name actor_class: Class to search for node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_actor_of_class_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
actor_classNoActor
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the full burden. It discloses the node's runtime behavior ('Finds the first actor of the specified class') but does not mention that adding the node modifies the blueprint graph or may imply side effects like requiring a save/compile. The verb 'Add' implies mutation, but the tool's side effects on the asset are not explicitly stated.

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 moderately sized but well-organized with sections (purpose, args, KB reference, example). It front-loads the key purpose first Saturday. The inclusion of a KB pointer and concise example adds value without excessive verbosity, though the 'Ch.3/4' fragment could be clearer.

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 add-node operation with three parameters and an example, the description is sufficiently complete. It covers the action, parameter semantics, and a usage example. The output schema exists, so return values are not required in the description. Minor gap: it doesn't explain the coordinate system or handling of null node_position, but the schema default and 'Optional' tag suffice.

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 with an Args section that explains each parameter: 'Blueprint name', 'Class to search for', 'Optional [X, Y] graph position.' It also provides an example that shows how to specify the blueprint_name. This adds meaningful semantics beyond the raw property names.

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 starts with a specific verb and resource: 'Add a Get Actor Of Class node' and clarifies the behavior: 'returns the first actor found.' This makes the tool's purpose unambiguous and distinguishes it from other node-adding tools by naming the exact node type.

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 guidance on when to use it: 'Useful for getting a reference to a unique actor like GameMode or PlayerController.' However, it does not explicitly contrast with alternatives such as add_get_all_actors_of_class_node or find_actors_by_class, so it lacks explicit exclusions but gives strong contextual signals.

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

add_get_actor_rotation_nodeA

Add a 'Get Actor Rotation' node returning a Rotator (Pitch, Yaw, Roll in degrees).

Ch.14: The Rotation variable of Transform is type Rotator.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_actor_rotation_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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?

With no annotations, the description carries the full behavioral burden. It discloses the core behavior—adding a node and returning a Rotator in degrees—and the optional graph position, but it does not mention side effects on the Blueprint graph, whether the node is auto-connected, or any failure behavior. This is adequate but not rich.

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

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/KB/example sections are compact and labeled. The 'Ch.14' sentence adds domain context but is not essential to using the tool; still, the overall size is reasonable.

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 two-parameter add-node tool with an output schema available, the description is largely complete: it includes the action, return type, parameter formats, a KB link, and a working example. It is only missing explicit guidance about when to choose this node tool over related siblings.

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 provides basic semantics for both args: blueprint_name is illustrated with a '/Game/...' path example, and node_position is defined as an optional [X, Y] graph position. However, blueprint_name itself is nearly tautological and the coordinate space/default behavior of node_position is not explained.

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 names a specific action and resource: 'Add a Get Actor Rotation node' and specifies its output type (Rotator with Pitch, Yaw, Roll in degrees). This makes it easy to distinguish from sibling node tools such as add_get_actor_location_node or add_set_actor_rotation_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 gives no when-to-use guidance, no exclusions, and no reference to related alternatives. It only states what the tool does and provides an example call; an agent is left to infer when this node is appropriate versus siblings like add_actor_world_rotation_node.

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

add_get_actor_scale_nodeC

Add a 'Get Actor Scale 3D' node returning the actor's scale as a Vector.

Ch.14: Scale variable has X, Y, Z values. Use SetActorScale3D to modify.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_actor_scale_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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 mentions the node returns a Vector and that scale has X, Y, Z values, but it does not disclose side effects such as blueprint graph mutation, compile requirements, or behavior when the blueprint does not exist.

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

Conciseness3/5

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

The description is reasonably structured with a lead sentence, args, KB reference, and example. However, the 'Ch.14: Scale variable has X, Y, Z values. Use SetActorScale3D to modify.' lines are tangential to simply adding the node and add mild noise.

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 node-addition tool with two parameters and an output schema, the description is mostly adequate, providing an example and KB pointer. It lacks usage guidance and side-effect disclosure, but an agent could likely call it correctly for a known blueprint.

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%, but the description provides an Args section with brief semantics for both parameters, including that node_position is optional and is an [X, Y] graph position. The example clarifies that blueprint_name expects a full asset path, adding some value beyond the raw schema.

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

Purpose4/5

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

The description clearly states the action: add a 'Get Actor Scale 3D' node and indicates the returned value is a Vector. It is specific about the node type, but it does not explicitly differentiate itself from sibling node-adding tools beyond the node name.

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 offers no explicit guidance on when to use this tool versus alternatives. The mention of 'Use SetActorScale3D to modify' hints at a related operation, but there is no clear context, exclusions, or selection criteria for when this node should be added.

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

add_get_all_actors_of_class_nodeA

Add a 'Get All Actors Of Class' node.

Ch.3: Returns an array of all actors of the specified class in the level. Used to find patrol points (TargetPoint actors) or iterate over enemies. Note: Expensive operation - avoid calling every tick.

Args: blueprint_name: Blueprint name actor_class: Class to search for (e.g., "TargetPoint", "BP_Enemy") node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_all_actors_of_class_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
actor_classNoActor
node_positionNo
blueprint_nameYes

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 of behavioral disclosure. It usefully discloses that the node returns an array at runtime and that it is expensive to execute every tick. However, it does not describe side effects on the Blueprint graph, prerequisites such as blueprint existence, or error behavior, leaving some behavioral aspects 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?

The description is efficiently organized: purpose, behavior, use cases, performance note, arguments, KB reference, and example. The bullet-style Args section is easy to scan, and the performance warning is front-loaded after the use cases. Minor clutter like 'Ch.3:' does not significantly hurt readability.

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 Blueprint node-adding operation, the description covers what the node does, when to use it, cost implications, parameter meanings, a KB link, and an invocation example. Since an output schema exists, return-value details are not strictly required. It could be more complete by naming alternative tools or clarifying blueprint prerequisites, but the core context an agent needs is present.

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 lists all three parameters and adds meaning: actor_class is explained with examples ('TargetPoint', 'BP_Enemy'), node_position is described as 'Optional [X, Y] graph position', and blueprint_name appears in a realistic example path. It does not restate defaults, but the added semantics are meaningful.

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

Purpose5/5

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

The description clearly states the verb ('Add') and the exact resource ('Get All Actors Of Class' node), then explains the behavior: 'Returns an array of all actors of the specified class in the level.' The 'all' wording distinguishes it from the singular sibling add_get_actor_of_class_node, and the use-case mention of patrol points and enemies clarifies what this node is for.

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

Usage Guidelines4/5

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

The description gives explicit use cases: 'Used to find patrol points (TargetPoint actors) or iterate over enemies.' It also provides a clear when-not guidance: 'Expensive operation - avoid calling every tick.' It does not explicitly name alternative tools, but the usage context is clear enough for an agent to decide when this node is appropriate.

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

add_get_all_variants_nodeA

Add a GetVariants node to get all variants in a Variant Set.

From Ch. 20: Used in BP_Configurator to iterate over all variants and generate UI buttons dynamically.

Returns an array of Variant objects from the specified Variant Set.

Args: blueprint_name: Blueprint to add the node to lvs_variable: Level Variant Sets variable name variant_set_name: Variant Set to get variants from node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_get_all_variants_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
lvs_variableNoLevelVariantSets
node_positionNo
blueprint_nameYes
variant_set_nameNo

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 must carry the behavioral burden. It discloses that the tool returns an array of Variant objects and that it adds a node to a blueprint. However, it does not mention side effects such as whether it modifies existing nodes, any preconditions like the blueprint must exist, or whether the operation is reversible. This is a modest disclosure but not comprehensive.

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 structured with a main statement, a usage note, a return explanation, an Args section, a KB reference, and an example. It is moderately long but each section contributes value. The organization aids scanning, and the example is helpful. It could be slightly more concise, but the structure is sound.

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 node-adding tool with four parameters, the description covers the purpose, parameter meanings, a usage example, and a reference to knowledge base documentation. It also mentions the return type. Given that an output schema exists (though not shown), the description does not need to detail the return structure further. Overall, an agent has enough 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?

Schema coverage is 0%, meaning the schema has no parameter descriptions. The description compensates by listing each parameter (blueprint_name, lvs_variable, variant_set_name, node_position) with a brief purpose. This adds meaningful context beyond the raw schema, even though it lacks type hints or default explanations (which are 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 states a clear verb and resource: 'Add a GetVariants node to get all variants in a Variant Set.' It also provides a concrete use case from a chapter, which clarifies the intent. It does not explicitly differentiate from sibling tools like add_get_variant_sets_node, but the action is specific enough for an agent to understand the tool's role.

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

Usage Guidelines3/5

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

The description gives a usage context ('Used in BP_Configurator to iterate over all variants and generate UI buttons dynamically') which implies when it might be appropriate. However, it does not mention alternatives or explicitly state when not to use this tool versus others. The guidance is implicit rather than explicit.

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

add_get_blackboard_value_nodeA

Add a 'Get Blackboard Value as [Type]' node.

Ch.10: Used in BT Tasks to read data from the Blackboard. e.g., Get Blackboard Value as Actor to get the Target Actor reference.

Args: blueprint_name: Blueprint name (BT Task or AI Controller) key_name: Blackboard key name to read value_type: "Object", "Actor", "Vector", "Bool", "Float", "Int", "String" node_position: Optional [X, Y] graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_get_blackboard_value_node(blueprint_name="/Game/MCP_Test/BP_Example", key_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
key_nameYes
value_typeNoObject
node_positionNo
blueprint_nameYes

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 disclosure alone and does say the effect is adding a Get-Blackboard-Value node to a blueprint. It doesn't mention side effects such as graph modification, whether a blackboard key must already exist, or required permissions, so behavior is only partially transparent.

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 and organized into summary, args, KB reference, and example, with little wasted text. The 'Ch.10:' tag adds minor noise, but the structured sections keep it scannable.

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 node-adding tool with an output schema, the description covers the operation, each parameter, allowed types, and a concrete example. It does not discuss prerequisites like the blackboard key existing or where the node lands in the graph, but these are minor given the example and KB pointer.

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 coverage is 0%, but the description fully compensates: it explains blueprint_name scope (BT Task or AI Controller), key_name semantics, enumerates all valid value_type options, and flags node_position as optional with coordinate format. This is more than the schema itself provides.

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

Purpose5/5

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

The opening sentence names the exact node being added, 'Get Blackboard Value as [Type]', and the description clarifies it reads data from the Blackboard. This semantically separates it from sibling tools like set_blackboard_value and add_clear_blackboard_value_node, whose write/clear intent is opposite.

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?

States a clear context—BT Tasks that need to read from the Blackboard—and gives an example targeting a specific node. It stops short of explicitly saying when not to use it or naming set/clear alternatives.

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

add_get_data_table_row_nodeA

Add a GetDataTableRow node to look up a row in a Data Table.

From Ch. 13: Retrieves a struct of data by row name from a Data Table. Returns the row struct and a bool indicating if the row was found.

Args: blueprint_name: Blueprint to add the node to data_table_variable: Data Table asset variable name or path row_name: Default row name to look up node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_get_data_table_row_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
row_nameNo
node_positionNo
blueprint_nameYes
data_table_variableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 the action ('Add') and describes the added node's behavior (returns struct and bool), but it does not clarify the tool's own return value or side effects (e.g., whether the Blueprint asset is modified, saved, or compiled). The phrase 'Returns the row struct and a bool' is ambiguous—it refers to the node, not the tool, which could mislead an agent expecting that output from the tool call.

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 content is well-structured: a one-sentence summary, an optional context note ('From Ch. 13'), a clear list of arguments, a KB reference, and an example. It is slightly heavier than necessary due to the 'From Ch. 13' reference, but every other element earns its place. The example adds practical value without 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 description covers the core purpose and all parameters, and an output schema exists, so return-value details are not required. However, it does not mention which graph within the Blueprint the node is added to (e.g., event graph by default), potential failure modes (invalid Blueprint name, missing Data Table variable), or whether the tool persists changes. These gaps are noticeable given the tool's mutation nature and no annotations.

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?

With schema description coverage at 0%, the description fully compensates by explaining all four parameters: blueprint_name, data_table_variable, row_name, and node_position. Each gets a meaningful one-line description (e.g., 'Data Table asset variable name or path' and '[X, Y] graph position'), which is exactly what an agent needs to populate the arguments. This is a strong example of parameter documentation.

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 opens with a specific verb and resource: 'Add a GetDataTableRow node to look up a row in a Data Table.' It clearly distinguishes this from sibling add-node tools by naming the exact node type and its purpose. The additional context about retrieving a struct by row name and returning a bool further eliminates ambiguity.

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 when to use the tool: when you need to insert a GetDataTableRow node into a Blueprint for row lookup. However, it does not explicitly mention alternatives or exclusion conditions (e.g., when to use a different data-table node or direct data retrieval). Usage context is inferable but not explicitly guided.

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

add_get_delta_seconds_nodeA

Add a 'Get World Delta Seconds' node.

Ch.5: Delta time is the time elapsed since the last frame. Used to make movement frame-rate independent: Speed = Distance * DeltaSeconds. Always multiply movement values by DeltaSeconds for consistent behavior.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_delta_seconds_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 only states the add operation and provides conceptual background; it does not mention side effects on the blueprint, whether the graph is saved/compiled, idempotency, failure cases, or what the caller receives. An agent is left uncertain about the operation's footprint beyond the minimal verb.

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 action is front-loaded, and the educational delta-time explanation is short and relevant. Args, KB reference, and example are compactly organized. The Ch.5 background is somewhat ancillary but does not bloat the entry.

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 two-parameter add-node operation, the description includes the required blueprint path example, the optional position, a KB pointer, and an invocation example. Since an output schema exists and complexity is low, the main missing pieces are prerequisites and failure modes, which are not critical for a basic successful call.

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 in-description Args section is essential. It clarifies blueprint_name with an '/Game/MCP_Test/BP_Example' path example and describes node_position as 'Optional [X, Y] graph position', adding meaning the schema's types and titles alone do not convey. It could detail coordinate conventions further, but it meaningfully compensates for the schema gap.

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?

Opens with a specific verb+resource: 'Add a "Get World Delta Seconds" node.' This unambiguously names the exact node and distinguishes it from the many sibling add_*_node tools. The rest reinforces the purpose without confusing it with other graph operations.

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 gives useful context for when delta time is relevant ('Used to make movement frame-rate independent... Always multiply movement values by DeltaSeconds'), but it never explicitly states when to use this tool over alternatives or when not to use it. Among the long sibling list, no alternatives or exclusions are mentioned; the intended selection case is implied mainly by the tool name.

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

add_get_forward_vector_nodeA

Add a 'Get Actor Forward Vector' node.

Ch.14: Returns normalized forward direction vector of the actor. Multiply by speed to move in the actor's forward direction.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_forward_vector_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 discloses the core behavior of adding a node and returning a normalized vector, and adds a KB pointer. But it does not cover side effects like graph mutation, blueprint prerequisites, or error behavior, which would be useful for a node-adding 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 well-structured: a front-loaded purpose sentence, behavior explanation, Args section, KB reference, and example. It is concise without stray fluff, though the 'Ch.14' and KB pointer add mild noise for someone just trying to invoke the 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?

For a low-complexity two-parameter node-add operation, the description is sufficiently complete: it covers behavior, parameter meaning, an example, and a KB reference. The presence of an output schema helps, and missing details like error handling or prerequisites are not critical for this straightforward add-node use case.

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, but the description compensates by listing both parameters, explaining node_position as 'Optional [X, Y] graph position,' and giving a full example with a blueprint path. The blueprint_name explanation is terse, but the example clarifies expected formatting.

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 opens with a specific verb and resource: 'Add a Get Actor Forward Vector node.' It also explains what the node does ('Returns normalized forward direction vector of the actor'), which clearly distinguishes it from sibling tools like add_get_up_vector_node and add_get_right_vector_node.

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 usage context by explaining the vector's purpose ('Multiply by speed to move in the actor's forward direction'). However, it does not explicitly name alternative tools or state when not to use it, so it falls short of a 5.

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

add_get_game_instance_nodeB

Add a 'Get Game Instance' node.

Ch.3: Returns the Game Instance, which persists across level loads. Cast to your custom GameInstance class to access persistent data.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_game_instance_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 disclose behavioral traits on its own. It only states that the tool adds a node and describes the node's behavior, but it omits side effects (e.g., blueprint modification, compile requirements, potential failures) and prerequisites (e.g., target graph selection). 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 concise and well-structured: a clear purpose statement, a brief context explanation, an args list, a knowledge base reference, and a concrete example. It is front-loaded with the main action and avoids unnecessary verbosity.

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

Completeness3/5

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

Given the tool adds a node to a blueprint, the description does not specify which graph the node is added to or any prerequisites (e.g., whether the blueprint must be open or the node placement logic). There is an output schema that may cover return values, but missing context about the target graph and required preconditions leaves the description incomplete for reliable 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%, but the description adds minimal meaning: it labels blueprint_name as 'Blueprint name' (redundant with schema title) and clarifies node_position as an optional [X, Y] coordinate. The example provides a path for blueprint_name, which is helpful, but the description does not fully explain the expected format or purpose of each parameter beyond the schema titles.

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

Purpose5/5

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

The description clearly states the action (Add) and the specific node type ('Get Game Instance'), distinguishing it from sibling node-adding tools. It also explains the node's purpose (returns the Game Instance, persists across level loads), making the intent 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?

The description implies when to use the tool (when you need persistent data across levels) by explaining the node's behavior, but it does not explicitly mention alternatives or provide exclusion criteria. No when-not-to-use guidance is given, so an agent must infer context from the description.

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

add_get_game_mode_nodeA

Add a 'Get Game Mode' node.

Ch.3: Returns the current GameMode. Cast the result to your custom GameMode class (e.g., BP_FPSGameMode) to access its properties/functions.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_game_mode_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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 present, so the description must carry behavioral disclosure on its own. It explains that the node returns the current GameMode and advises casting to a custom class, which adds meaningful context. It does not mention side effects on the blueprint, error conditions, or the existing output schema, leaving some behavioral gaps.

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 compact and structured with Args, KB, and Example; every line earns its place. The 'Ch.3:' prefix is cryptic and unexplained, which slightly reduces clarity, but overall there is no wasted 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?

With only two parameters and an output schema present, the description covers the required usage knowledge: arg semantics, optionality, and a full example. It omits error cases and explicit mention of the output schema, but for a simple node-insertion tool this is adequately 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 is the only source of parameter meaning. It documents both parameters ('blueprint_name: Blueprint name', 'node_position: Optional [X, Y] graph position') and provides a concrete example path, which compensates for the missing schema descriptions. It could add path format validation details but is otherwise sufficient.

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 action ('Add a 'Get Game Mode' node') and clarifies the node's runtime behavior ('Returns the current GameMode'), with a concrete example call. It does not explicitly distinguish this from sibling add-node tools like add_get_player_character_node, 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 implied through the action and example, and the optional/required args give invocation context. However, there is no explicit guidance about when to prefer this over other getter-node tools, nor any mention of prerequisites such as the blueprint needing to exist or be open.

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

add_get_location_at_distance_along_spline_nodeA

Add a GetLocationAtDistanceAlongSpline node.

From Ch. 19: Returns the world or local location at a specified distance along the spline. Used in Construction Script to position instances at regular intervals along the spline path.

Args: blueprint_name: Blueprint to add the node to spline_component_variable: Spline component reference name coordinate_space: "Local" or "World" node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_get_location_at_distance_along_spline_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
coordinate_spaceNoLocal
spline_component_variableNoSpline

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 provided, the description carries the full disclosure burden. It does convey meaningful behavioral context: the node returns world or local location, coordinate_space accepts 'Local' or 'World', and the target use case is Construction Script placement. But it stays silent on the graph-mutation side effects of inserting the node, whether it auto-connects to anything, and prerequisites such as the blueprint already containing an appropriately named spline component.

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 compact and front-loaded: a purpose line, a behavior/use-case line, a tight Args list, a KB pointer, and a single realistic example. There is no fluff and the example demonstrates the only required parameter. It is slightly longer than strictly necessary, but 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?

For a moderate-complexity node-addition tool with no annotations, a bare schema (0% description coverage), and an existing output schema, the description covers purpose, use case, all parameters, and includes an example plus a KB reference. The main gap is not routing to the closest sibling, add_get_rotation_at_distance_along_spline_node, which is minor given how explicitly the node's semantics are stated.

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 Args block is the only source of parameter meaning—and it delivers fully. All four parameters are documented: blueprint_name's role, spline_component_variable as a reference name, the exact allowed values for coordinate_space ('Local' or 'World'), and the [X, Y] graph-position format for node_position. The description completely compensates for the empty 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?

The description opens with a specific verb+resource ('Add a GetLocationAtDistanceAlongSpline node') and then explains exactly what the node does: 'Returns the world or local location at a specified distance along the spline.' This is specific enough to distinguish it naturally from the near-twin sibling add_get_rotation_at_distance_along_spline_node and from add_get_spline_length_node.

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

Usage Guidelines4/5

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

The description gives concrete when-to-use context: 'Used in Construction Script to position instances at regular intervals along the spline path.' This tells an agent the intended scenario clearly. However, it never names alternatives or exclusion cases (e.g., when to prefer the rotation-variant sibling), so it stops 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.

add_get_owner_nodeA

Add a GetOwner node to retrieve the Actor that owns this component.

From Ch. 18: When scripting inside a component Blueprint, GetOwner returns a reference to the Actor that has this component added to it. Optionally cast to a specific class to access class-specific functionality.

Args: blueprint_name: Component Blueprint to add the node to cast_to_class: Class to cast the owner to (e.g., "BP_Character"). Empty = no cast. node_position: [X, Y] graph position

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: add_get_owner_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
cast_to_classNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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. It explains what the node does, how optional casting works, where it is placed via node_position, and provides a concrete example. It does not detail post-add effects like compilation or persistence, but the add-node operation is simple and clearly described.

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 well-structured: purpose sentence, context quote, Args list, KB pointer, and example. Every section earns its place, and the key behavior is front-loaded in the first sentence.

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

Completeness5/5

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

For a simple node-adding tool with an output schema, the description covers all invocation essentials: target blueprint, optional cast behavior, graph position, a KB reference, and an example. Nothing critical is missing for an agent to call the tool correctly.

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 does so fully with an Args block explaining blueprint_name, cast_to_class (including 'Empty = no cast'), and node_position format. This adds meaning well beyond the raw schema 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 opens with a specific verb and resource: 'Add a GetOwner node to retrieve the Actor that owns this component.' It clearly identifies what the node does, where it applies (component Blueprint), and differentiates itself from sibling node-adding tools by naming the exact node type.

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

Usage Guidelines4/5

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

The description gives a clear context: 'When scripting inside a component Blueprint, GetOwner returns a reference to the Actor that has this component added to it.' It implies the intended use case without explicitly naming alternatives or exclusions, which fits a well-scoped node-insertion tool.

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

add_get_player_character_nodeC

Add a 'Get Player Character' node.

Args: blueprint_name: Blueprint name player_index: Player index (usually 0) node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_player_character_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
player_indexNo
node_positionNo
blueprint_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 the tool adds a node but does not disclose that this mutates the blueprint graph, whether it will fail on an invalid blueprint_name, how node_position defaulting behaves, or any side effects. 'Usually 0' hints at player_index semantics, but overall behavioral disclosure is thin 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 compact and well-structured: a one-line purpose, a clean args list, a KB reference, and a concrete example. Every line earns its place and the purpose is front-loaded. The only minor weakness is that the KB path is cryptic without further context, but overall it is 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?

Given the tool's relative simplicity, an output schema exists (so return values need not be explained), and the example covers the required parameter, the description is workable. However, it omits prerequisites (blueprint must exist/be valid), node_position format, and any behavior-on-failure details. Adequate for a simple tool but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It lists all 3 parameters with brief meanings ('Blueprint name', 'Player index (usually 0)', 'Optional graph position') and the example clarifies the blueprint_name format (/Game/...). However, the semantics are shallow: node_position array format is not explained (e.g., [x, y] coordinates), and why player_index is 'usually 0' is left vague. Partial compensation only.

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: 'Add a Get Player Character node.' While it closely mirrors the tool name, it confirms the node type distinctly enough to separate it from similarly named siblings like add_get_player_controller_node, and the example shows the expected Blueprint asset path format. It is clear, though it relies on the node name rather than prose to differentiate from 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?

The description provides an invocation example and a KB pointer, but gives no guidance on when to use this tool versus the many sibling node-adding tools (e.g., add_get_player_controller_node, add_get_game_mode_node). There is no mention of prerequisites such as the blueprint needing to exist or be open, and no when-not-to-use guidance. Usage context is only implied.

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

add_get_player_controller_nodeB

Add a 'Get Player Controller' node.

Args: blueprint_name: Blueprint name player_index: Player index (usually 0) node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_player_controller_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
player_indexNo
node_positionNo
blueprint_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 carries the full burden. It states the action and optional parameters but does not disclose side effects, prerequisites like an existing blueprint graph, or behavior when node_position is omitted. It is at least clear that this mutates a blueprint, but nothing beyond that.

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

Conciseness4/5

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

The description is compact and front-loaded: the action sentence comes first, followed by a scannable argument list, a KB link, and an example. There is no 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?

For a three-parameter, one-required tool with an output schema, the description is moderately complete: it includes an example and KB reference. However, with no annotations and no usage guidance or graph-position format details, an agent still lacks context about prerequisites and where this node addition fits.

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%, and the description supplies only terse per-argument lines. 'player_index (usually 0)' adds context and the example shows the blueprint_name format, but 'node_position: Optional graph position' does not explain the expected array format. This is marginal compensation, not full coverage.

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 first sentence identifies the exact operation and resource: adding a 'Get Player Controller' node. This distinguishes it from similar sibling tools like add_get_player_character_node, and the example reinforces the blueprint 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?

No when-to-use or when-not-to-use guidance is given; there are no alternatives or conditions to help an agent choose among the many add_*_node siblings. The only context is a KB pointer, which is reference material rather than selection guidance.

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

add_get_random_reachable_point_nodeA

Add a 'Get Random Reachable Point In Radius' node.

Ch.10: Used in wandering BT task to find a valid NavMesh location. Returns bReachable (bool) and RandomLocation (Vector). Wire to SetValueAsVector on blackboard to store the wander destination.

Args: blueprint_name: Blueprint name (usually BTTask Blueprint) radius: Search radius for random point node_position: Optional [X, Y] graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_get_random_reachable_point_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusNo
node_positionNo
blueprint_nameYes

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?

Annotations are absent, so the description carries the full burden. It does disclose useful behavioral context — returns bReachable (bool) and RandomLocation (Vector), and the intended blackboard wiring. But as a mutation tool (adds a node to a blueprint graph), it never mentions the mutation side effect, failure behavior when no valid point is found, or whether prerequisites like a NavMesh must exist. Partial disclosure, not complete.

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 a one-line purpose, then organized into short labeled sections (usage, returns, wiring, args, KB, example). Slightly long, but every section earns its place, and the concrete example call adds real selection/invocation value.

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 are covered structurally), all three parameters are documented, a KB pointer and a working example are included, and the blackboard wiring is explained. Missing only edge-case behavior (no valid NavMesh point, prerequisites), which is a minor gap for an otherwise complete definition.

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 coverage is 0%, so the description must compensate, and it does thoroughly. Each of the three parameters gets plain-language meaning beyond its raw name/type: blueprint_name "usually BTTask Blueprint", radius "Search radius for random point", node_position "Optional [X, Y] graph position". This is exactly the added value the bare schema lacks.

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?

Opens with a specific verb plus resource: "Add a 'Get Random Reachable Point In Radius' node." It then grounds the tool in a concrete scenario (wandering BT task, valid NavMesh location), which sharply distinguishes it from the large family of add_*_node siblings without requiring the schema to be opened.

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 context for when to use it (wandering BT task to find a valid NavMesh location) and even shows the follow-on wiring (SetValueAsVector on blackboard), plus a KB pointer (knowledge_base/04_AI_SYSTEMS.md#overview). It does not, however, name alternatives or state when not to use it, so exclusion guidance is absent.

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

add_get_relative_location_nodeB

Add a 'Get Relative Location' node for a specific component.

Ch.14: Component transforms are relative to their parent component. DefaultSceneRoot is the actor root; all sub-components have relative transforms.

Args: blueprint_name: Blueprint name component_name: Component to get relative location from node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_relative_location_node(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
component_nameYes

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 burden of disclosing behavior, but it only says 'Add' a node. It does not mention mutation side effects, graph state changes, preconditions (e.g., blueprint must be loaded), or failure behavior. The transform context is domain knowledge, not operational behavior.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the main action, followed by a short context note, parameter list, KB reference, and example. It is concise and every section contributes useful information without excessive verbosity.

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

Completeness3/5

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

For a moderate-complexity mutation tool with no annotations, the description is reasonably complete: it names required and optional parameters, gives an example, and references knowledge base context. However, it omits operational details such as where the node is placed in the graph and what happens after insertion, leaving some ambiguity for an agent.

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 each parameter, clarifies node_position as an optional [X, Y] graph position, and provides a concrete path-style example for blueprint_name. It could be more precise about coordinate types, but it adds real meaning beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource: 'Add a Get Relative Location node for a specific component.' This clearly distinguishes it from actor-level location nodes and setter nodes, though it does not explicitly name sibling 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 provides useful conceptual context about component transforms being relative to their parent, which implies when this tool is relevant. However, it does not explicitly state when to use this node versus alternatives like add_get_actor_location_node or add_set_relative_location_node.

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

add_get_right_vector_nodeA

Add a 'Get Actor Right Vector' node.

Ch.14: Returns normalized right direction vector of the actor. Multiply by -1 to get the left vector.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_right_vector_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 present, so the description carries the behavioral disclosure burden. It clearly communicates the operation and the node's output behavior, including the normalization and left-vector transformation. However, it does not address graph-mutation consequences, duplicate-node behavior, or failure modes for invalid blueprint_name inputs, which leaves 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 compact and front-loaded with the core purpose, followed by a concise example and knowledge-base reference. The Args block partly duplicates schema field names, but given the lack of schema descriptions, it is justified 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 simple two-parameter node-adding tool, this is largely sufficient: it explains what the node does, describes parameters, provides a concrete invocation example, and points to relevant documentation. Since an output schema exists, return-value detail is not a major gap; the main missing piece is explicit sibling routing and side-effect caveats.

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 inline Args block provides the only parameter guidance. It usefully marks node_position as an optional [X, Y] graph position and the example demonstrates a valid blueprint path. Still, blueprint_name is essentially restated as 'Blueprint name', and coordinate units or default placement behavior for node_position are not explained.

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: it adds a 'Get Actor Right Vector' node and explains what that node returns (normalized right direction vector). The mention of negating to get the left vector makes the resource unambiguous and clearly differentiates it from sibling vector-node tools like add_get_forward_vector_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 description implies when to use it—when a right-vector node is needed—and even provides a left-vector usage tip. However, it does not explicitly state when not to use it or name sibling alternatives such as add_get_forward_vector_node or add_get_up_vector_node, so the agent must infer selection from the name and semantics.

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

add_get_rotation_at_distance_along_spline_nodeA

Add a GetRotationAtDistanceAlongSpline node.

From Ch. 19: Returns the rotation at a specified distance along the spline. Paired with GetLocationAtDistanceAlongSpline to orient instances so they face along the spline direction.

Args: blueprint_name: Blueprint to add the node to spline_component_variable: Spline component reference name coordinate_space: "Local" or "World" node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_get_rotation_at_distance_along_spline_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
coordinate_spaceNoLocal
spline_component_variableNoSpline

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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 behavioral disclosure burden. It clearly states this operation adds a node to a blueprint and describes the node's runtime behavior (returns rotation at a distance). It also adds useful context about coordinate space and pairing with the location node, which goes beyond a bare 'Add node' statement.

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 well-structured and front-loaded: the core action comes first, followed by a one-line explanation, pairing context, parameter list, knowledge base pointer, and a concrete example. Each section earns its place, and there is no redundant 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?

For a simple add-node operation with four parameters and an output schema, the description is complete. It covers every parameter, provides a usage example, cites relevant knowledge base material, and describes the node's purpose and pairing behavior. Nothing essential for calling the tool correctly is missing.

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%, but the description lists and explains all four parameters: blueprint_name, spline_component_variable, coordinate_space with the allowed values 'Local' or 'World', and node_position as [X, Y]. This fully compensates for the schema's lack of property descriptions.

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 ('Add a GetRotationAtDistanceAlongSpline node') and immediately explains what the node does: returns the rotation at a specified distance along the spline. It also distinguishes itself from the sibling node GetLocationAtDistanceAlongSpline by noting they are paired for orienting instances along the spline direction.

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

Usage Guidelines4/5

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

The description gives clear context for when to use this node: when you need rotation at a distance along a spline, paired with GetLocationAtDistanceAlongSpline to orient instances. It does not explicitly list exclusions or alternative tools, but the pairing and purpose provide enough guidance for selection.

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

add_get_spline_length_nodeA

Add a GetSplineLength node to get the total length of a Spline.

From Ch. 19: Used in the CalculateNumberOfInstances macro to determine how many instances fit along the spline at a given spacing.

Args: blueprint_name: Blueprint containing the Spline component spline_component_variable: Spline component reference name node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_get_spline_length_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
spline_component_variableNoSpline

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 present, so the description must carry behavioral disclosure itself. It clearly signals a graph mutation via 'Add', and the node_position arg plus example indicate placement in a Blueprint graph. It does not state whether the graph is saved/compiled or what the node's output pins are, though the output schema mitigates the latter.

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 organized into purpose, usage context, Args, KB link, and example, with the core purpose front-loaded. It is compact relative to the number of parameters and contains no filler. The Ch. 19 and KB references are lightweight extras that add context without bloating the definition.

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?

All parameters are semantically covered, a concrete example is provided, and an output schema exists to document return values. The only missing piece is a direct mention of the graph context where the node is added, which is largely implicit from the node_position argument and the overall add-node tool family.

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 schema has 0% description coverage, but the Args block describes all three parameters: blueprint_name as the Blueprint containing the Spline, spline_component_variable as the Spline reference name, and node_position as [X, Y] graph position. This compensates for the empty schema descriptions and adds meaning beyond the raw schema 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 first sentence names a specific verb (Add), a concrete resource (GetSplineLength node), and the result (total length of a Spline). This clearly distinguishes it from sibling node-adders such as add_get_location_at_distance_along_spline_node and add_get_rotation_at_distance_along_spline_node.

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 grounds usage in a concrete scenario: the CalculateNumberOfInstances macro determines how many instances fit along the spline at a given spacing. This gives clear context without explicitly listing exclusions or alternatives. The context is sufficient for an agent to infer when this node is appropriate.

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

add_get_unit_direction_vector_nodeA

Add a 'Get Unit Direction Vector' node - normalized direction from A to B.

Ch.14: Normalized (unit length) vector pointing from From to To. Equivalent to normalize(To - From).

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_unit_direction_vector_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 must carry behavior disclosure. It clearly conveys mutating behavior ('Add') and the resulting node's semantics, but it does not state prerequisites (e.g., blueprint must exist), whether the graph is saved/compiled, or how the From/To pins are wired after 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?

Front-loaded with the operation, then formula, arguments, KB pointer and example in a compact structured block. The chapter reference is useful but slightly extraneous; otherwise no wasted sentences.

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?

Enough context for a simple node-add call, and an output schema covers returns. Lacks explicit statement of where the node is placed (which graph) and any prerequisite/precondition, which matters for an agent acting on an arbitrary blueprint.

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%, so the description must explain parameters; it lists both (blueprint_name, node_position) and marks node_position optional with [X,Y] graph position. However, blueprint_name is explained only as 'Blueprint name' with a path example, leaving the required format/coordinate semantics mostly 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 an action verb ('Add') plus the exact resource ('Get Unit Direction Vector' node) and the vector math it implements ('normalized direction from A to B', 'normalize(To - From)'). This distinguishes it from generic normalize or other get-vector sibling 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?

The mathematical definition gives clear context for when the node is needed: to express direction between two points as a unit-length vector. It does not explicitly name alternatives or say when not to use it, so it falls short of a 5.

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

add_get_up_vector_nodeB

Add a 'Get Actor Up Vector' node.

Ch.14: Returns normalized up direction vector of the actor. Multiply by -1 to get the down vector.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_get_up_vector_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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 discloses that the tool adds a node and describes the node's return value, but does not mention side effects like blueprint modification, whether compilation is required, or any prerequisites. The mutation behavior is under-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?

The description is compact and well-structured: summary, behavioral note, args, KB reference, and example. The 'Ch.14' reference is somewhat cryptic, but the overall length is appropriate and front-loaded.

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

Completeness2/5

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

For a mutation tool with no annotations, the description lacks critical context: whether the blueprint must be open, what the output schema represents, and whether compilation is needed after adding the node. The KB link helps, but the tool cannot be confidently invoked from the description alone.

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

Parameters3/5

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

Schema description coverage is 0%, so the description's Args section must compensate. It does define blueprint_name as the blueprint name and node_position as an optional [X, Y] graph position, adding meaning beyond the raw schema. However, it omits details like coordinate space, valid ranges, or formatting constraints beyond the example.

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

Purpose5/5

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

The description clearly states the tool adds a 'Get Actor Up Vector' node to a blueprint, and explains what the node does (returns normalized up direction vector). This specific verb+resource combination distinguishes it from sibling node-adding tools like add_get_forward_vector_node or add_get_right_vector_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?

There is no explicit guidance on when to use this tool versus alternatives. The description provides an example and a KB link, but no selection criteria, exclusions, or context for choosing this node over other vector node tools. 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.

add_get_variable_nodeB

Add a 'Get [VariableName]' node to read a variable's value.

Args: blueprint_name: Blueprint name variable_name: Variable to get (must exist in the Blueprint) node_position: Optional [X, Y] graph position

Returns: Dict with 'node_id'; output pin named same as variable

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_get_variable_node(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
variable_nameYes
blueprint_nameYes

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 burden. It discloses that the operation reads a variable (suggesting non-destructive behavior), returns a dict with 'node_id', and names the output pin. It also notes the variable must exist. However, it does not explain what happens on failure, whether a node is created in a specific graph, or any side effects on the blueprint graph. Moderate transparency.

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

Conciseness4/5

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

The description is well-structured with clear sections for Args, Returns, KB, and an Example. It is concise, with no filler, and every part serves a purpose. The Args section does repeat schema information, but since the schema has no descriptions, it is necessary. It could be slightly tighter, but overall it earns high marks for clarity.

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

Completeness3/5

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

The description covers the action, parameters, return value, and includes an example and KB reference. However, it omits important operational context such as which graph the node is added to, how the node is located after creation, and error behavior when the variable doesn't exist. Given an output schema existsached (though not shown), the return description is adequate, but the missing graph context leaves a notable 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. It provides a concise explanation for each parameter: blueprint_name, variable_name (with the constraint 'must exist'), and node_position (explicitly optional with '[X, Y]' hint). This goes beyond the schema's raw types and is sufficient for basic usage, though it could add more detail on node_position format or 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 clearly states a specific verb and resource: 'Add a 'Get [VariableName]' node to read a variable's value.' It also specifies the return type and output pin, making the purpose unambiguous. However, it does not explicitly differentiate from the sibling 'add_blueprint_variable_get_node', which may appear to serve a nearly identical role, so it doesn't earn a 5.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as add_blueprint_variable_get_node or other node-adding tools. The description mentions a prerequisite (variable must exist) and provides an example, but that implies usage rather than explicitly stating selection criteria, exclusions, or alternatives.

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

add_get_variant_sets_nodeA

Add a GetVariantSets node to get all Variant Sets in a Level Variant Sets asset.

From Ch. 20: Used in BP_Configurator to iterate over all Variant Sets and generate tab-style category buttons for each set.

Args: blueprint_name: Blueprint to add the node to lvs_variable: Level Variant Sets variable name node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_get_variant_sets_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
lvs_variableNoLevelVariantSets
node_positionNo
blueprint_nameYes

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 behavioral burden. It states that the tool adds a node, but does not disclose side effects such as whether the blueprint must already exist, whether the node is automatically connected, whether the operation is idempotent, or whether the blueprint asset is saved. The Args section describes parameters, not behavior beyond the basic mutation.

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

Conciseness4/5

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

The description is well-structured: purpose first, then usage context, then parameters, then KB reference and example. It is not overly verbose, though the Args section partially duplicates schema information. The front-loaded purpose sentence ensures an agent quickly understands 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?

The description provides a useful usage context, parameter explanations, a KB reference, and an example, and an output schema exists so return values are covered. However, it does not state prerequisites (e.g., existing blueprint or Level Variant Sets asset) or what happens to existing nodes, leaving some gaps for a tool with no annotation support. For a simple add-node operation it is mostly adequate but not exhaustive.

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 with an explicit Args block explaining each parameter: 'blueprint_name: Blueprint to add the node to', 'lvs_variable: Level Variant Sets variable name', and 'node_position: [X, Y] graph position'. This adds meaning beyond the bare schema titles and defaults. An example further clarifies usage.

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

Purpose4/5

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

The description opens with a specific verb and resource: 'Add a GetVariantSets node to get all Variant Sets in a Level Variant Sets asset.' This clearly states what the tool does and distinguishes it from other node-adding tools by naming the exact node type. It does not explicitly name sibling alternatives, 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 Guidelines4/5

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

The description provides a concrete usage context: 'Used in BP_Configurator to iterate over all Variant Sets and generate tab-style category buttons for each set.' This tells an agent when this tool is appropriate. It does not explicitly list exclusions or alternatives, but the contextual use case is clear.

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

add_hit_eventC

Add an OnActorHit event node (fires when actor is hit by collision).

Args: blueprint_name: Blueprint name node_position: Optional graph position

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: add_hit_event(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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. It states the node fires when actor is hit by collision, which is useful, but it doesn't disclose side effects: whether it modifies the blueprint graph, whether it requires compilation, whether it can create duplicate nodes, or what happens if the blueprint doesn't exist. The example shows a path format but doesn't explain error behavior or node placement details.

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 compact: a one-line summary, an Args section, a KB reference, and an example. It's front-loaded with the core purpose. The KB reference and example are useful, though the Args section largely repeats parameter names. No wasted words, but the structure could be tighter by integrating the example into the main description.

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

Completeness2/5

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

For a tool that modifies a blueprint graph, the description lacks critical context: no mention of whether the blueprint must be loaded, whether the node is placed in the event graph, how node_position is interpreted, or what the output schema contains (though output schema exists, the description doesn't reference it). The KB reference helps but is not sufficient. The example is good but doesn't cover error cases or prerequisites.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It lists blueprint_name and node_position with brief explanations ('Blueprint name', 'Optional graph position'), but these are minimal and don't add much beyond the parameter names. The example shows blueprint_name format ('/Game/MCP_Test/BP_Example') which is helpful, but node_position format (array of numbers) is not explained—what coordinates, what order, what units? The description doesn't fully compensate for the 0% schema coverage.

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

Purpose4/5

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

The description clearly states the tool adds an OnActorHit event node to a blueprint and explains what the event fires on (actor hit by collision). It distinguishes itself from the sibling add_overlap_event by naming the specific event type. However, it doesn't explicitly contrast with add_overlap_event or other event-adding tools, so it's 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?

The description implies usage context: it's for adding an OnActorHit event node to a blueprint, and the example shows a typical call. It doesn't explicitly state when to use this over alternatives like add_overlap_event or add_on_see_pawn_event, nor does it mention prerequisites (e.g., blueprint must exist, must be in graph editing mode). The KB reference provides some guidance but is not explicit about selection criteria.

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

add_horizontal_box_to_widgetA

Add a Horizontal Box layout container to a Widget Blueprint.

From Ch. 11 (Round Transition screen): Horizontal Box arranges child widgets horizontally (left to right). Used for side-by-side text + values.

Args: widget_name: Widget Blueprint name box_name: Component name for the Horizontal Box position: [X, Y] position size: [Width, Height] anchor_preset: UMG anchor preset ("TopLeft", "TopCenter", "Center", etc.) size_to_content: Auto-size to fit children

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_horizontal_box_to_widget(widget_name="/Game/MCP_Test/WBP_Example", box_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
box_nameYes
positionNo
widget_nameYes
anchor_presetNoTopCenter
size_to_contentNo

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?

No annotations are supplied, so the description carries the full burden of behavioral disclosure. It clearly states the action and parameters, but it does not describe potential side effects such as whether the tool edits the widget graph in place, requires recompilation, or how it behaves if the box name already exists. The description gives a positive use case and a KB link, but it lacks deeper behavioral context beyond the core addition.

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

Conciseness4/5

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

The description is well-structured and appropriately sized. It front-loads the core action, includes a brief use-case explanation, lists parameters with clear explanations, provides a KB reference, and gives a concrete example. The chapter reference ('From Ch. 11') adds context but is marginally tangential; overall, every sentence 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?

Given the tool's complexity (6 parameters, with defaults and an output schema), the description provides enough for an agent to call it correctly: it explains all parameters, gives an example, and references a KB entry. It does not explicitly cover edge cases (e.g., widget existence, duplicate names), but the core usage is well covered. The presence of an output schema reduces the need to describe return values.

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%, leaving the description as the sole source of parameter meaning. The description provides an Args list that explicitly explains all six parameters: widget_name, box_name, position, size, anchor_preset, and size_to_content. Each meaning is clear, and defaults are implied or stated. This fully compensates for the schema's lack of descriptions.

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 opens with a clear verb and resource: 'Add a Horizontal Box layout container to a Widget Blueprint.' It explains what a Horizontal Box does ('arranges child widgets horizontally') and distinguishes it from siblings like add_vertical_box_to_widget by stating the horizontal arrangement and use case ('side-by-side text + values'). An agent can immediately understand what this tool does and how it differs from similar layout 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?

The description provides a clear use case: 'Used for side-by-side text + values.' This gives context for when to use the tool)Skip to content. However, it does not explicitly mention alternatives or when not to use it, unlike the highest calibration score which names sibling alternatives. The KB reference and example further help, but exclusions are absent.

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

add_ik_rig_retarget_chainA

Add a named retarget chain to an existing IK Rig asset.

Retarget chains map a contiguous range of bones (e.g. "Spine" from pelvis → chest, or "LeftArm" from shoulder → hand) so the IK Retargeter knows how to transfer motion from source to target.

Call this after create_ik_rig when auto_generate_chains=False, or to add extra chains the auto-generator missed.

Args: ik_rig_name: Asset name (e.g. "IKR_MyCharacter") ik_rig_path: Content folder (e.g. "/Game/Animation/IKRigs") chain_name: Logical name for the chain (e.g. "Spine", "LeftArm") start_bone: Root bone of the chain (e.g. "spine_01") end_bone: Leaf bone of the chain (e.g. "spine_05") ik_goal_name: Optional IK goal name to attach to the chain end bone

Returns: dict with keys: success, chain_name, message

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: add_ik_rig_retarget_chain(ik_rig_name="ExampleName", ik_rig_path="/Game/MCP_Test/Example", chain_name="ExampleName", start_bone="Example", end_bone="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
end_boneYes
chain_nameYes
start_boneYes
ik_rig_nameYes
ik_rig_pathYes
ik_goal_nameNo

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?

No annotations are provided, so the description carries the full burden. It mentions the operation (adds a chain) and returns a dict with success/chain_name/message, and notes a prerequisite (call after create_ik_rig). However, it does not disclose potential side effects (e.g., overwriting existing chains), required permissions, or error behavior beyond the message field. This is a moderate gap given the absence of annotations.

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

Conciseness4/5

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

The description is well-structured with sections for purpose, usage, args, returns, KB reference, and example. It is longer than minimal but every part serves a purpose—no redundancy. The use of headers and examples aids readability, though it could be slightly more concise by trimming the retarget chain explanation.

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 description covers the main operational aspects: what it does, when to use it, parameter meanings, return format, a knowledge base reference, and a full example. It lacks explicit error-handling details or behavior on duplicate chains, but given the tool's moderate complexity and the presence of an output schema, it is sufficiently complete for an agent to call it correctly.

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?

The schema has zero description coverage, so the description fully compensates by providing detailed explanations for every parameter with concrete examples (e.g., ik_rig_name="IKR_MyCharacter", start_bone="spine_01"). It also clarifies the optional ik_goal_name. This adds substantial meaning 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?

The description clearly states the tool adds a named retarget chain to an existing IK Rig asset. It explains what retarget chains do (map bone ranges for motion transfer) and distinguishes it from siblings like create_ik_rig and set_ik_rig_retarget_root by specifying its exact role. The purpose is specific and unambiguous.

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

Usage Guidelines4/5

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

The description explicitly states when to call it: after create_ik_rig when auto_generate_chains=False, or to add extra chains the auto-generator missed. This provides clear usage context. However, it does not explicitly mention when not to use it or alternative tools for related tasks, though the conditions imply the appropriate scenario.

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

add_image_to_widgetB

Add an Image widget to a Widget Blueprint.

Args: widget_name: Widget Blueprint name image_name: Component name texture_path: Texture asset path (optional) position: [X, Y] position size: [Width, Height] color: [R,G,B,A] tint color

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_image_to_widget(widget_name="/Game/MCP_Test/WBP_Example", image_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
colorNo
positionNo
image_nameYes
widget_nameYes
texture_pathNo

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 implies a mutating operation ('Add') but does not state whether existing components are overwritten, whether the widget blueprint must already exist, what happens if texture_path is empty, or whether the change requires compilation. The KB link hints at more context but does not provide it inline.

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 compact and front-loaded with its purpose. The Args block, KB pointer, and example are all useful and directly support calling the tool. No filler or redundant restatement of the tool name is present.

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

Completeness3/5

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

The description covers all parameters and gives an example, but it omits behavioral context such as whether the widget blueprint must already exist, whether the image widget is added to a specific parent/canvas, and what the output contains. Given the tool has 6 parameters, no annotations, and a moderately complex UI-construction domain, more setup and side-effect context would be needed for fully confident 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 explains every parameter: widget_name is the Widget Blueprint name, image_name is the component name, texture_path is optional, position is [X, Y], size is [Width, Height], and color is [R,G,B,A] tint. The example also clarifies the expected path-like format for widget_name. It stops short of explaining coordinate space or valid ranges, but the coverage is 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 action verb and resource: 'Add an Image widget to a Widget Blueprint.' This distinguishes it from sibling tools like add_text_block_to_widget and add_button_to_widget. However, it does not explicitly differentiate itself from those siblings by name, so it falls just short of full distinction.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives. It does not mention prerequisites like creating the Widget Blueprint first, nor does it compare against add_text_block_to_widget, add_button_to_widget, or other widget-related tools. The KB reference points to a file but does not state when this tool is the right choice.

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

add_input_mappingA

Add an input mapping to an existing Input Mapping Context (IMC).

Args: imc_name: Name of the Input Mapping Context (e.g., "IMC_Default") action_name: Name of the Input Action (e.g., "IA_Jump", "IA_WormholeTP") key: Key name to bind (e.g., "SpaceBar", "V", "T", "LeftMouseButton")

Returns: dict with success status, imc_name, action_name, key, and mapping_index

Example: add_input_mapping(imc_name="ExampleName", action_name="ExampleName", key="ExampleName")

KB: see knowledge_base/15_INPUT_SYSTEM_AND_UMG.md#overview

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
imc_nameYes
action_nameYes

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 bears the full burden of behavioral disclosure. It does well by stating the mutation target (existing IMC), the operation (add mapping), and the return format ('dict with success status, imc_name, action_name, key, and mapping_index'). It does not cover failure modes or validation side effects, but the provided return contract adds meaningful transparency.

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

Conciseness4/5

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

The description is well-structured with a clear summary, Args section, Returns section, Example, and KB pointer. It is reasonably concise, though the example reuses 'ExampleName' for every argument, which is less informative than using realistic values for at least the key.

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

Completeness4/5

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

Given the bare input schema, absent annotations, and no output schema, the description provides enough information to call the tool correctly: parameter meanings, examples, return shape, and a knowledge-base reference. It could be more complete with explicit failure/error behavior and a note on prerequisite creation of the IMC.

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 comprehensively. Each parameter is explained with its role and concrete examples: imc_name ('IMC_Default'), action_name ('IA_Jump'), and key ('SpaceBar'). This goes far beyond the bare schema properties.

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 opens with a specific verb and resource: 'Add an input mapping to an existing Input Mapping Context (IMC).' This clearly states what the tool does and the 'existing' qualifier distinguishes it from sibling creation tools like create_input_mapping_context.

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 'existing Input Mapping Context' implies the IMC must already be created, which offers some usage context. However, it does not explicitly state when to use this tool vs. alternatives such as create_input_mapping_context, create_enhanced_input_action, or inspect_input_mapping_context.

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

add_instanced_mesh_add_instance_nodeA

Add an AddInstance node for an Instanced Static Mesh component.

From Ch. 19: The core of procedural generation. AddInstance takes an Instance Transform (Location, Rotation, Scale) and adds a new mesh instance at that transform. Called in loops to batch-create many instances.

Args: blueprint_name: Blueprint to add the node to instanced_mesh_variable: Instanced Static Mesh component variable name node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_instanced_mesh_add_instance_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
instanced_mesh_variableNoInstancedStaticMesh

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 must carry the full burden of behavioral disclosure. It explains what AddInstance does conceptually but omits prerequisites (e.g., blueprint existence, valid component variable), side effects on the graph, and failure modes such as duplicate node creation or validation.

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 reasonably concise, with the purpose front-loaded, followed by an args list, KB reference, and example. The 'From Ch. 19' reference adds context without being excessive; no sentences are wasted.

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 value explanation is not required. However, the description omits prerequisites and behavioral notes (e.g., whether the node is auto-wired, whether it requires an existing Instanced Static Mesh component). For a simple node-adder, it is mostly complete but leaves practical 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%, yet the description compensates by listing all three args with meaningful one-line meanings: 'Blueprint to add the node to', 'Instanced Static Mesh component variable name', and '[X, Y] graph position'. This adds context beyond the schema's titles and defaults, though more detail could be provided.

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 opens with a specific verb and resource: 'Add an AddInstance node for an Instanced Static Mesh component.' It further explains what AddInstance does conceptually, distinguishing it from generic node adders and the sibling add_instanced_static_mesh_component.

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: 'The core of procedural generation' and 'Called in loops to batch-create many instances.' This implies when to use the tool, but it does not explicitly exclude alternatives or describe 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.

add_instanced_static_mesh_componentA

Add an Instanced Static Mesh component to a Blueprint.

From Ch. 19: The Instanced Static Mesh (ISM) component is optimized to render many copies of the same mesh efficiently. It's the core tool for procedural generation and environment population.

Note: There is also HISM (Hierarchical ISM) for meshes with LOD.

Args: blueprint_name: Blueprint to add the component to component_name: Component name in the Components panel static_mesh_path: Static Mesh asset to assign (can be set later) attach_to_root: Attach to root component (True) or as child

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_instanced_static_mesh_component(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
attach_to_rootNo
blueprint_nameYes
component_nameNoInstancedStaticMesh
static_mesh_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of explaining behavior. It discloses that static_mesh_path can be set later and that attach_to_root controls root vs child attachment, which is helpful. However, it does not mention side effects such as whether the Blueprint asset is saved/compiled or what output is produced, leaving a meaningful transparency gap for a mutating 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 well organized with intro, context, note, args, KB link, and a concrete example. It is not padded; the only mildly non-essential part is the Ch. 19 background, which still supports purpose clarity.

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?

All parameters are documented, defaults are clarified, an invocation example is present, and a KB reference is provided for deeper context. Because an output schema exists, the lack of return-value detail in the description is acceptable; remaining gaps are minor (e.g., whether the Blueprint needs to be loaded first).

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%, and the Args section fully compensates by giving clear meaning to every parameter: blueprint_name's role, component_name's panel location, static_mesh_path's optionality, and attach_to_root's True/False behavior. This exceeds what the bare schema provides.

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

Purpose4/5

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

The description defines a clear action: 'Add an Instanced Static Mesh component to a Blueprint,' naming both the resource and the component type. It gives useful domain context (ISM for many copies, HISM for LOD), but it does not explicitly distinguish this tool from sibling component-adding tools like add_component_to_blueprint.

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 context that helps an agent decide when ISM is appropriate, and it explicitly notes HISM as an alternative for meshes with LOD. It stops short of enumerating sibling tools or giving a clear 'when-not-to-use' rule, but the guidance is nonetheless meaningful.

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

add_interface_event_nodeA

Add an event override node for a Blueprint Interface function.

Interface events are useful for interactables, pickups, objectives, and other vertical-slice workflows where actors share behavior contracts. Verify the Blueprint implements the interface before relying on runtime dispatch, then compile and read back the graph.

Args: blueprint_name: Blueprint that receives the interface event node. interface_name: Blueprint Interface asset name or path. function_name: Interface function to implement as an event. node_position: Optional [X, Y] graph position.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#events-and-dispatch Example: add_interface_event_node(blueprint_name="/Game/BP_Door", interface_name="/Game/BPI_Interactable", function_name="Interact")

ParametersJSON Schema
NameRequiredDescriptionDefault
function_nameYes
node_positionNo
blueprint_nameYes
interface_nameYes

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 behavioral disclosure burden. It adds useful context by warning the agent to verify interface implementation before relying on runtime dispatch and to compile/read back the graph afterward. However, it does not state whether the tool saves/mutates the asset, whether missing interface implementation causes failure, or what side effects beyond node insertion occur.

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

Conciseness5/5

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

The description is compact and well-structured: a one-line purpose, a short justification for the pattern, a verification note, parameter semantics, a KB pointer, and a realistic example. Every sentence earns its place, and no redundant boilerplate is present.

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 Blueprint graph mutation tool, the description provides enough to call the tool correctly: clear action, parameter meanings, optionality, workflow guidance, and an example. An output schema exists, so return-value detail is not required. It could be more complete by stating behavior when the target Blueprint does not implement the interface, but the verification caveat partially covers that risk.

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?

The input schema provides only parameter names and basic types, and schema description coverage is 0%. The description fully compensates by explaining each parameter's role: blueprint_name is the Blueprint receiving the node, interface_name is the asset name or path, function_name is the interface function to implement, and node_position is an optional [X, Y] graph position. The concrete example further clarifies expected values and path formatting.

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 begins with a specific action and resource: 'Add an event override node for a Blueprint Interface function.' This clearly distinguishes it from sibling tools like add_interface_function_node and add_call_interface_function_node by narrowing it to the event override variant. It is not a tautology and names the exact graph operation.

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

Usage Guidelines4/5

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

The description gives useful usage context, explaining that interface events are appropriate for interactables, pickups, objectives, and vertical-slice workflows with shared behavior contracts. It also gives a practical verification instruction: confirm the Blueprint implements the interface and compile/read back afterward. It stops short of explicit when-not-to-use guidance or naming alternatives, so it earns a 4 rather than a 5.

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

add_interface_function_nodeB

Add a 'Message [FunctionName]' interface call node.

Interface messages can be sent to any actor implementing the interface without knowing its exact class.

Args: blueprint_name: Calling Blueprint interface_name: Interface name function_name: Interface function to call node_position: Optional graph position

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: add_interface_function_node(blueprint_name="/Game/MCP_Test/BP_Example", interface_name="ExampleName", function_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
function_nameYes
node_positionNo
blueprint_nameYes
interface_nameYes

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 behavioral disclosure burden. It clearly states the tool adds an interface call node and allows an optional graph position, and the example illustrates expected input. However, it does not mention side effects on the blueprint graph, error behavior, or what the output schema represents. It adds some context but lacks rich behavioral detail.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the core action. The domain explanation, args list, KB reference, and example each serve a purpose. It is slightly wordy with repeated 'interface' terms, but overall efficient and scannable.

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

Completeness3/5

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

For a graph-node creation tool with an output schema, the description is reasonably complete: it states the operation, lists parameters, gives a reference, and includes a concrete example. However, it omits prerequisites such as whether the interface must already exist, how node_position should be structured, and what happens if required names are invalid. The KB link mitigates but does not fully compensate.

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%, so the description must compensate. It lists all four parameters with brief meanings and provides an example call showing a full blueprint path. However, several descriptions are near-tautological ('interface_name: Interface name'), and node_position gives no coordinate semantics. The example helps but does not fully close 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?

The description states a clear verb and resource: 'Add a Message [FunctionName] interface call node.' It also explains the conceptual purpose of interface messages. However, it does not distinguish this tool from the similarly named sibling add_call_interface_function_node, 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 gives useful conceptual context: interface messages can be sent to any actor implementing the interface without knowing its exact class. This implies a use case, but there is no explicit guidance on when to prefer this tool over alternatives such as add_blueprint_function_node or add_interface_event_node, and no when-not-to-use conditions.

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

add_is_valid_class_nodeA

Add an IsValidClass node to check if a class reference is valid.

From Ch. 13 (BP_RandomSpawner): Used to validate a Class Reference variable before passing it to SpawnActorFromClass. Returns True if the class is valid.

Args: blueprint_name: Blueprint to add the node to node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_is_valid_class_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the burden. It discloses the mutation ('Add ... node') and the node's runtime behavior ('Returns True if the class is valid'), but does not mention side effects such as blueprint modification persistence, compile/save requirements, or failure behavior for invalid blueprint paths.

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, followed by a useful provenance/context, concise args, a KB pointer, and an example. Every line earns its place without 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?

For a simple add-node tool, the description covers purpose, args, and example. Gaps include the tool's own return value (output schema not visible), prerequisites (target blueprint must exist), and consequences of adding the node in an existing graph. These are not critical but would improve completeness.

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 compensates by explaining both parameters: blueprint_name is 'Blueprint to add the node to' and node_position is '[X, Y] graph position', reinforced by a concrete example path. It could add format constraints for node_position, but it is adequate.

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 opens with a specific verb and resource: 'Add an IsValidClass node to check if a class reference is valid.' It further grounds the purpose with a concrete use case: 'Used to validate a Class Reference variable before passing it to SpawnActorFromClass.' This clearly distinguishes it from generic sibling add_is_valid_node.

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?

Clear when-to-use guidance is present via the Ch. 13 context: validate a Class Reference variable before spawning. It does not, however, explicitly state when not to use this tool or name alternative tools, leaving some routing inference to the agent.

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

add_is_valid_nodeA

Add an IsValid macro node to check if an object reference is valid (non-null).

From Ch. 3, 4, 11, 13: Used before accessing object references to prevent crashes from accessing null/destroyed actors. Returns Is Valid and Is Not Valid execution pins.

Args: blueprint_name: Blueprint to add the node to node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_is_valid_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 transparency burden and does disclose a key behavioral trait: the node 'Returns Is Valid and Is Not Valid execution pins.' It also explains the safety intent of the node. It does not mention error behavior or side effects on the blueprint graph, but the main observable behavior is covered.

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 well structured: a one-sentence summary, a short usage rationale, a compact Args list, a KB pointer, and an example. Each section earns its place and the most important information is front-loaded.

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 two-parameter node-adding tool, the description covers the action, use case, arguments, return pins, and an example. It does not describe failure modes or prerequisites such as the Blueprint needing to exist, but the example and KB pointer largely cover the necessary 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%, so the description must compensate, and it does with an Args section that explains blueprint_name as the target Blueprint and node_position as an [X, Y] graph position. The example gives a concrete blueprint_name format. It adds meaning beyond the bare schema titles, though it omits optionality details for node_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?

The description opens with a specific verb and resource: 'Add an IsValid macro node to check if an object reference is valid (non-null).' It clearly states what the tool produces and its purpose. It does not explicitly name or differentiate sibling tools like add_is_valid_class_node, 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 Guidelines4/5

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

The description gives clear usage context: 'Used before accessing object references to prevent crashes from accessing null/destroyed actors.' This tells an agent when the node is appropriate. It does not mention exclusions or alternative tools, but the guidance is specific enough for a 4.

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

add_lerp_nodeB

Add a 'Lerp' (Linear Interpolation) node.

Ch.6: Used for smooth transitions like FOV zoom and stamina drain. Lerp(A, B, Alpha) = A + Alpha * (B - A). Alpha ranges 0.0-1.0.

Args: blueprint_name: Blueprint name operand_type: "Float", "Vector", "Rotator", "LinearColor" node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_lerp_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
operand_typeNoFloat
node_positionNo
blueprint_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?

With no annotations, the description carries the full burden of behavioral disclosure. It explains the math and operand types but does not mention side effects (e.g., modifying the blueprint, requiring compilation, or whether the operation is reversible), prerequisites for blueprint_name, or error conditions.

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

Conciseness4/5

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

The description is well-organized with labeled sections (Args, KB, Example) and includes the formula concisely. It avoids fluff, though the "Ch.6" reference is cryptic and the example could be more complete.

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?

While an output schema exists so return values need not be explained, the description omits important context: which graph the node is added to, whether the blueprint must be open/loaded, and how node_position maps to coordinates. The definition is adequate for a simple caller but leaves several operational details ambiguous.

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

Parameters3/5

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

Schema descriptions are at 0% coverage, so the description must compensate. It lists all three parameters with brief explanations and gives a concrete example for blueprint_name. However, it lacks detail on node_position units, the exact string format for blueprint_name, or the meaning of operand_type in context.

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 action and resource: "Add a 'Lerp' (Linear Interpolation) node." This clearly identifies the tool's purpose and distinguishes it from other add_*_node siblings. The formula and use case further reinforce what the node does.

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 text mentions typical use cases ("smooth transitions like FOV zoom and stamina drain") and provides an example, but it does not explicitly state when not to use this tool or name alternatives. The guidance is implied rather than explicit.

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

add_line_trace_by_channel_nodeA

Add a 'Line Trace By Channel' node.

Ch.14: Tests for collisions along a line using Visibility or Camera channel. Returns a single Hit Result (first actor hit). Use break_hit_result_node to access hit data (Location, Hit Actor, Impact Normal, etc.)

Args: blueprint_name: Blueprint name trace_channel: "Visibility" or "Camera" draw_debug: "None", "ForOneFrame", "ForDuration", "Persistent" node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_line_trace_by_channel_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
draw_debugNoNone
node_positionNo
trace_channelNoVisibility
blueprint_nameYes

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 burden of explaining behavior. It discloses the node's runtime output, the allowed debug modes, downstream hit-data access, and a KB reference. It could further clarify tool-level side effects or exact return value, but the 'add node' behavior is unambiguous and well contextualized.

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 compact and well organized: purpose, behavior, args, KB link, and example. Each section earns its place, and the key behavioral facts are front-loaded. Minor redundancy exists in restating the tool name in the first sentence, but it does not waste space.

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 4-parameter graph-mutation tool with no annotations and an output schema present, the description covers the node's purpose, return semantics, downstream usage, parameters, and gives a runnable example. It lacks explicit alternatives guidance against sibling trace nodes, but overall an agent has enough context to call it correctly.

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 fully compensates: it enumerates all four parameters, gives exact allowed values for trace_channel and draw_debug, marks node_position as optional, and provides an example showing the blueprint_name path format. This is much more informative than the bare schema titles.

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 opens with a specific verb+resource ('Add a Line Trace By Channel node') and then explains the node's behavior: collision testing along a line using Visibility or Camera channel, returning a single Hit Result. This differentiates it from sibling tools like add_multi_line_trace_by_channel_node and add_line_trace_for_objects_node without needing to open their schemas.

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

Usage Guidelines3/5

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

Usage context is implied through the behavioral description (single hit, Visibility/Camera channel), and the description points to break_hit_result_node for downstream data access. However, it never explicitly states when to choose this tool over sibling trace nodes or when not to use it, so the agent must infer the selection logic.

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

add_line_trace_for_objects_nodeA

Add a 'Line Trace For Objects' node - traces for specific object types.

Ch.14: LineTraceForObjects filters by Object Type instead of channel. Object types: WorldStatic, WorldDynamic, Pawn, PhysicsBody, Vehicle, Destructible, Projectile. Returns first hit matching an object type.

Args: blueprint_name: Blueprint name object_types: List of object types to trace against draw_debug: "None", "ForOneFrame", "ForDuration", "Persistent" node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_line_trace_for_objects_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
draw_debugNoNone
object_typesNo
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the full burden of behavioral disclosure. It explains the key behavior well: filters by object type, lists valid object types, and states 'Returns first hit matching an object type.' However, it does not disclose mutation side effects on the blueprint graph, compile behavior, or failure conditions, which matters for a graph-modifying tool.

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

Conciseness5/5

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

The description is compact, front-loaded with the core action, and uses scannable sections for parameters, knowledge base reference, and an example. Every line adds value and none restate schema 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?

Given 0% schema coverage and no annotations, the description covers the essential call contract: parameters, object type domain, optionality, and an example. The output schema exists, so return values need not be spelled out. Minor omissions like whether object_types is optional and what happens when nothing is hit keep this from a 5.

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 fully compensates. It documents each parameter: blueprint_name, object_types with the accepted object type list, draw_debug with the four allowed values, and node_position as an optional [X, Y] coordinate. This is exactly the semantic enrichment the schema lacks.

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: 'Add a Line Trace For Objects node', and immediately distinguishes it from the channel-based alternative by saying it 'filters by Object Type instead of channel.' This makes its purpose unmistakable even among many trace-node siblings.

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

Usage Guidelines4/5

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

The description gives clear context for when to use this tool: when ray tracing should filter by object type rather than trace channel. It does not explicitly name sibling tools like add_line_trace_by_channel_node, but the 'instead of channel' contrast provides enough routing guidance for an agent.

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

add_line_trace_nodeB

Add a Line Trace node (raycast from point A to point B).

Line traces check for physics collision along a line. Useful for hit detection, visibility checks, etc.

Args: blueprint_name: Blueprint name trace_type: Trace function: "LineTraceSingleByChannel" - single hit by collision channel "LineTraceSingleByObjectType" - single hit by object type "SphereTraceSingleByChannel" - sphere sweep "BoxTraceSingleByChannel" - box sweep "MultiLineTraceSingleByChannel" - all hits node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_line_trace_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
trace_typeNoLineTraceSingleByChannel
node_positionNo
blueprint_nameYes

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 behavioral burden. It clearly communicates that the tool adds a node and describes the node's runtime behavior (physics collision check), but it does not disclose tool-level side effects such as whether the blueprint asset is saved/compiled, whether the node is left unconnected, or whether existing graph contents are affected.

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

Conciseness4/5

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

The description is well-structured with an intro, purpose sentence, argument list, KB reference, and example. It is moderately sized and front-loads the core action, though the trace_type enumeration and example add necessary detail rather than 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?

For a tool with three parameters, an output schema, and no annotations, the description is mostly complete: it covers the key parameter semantics and provides an example and KB pointer. It falls short in explaining how this generic add_line_trace_node relates to the many sibling trace-specific tools, and it never states what the tool does to the blueprint graph beyond 'adds a node.'

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 primary source of parameter meaning. It compensates reasonably well by explaining trace_type with specific value labels and semantics, giving blueprint_name an example path, and noting node_position is optional. However, node_position's exact format and coordinate meaning remain vague, and blueprint_name's expected path format is only implied by the example.

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 first sentence clearly states the action ('Add a Line Trace node') and the resource (a blueprint node), and the parenthetical 'raycast from point A to point B' further clarifies the node's nature. However, it does not differentiate itself from sibling tools like add_line_trace_by_channel_node, even though the trace_type parameter overlaps with those dedicated trace node tools.

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 provides some usage context ('Useful for hit detection, visibility checks, etc.'), which implies when a line trace node might be needed. It does not explicitly state when to prefer this tool over the many alternative trace node tools, nor does it mention 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.

add_load_game_from_slot_nodeA

Add LoadGameFromSlot + DoesSaveGameExist + Cast nodes to a Blueprint.

From Ch. 11: the complete LoadRound macro pattern. Checks if a save file exists, loads it, casts to the SaveGame class, and stores the reference. Uses Branch node to handle both existing and new save files.

Args: blueprint_name: Blueprint to add nodes to slot_name_variable: Variable holding the save slot filename save_game_class: SaveGame Blueprint class name (e.g., "BP_SaveInfo") save_game_variable: Variable to store the loaded SaveGame reference user_index: Player index node_position: [X, Y] graph position for the first node

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_load_game_from_slot_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
user_indexNo
node_positionNo
blueprint_nameYes
save_game_classNoBP_SaveInfo
save_game_variableNoSaveInfoRef
slot_name_variableNoSaveSlotName

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 provided, the description carries the full burden of disclosing behavioral traits. It does well by explaining the complete flow: 'Checks if a save file exists, loads it, casts to the SaveGame class, and stores the reference. Uses Branch node to handle both existing and new save files.' This gives the agent a clear mental model of what happens and what to expect. It stops short of detailing side effects like whether variables are created or modified beyond the listed ones, but the core behavior is transparent.

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 well-structured and front-loaded: a one-sentence summary, followed by a functional overview, a parameter list, a KB reference, and an example. Every sentence adds value, and the layout lets an agent quickly extract the purpose, behavior, and invocation details without wading through fluff.

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?

The description provides a complete picture for an agent to call this tool correctly: it includes all parameter semantics, a concrete example, and a knowledge-base link for deeper context. The output schema exists, so return values do not need description. The only minor gap is not explicitly stating whether additional variables are auto-created, but the parameter explanations make the intended wiring clear enough.

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 parameter meanings rely entirely on the description. The 'Args' block adds meaningful, concise semantics for all six parameters, e.g., slot_name_variable is 'Variable holding the save slot filename' and save_game_class includes an example ('BP_SaveInfo'). The example call further clarifies usage. This fully compensates for the missing schema descriptions.

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-resource combination: 'Add LoadGameFromSlot + DoesSaveGameExist + Cast nodes to a Blueprint.' It clearly names the exact nodes involved, making the tool's function unambiguous. It does not explicitly distinguish itself from sibling node-adding tools, but the composite pattern is unique enough that an agent can tell it apart without additional context.

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 references 'Ch. 11: the complete LoadRound macro pattern' and explains the save/load workflow, giving strong contextual clues about when this tool would be used. However, it never explicitly states when to choose this tool over the many related siblings (e.g., add_save_game_to_slot_node, setup_full_save_load_system) or what conditions make it the right choice. Usage is implied rather than clearly directed.

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

add_logical_operator_nodeA

Add a logical (boolean) operator node.

Ch.2: Logical operators combine boolean conditions:

  • AND: True only if BOTH inputs are true

  • OR: True if EITHER input is true

  • NOT: Inverts a boolean (True→False, False→True)

  • XOR: True only if inputs are DIFFERENT (exclusive OR)

Args: blueprint_name: Blueprint name operator: "AND", "OR", "NOT", "XOR" node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_logical_operator_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNoAND
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 explains the boolean semantics of the operators but says little about the tool's actual behavior: prerequisites such as the blueprint existing, side effects on the graph, error behavior, or what the function returns. The truth table is node semantics, not tool behavior.

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

Conciseness4/5

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

The description is compact and well-structured: a one-line purpose, operator table, args list, KB pointer, and example. It is front-loaded with the key statement. Minor noise comes from the 'Ch.2:' prefix and KB reference line, but they do not undermine readability.

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

Completeness4/5

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

Given that an output schema exists and this is a simple three-parameter node-adding tool, the description covers every argument, provides the operator meanings, includes a KB pointer, and gives a realistic example. It leaves prerequisites and side effects to inference, but it is sufficient for an agent to invoke the tool correctly in the common case.

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 description compensates meaningfully: operator gets explicit allowed values, node_position is explained as an optional [X, Y] graph position, and the example provides a concrete blueprint_name format. The only notable omission is explicitly stating the default operator, though the schema already declares 'default: AND'.

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 opens with a specific verb and resource: 'Add a logical (boolean) operator node,' and then names the exact operators (AND, OR, NOT, XOR). The 'logical (boolean)' qualifier clearly distinguishes this from arithmetic and relational operator siblings, and the example reinforces the intended use.

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?

When to use the tool is implied through the operator semantics and the example invocation, but the description never mentions alternatives or says when not to use it. It does not explicitly route the agent away from sibling tools like add_arithmetic_operator_node or add_relational_operator_node.

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

add_macro_nodeA

Add a macro call node to a Blueprint.

Args: blueprint_name: Blueprint containing the macro macro_name: Name of the macro to call node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_macro_node(blueprint_name="/Game/MCP_Test/BP_Example", macro_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
macro_nameYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 burden of behavioral disclosure. It states the operation ('Add') but does not mention side effects, prerequisites (e.g., existing blueprint and macro), failure modes, or whether the graph must be compiled. The KB link provides background but not operation-specific behavior.

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

Conciseness4/5

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

The description is efficiently organized: one-line purpose, arg list, KB pointer, and example. No filler. It could arguably omit duplicating parameter names already in the schema, but the added descriptions justify their 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 simple node-adding operation with an output schema (which covers return values) and a KB reference, the description includes the essentials: action, all parameters, and a worked example. It lacks explicit prerequisites and side-effect warnings, which prevents a perfect 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 compensates by explaining each parameter: blueprint_name (containing blueprint), macro_name (macro to call), node_position (optional graph position). The example shows concrete asset path formatting and optionality. The only slight gap is the exact format of node_position, but the schema provides its array-of-number type.

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 action ('Add a macro call node to a Blueprint') with a clear verb and resource. This distinguishes it from sibling node-adding tools (e.g., add_custom_macro, add_blueprint_function_node) because 'macro call node' is a distinct node type. The example reinforces the intended use.

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 usage context is implied: if you need to insert a macro call into a Blueprint graph, this is the tool. However, the description provides no explicit guidance about when to choose this tool over the many sibling add_* node tools, nor any exclusions or alternative references.

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

add_make_array_nodeB

Add a Make Array node to create an Array from individual variables.

From Ch. 13: Used to create point light arrays in Level Blueprints, spawn point lists, or any array built from known variables.

Args: blueprint_name: Blueprint to add the node to element_type: Array element type num_pins: Number of input element pins node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_make_array_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
num_pinsNo
element_typeNoActor
node_positionNo
blueprint_nameYes

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?

There are no annotations, so the description carries full responsibility for behavioral disclosure. It only states that the tool adds a node; it does not describe side effects, permissions, idempotency, or what happens if the blueprint is invalid. Since it's a mutation operation with zero annotation coverage, 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 well-structured: a clear purpose statement, contextual note, parameter list, KB reference, and a concrete example. It is concise and front-loaded with the primary action. Every line serves a purpose; no fluff or redundant 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 node-addition tool, the description covers the essential inputs (blueprint, element type, pin count, position), provides an example, and points to a knowledge base section. It does not explain return values (though an output schema exists, not shown) or failure modes, but given the simplicity and the KB reference, it is fairly complete for an agent to call it correctly.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must compensate. It lists all four parameters with brief explanations (blueprint_name, element_type, num_pins, node_position), which adds some meaning beyond the bare schema. However, the explanations are terse; for example, 'element_type' does not specify valid values or constraints. It partially compensates but could be more detailed.

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 action ('Add a Make Array node') and the resource (blueprint), plus the purpose ('create an Array from individual variables'). It gives concrete use cases (point light arrays, spawn point lists). It doesn't explicitly distinguish from sibling tools like add_make_set_node or add_make_map_node, but the name is clear enough for most agents.

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 provides context on when to use it ('used to create point light arrays... or any array built from known variables'), which implies its appropriate scenarios. However, it does not mention alternatives or exclusions (e.g., when to use add_object_type_make_array_node instead). The guidance is implied rather than explicit, leaving some ambiguity.

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

add_make_map_nodeA

Add a Make Map node to create a Map from key-value pairs.

From Ch. 13: Creates a Map literal from individual key-value pin inputs.

Args: blueprint_name: Blueprint to add the node to key_type: Key type value_type: Value type num_pairs: Number of key-value pair input pins node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_make_map_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
key_typeNoString
num_pairsNo
value_typeNoFloat
node_positionNo
blueprint_nameYes

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 must carry the full burden. It states the action (adds a node) but does not disclose side effects such as whether it modifies the blueprint graph, requires a saved blueprint, can be called multiple times, or what errors might occur. It does not mention whether the node is automatically connected or placed. 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 concise and front-loaded with the purpose. It includes a reference, an Args list, a KB link, and an example. The structure is clear and each part serves a purpose, though the Args list and example add length. It is efficient and not padded.

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

Completeness4/5

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

Given the tool has 5 parameters, no annotations, and an output schema, the description covers the core aspects: what it does, how to call it (example), and parameter semantics. It does not describe return values (but output schema exists) or potential errors, but it provides enough for an agent to invoke it correctly in typical scenarios. The KB reference adds 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%, so the description must compensate. It lists all five parameters with brief but meaningful explanations: 'blueprint_name: Blueprint to add the node to', 'key_type: Key type', 'value_type: Value type', 'num_pairs: Number of key-value pair input pins', and 'node_position: [X, Y] graph position'. These add context beyond the schema's types and defaults, especially for num_pairs and node_position.

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

Purpose5/5

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

The description clearly states 'Add a Make Map node to create a Map from key-value pairs' and 'Creates a Map literal from individual key-value pin inputs.' It specifies the verb (add), the resource (Make Map node), and the function (create a Map literal). It distinguishes itself from siblings like add_make_array_node and add_make_set_node by the specific node type and purpose.

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

Usage Guidelines2/5

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

The description does not provide any explicit guidance on when to use this tool versus alternatives. It gives an example call but does not mention when a Make Map node is appropriate compared to other node-creation tools, nor any prerequisites (e.g., blueprint must exist) or exclusions. The only contextual hint is a reference to Ch. 13 and a KB link, which is not actionable guidance.

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

add_make_set_nodeA

Add a Make Set node to create a Set from individual variables.

From Ch. 13: Similar to Make Array but creates a Set (no duplicates).

Args: blueprint_name: Blueprint to add the node to element_type: Element type for the Set num_pins: Number of input element pins node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_make_set_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
num_pinsNo
element_typeNoString
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the transparency burden. It discloses the core behavior (adds a node, creates a Set, no duplicates) and provides an example, but it does not mention side effects such as whether the blueprint is modified in memory, whether saving/compiling is required, or what happens if the blueprint_name is invalid.

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 compact and front-loaded with the main purpose. The Args section and example are useful given the schema lacks property descriptions, and the KB reference adds context without bloating the 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 simple node-addition tool with an output schema, the description is largely complete: it names the target, explains the node semantics, documents all arguments, and gives an example. It could improve by stating the prerequisite that the referenced blueprint must exist and by clarifying the default placement behavior when node_position is omitted.

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 compensates by giving a plain-language explanation for every parameter: blueprint target, element type, pin count, and node position format. The explanations are useful, though element_type could list acceptable values and node_position could specify bounds or units.

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 operation ('Add a Make Set node') and its purpose ('create a Set from individual variables'), and differentiates it from Make Array by emphasizing sets have no duplicates. This clearly identifies the tool among many add_*_node siblings.

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

Usage Guidelines4/5

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

The description gives clear context: it creates a Set rather than an Array, and explicitly notes the similarity and difference from Make Array. It does not provide an explicit 'use X instead when...' exclusion, but the no-duplicates distinction is enough to guide selection in most cases.

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

add_make_struct_nodeA

Add a Make [StructType] node to construct a struct from member values.

From Ch. 13: Make Struct takes all member variables as input pins and outputs the assembled struct. Used to construct FTransform, FVector, custom structs, etc.

Args: blueprint_name: Blueprint to add the node to struct_type: Struct type name (e.g., "FVector", "FTransform", "FEnemyData") node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_make_struct_node(blueprint_name="/Game/MCP_Test/BP_Example", struct_type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
struct_typeYes
node_positionNo
blueprint_nameYes

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?

Annotations are absent, so the description carries the full burden. It mentions the node's behavior (takes member variables, outputs assembled struct) and gives examples, but it does not disclose side effects, prerequisites (e.g., whether the struct type must already exist), or error conditions. The reference to Ch. 13 adds context but does not reveal runtime behavior like validation or failure modes.

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

Conciseness4/5

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

The description is well-structured with a clear main sentence, an explanatory section, an Args list that mirrors the schema, a KB reference, and an example. It is not overly verbose and front-loads the core action. The example is appended at the end, which is acceptable given the Args list precedes it. No fluff, but the KB reference could be considered optional.

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

Completeness4/5

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

Given the tool's moderate complexity (3 params, 2 required) and an output schema that likely defines the return but is not described, the description covers the essential inputs and purpose. It does not specify the return value format, but the output schema exists separately. The KB reference provides additional depth. It is reasonably complete for an agent to invoke it correctly, though it could mention expected errors or preconditions.

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 explicitly defines each parameter: blueprint_name (target Blueprint), struct_type (type name with examples), node_position ([X,Y] graph position). It gives example values, which is more informative than the bare schema. It compensates for the schema's lack of descriptions, though it could specify the expected format of blueprint_name (partial path) more precisely.

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

Purpose5/5

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

The description clearly states a specific verb ('Add'), a resource ('Make [StructType] node'), and the action's purpose ('construct a struct from member values'). It distinguishes itself from sibling tools like add_break_struct_node and add_make_array_node by focusing on struct construction. The inclusion of FTransform, FVector, and custom structs provides concrete examples that differentiate it from other node-adders.

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 explains that this node takes member variables as inputs and outputs the assembled struct, which implies when it is used (to construct structs). However, it does not explicitly state when to prefer this over alternatives like add_break_struct_node or add_make_array_node, nor does it mention exclusions (e.g., only works in Blueprint graphs). The KB reference hints at broader context but does not give direct usage guidance.

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

add_map_contains_nodeA

Add a Map CONTAINS node - check if a key exists in a Map.

From Ch. 13: Returns True if the Map contains an element with the given key. Does NOT return the value (use FIND for that).

Args: blueprint_name: Blueprint to add the node to map_variable: Map variable name node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_map_contains_node(blueprint_name="/Game/MCP_Test/BP_Example", map_variable="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
map_variableYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries full disclosure burden. It explains the node returns True if the key exists and does not return the value, which is key behavior. It also provides an example. However, it doesn't mention side effects like adding a node to the graph or prerequisites (e.g., map variable must exist), but the core semantics are transparent.

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

Conciseness4/5

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

The description is concise and front-loads the purpose. It includes an example and KB reference without excessive verbosity. Some extra context (chapter number) is useful but could be trimmed. Overall 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?

Given the tool has an output schema (not shown) and the description mentions the return behavior, it's partially complete. The missing key parameter explanation is a major gap. It also doesn't specify prerequisites or error conditions. For a simple node-adding tool, it's adequate but not fully comprehensive.

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 lists args with brief meanings (blueprint_name, map_variable, node_position) and gives an example. However, it does not explain how the key to check is provided—there is no key parameter in the schema or description, which is a significant gap. It also doesn't clarify the node_position format or default behavior.

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

Purpose5/5

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

The description clearly states the tool adds a Map CONTAINS node and its purpose is to check if a key exists. It distinguishes from related siblings by explicitly saying it does NOT return the value and points to FIND, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description gives a clear use case (existence check) and explicitly mentions an alternative (FIND for value retrieval). It references a chapter and KB for context. However, it does not enumerate all sibling alternatives (e.g., add_map_keys_node) or state when not to use this tool, so it's not fully explicit.

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

add_map_find_nodeA

Add a Map FIND node - get a value by key (also checks key existence).

From Ch. 13: The FIND node is like CONTAINS but also returns the value. Returns the Value associated with the key, and a bool indicating if the key was found.

Args: blueprint_name: Blueprint to add the node to map_variable: Map variable name node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_map_find_node(blueprint_name="/Game/MCP_Test/BP_Example", map_variable="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
map_variableYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It states the mutation action ('Add'), the node's key-existence check behavior, and its output behavior (returns the value and a bool). This is meaningful context beyond the tool name, though it does not disclose prerequisites such as whether blueprint_name must already exist or what happens when node_position is omitted.

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

Conciseness4/5

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

The description is well-organized with a clear opening line, a short semantic comparison, an Args section, a KB pointer, and an example. There is minor redundancy in restating the value-returning behavior across the opening, the Ch. 13 comparison, and the returns sentence, but the structure keeps the content scannable and front-loaded.

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 add-node tool, the description covers the core what, the parameters, a knowledge-base reference, and a concrete invocation example. Since an output schema exists, return-format details are not required. Minor gaps remain around prerequisites and default positioning behavior, but the description is sufficient for an agent to invoke the tool correctly in the common case.

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 lists all three parameters with at least basic explanations: blueprint_name identifies the blueprint, map_variable names the map variable, and node_position is described as an [X, Y] graph position. The map_variable explanation is somewhat shallow, but the example and format hints add enough value beyond 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?

The description opens with a specific verb and resource: 'Add a Map FIND node'. It immediately explains the operation's purpose ('get a value by key') and differentiates it from the sibling add_map_contains_node by noting FIND also returns the value. This leaves no ambiguity about what the tool does.

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

Usage Guidelines4/5

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

The description directly compares FIND to CONTAINS: 'The FIND node is like CONTAINS but also returns the value.' This makes the main alternative explicit and gives the agent a clear basis for choosing this tool when the value is needed. However, it stops short of an explicit when-to-use / when-not-to-use directive or mentioning other map-related siblings like add_map_values_node.

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

add_map_keys_nodeA

Add a Map KEYS node - copy all Map keys to an Array.

From Ch. 13: Returns an array of all keys in the map. Used to iterate over all entries in the map.

Args: blueprint_name: Blueprint to add the node to map_variable: Map variable name node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_map_keys_node(blueprint_name="/Game/MCP_Test/BP_Example", map_variable="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
map_variableYes
node_positionNo
blueprint_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?

With no annotations provided, the description carries the behavioral burden and does state that the tool 'Returns an array of all keys in the map.' However, it does not disclose side effects of adding a node to the blueprint, potential errors if the map variable is invalid, or whether the node requires compilation.

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 and keeps the argument list compact. The KB reference and example add practical value without excessive verbosity.

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 straightforward node-adding tool with an output schema, the description covers all parameters, states the return behavior, and provides an example. It is complete enough to call correctly, but lacks explicit peer differentiation and error-case detail.

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, but the description compensates by documenting all three parameters: blueprint_name, map_variable, and node_position. It adds useful meaning like '[X, Y] graph position' and the example shows a realistic invocation, though it does not explicitly note that node_position is optional.

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

Purpose4/5

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

The description clearly states the specific action: 'Add a Map KEYS node - copy all Map keys to an Array.' It is distinct from related map operations by naming KEYS and the copy-to-array behavior, though it does not explicitly call out sibling alternatives like add_map_values_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?

It provides an implied use case: 'Used to iterate over all entries in the map,' which tells the agent when this node type is relevant. However, it gives no explicit guidance on when to choose this over closely related siblings such as add_map_values_node or add_map_find_node.

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

add_map_values_nodeA

Add a Map VALUES node - copy all Map values to an Array.

From Ch. 13: Returns an array of all values in the map.

Args: blueprint_name: Blueprint to add the node to map_variable: Map variable name node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_map_values_node(blueprint_name="/Game/MCP_Test/BP_Example", map_variable="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
map_variableYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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. It discloses the action (adds a node), the resulting node behavior (copies all map values to an array), and the return semantics (returns an array of all values). It does not discuss side effects or prerequisites, but for a node-adding utility this is reasonably transparent.

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

Conciseness5/5

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

The description is compact and well-structured: a one-line purpose, a semantics sentence, an Args list, a KB pointer, and a concrete example. Every section adds value, and the critical 'copies all values to array' meaning is front-loaded.

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 simplicity of the operation, the description is complete enough for correct invocation. All parameters are documented, the optional node_position has a default and format, the KB reference provides deeper context, and the example anchors usage. An output schema exists, so return value details are not the description's responsibility.

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?

The input schema has 0% description coverage, so the description must compensate fully. It does: each parameter is explained in the Args block (blueprint_name, map_variable, node_position), and the example shows a realistic call with a blueprint path and map variable. This gives an agent actionable meaning beyond the raw schema 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: 'Add a Map VALUES node - copy all Map values to an Array.' It clearly differentiates from the sibling add_map_keys_node by explicitly focusing on values rather than keys. The additional 'Returns an array of all values in the map' clarifies the node's behavior precisely.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: when you need to add a node that copies all map values into an array. It does not explicitly name alternatives or exclusions, but the 'Map VALUES' phrasing and the contrast with sibling tools like add_map_keys_node make the appropriate use case evident.

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

add_map_variableB

Add a Map (dictionary) variable to a Blueprint.

Maps store key-value pairs with O(1) lookup by key.

Args: blueprint_name: Blueprint name variable_name: Variable name key_type: Key type (String, Name, Integer, etc.) value_type: Value type (Integer, Float, String, Vector, etc.) is_exposed: Expose to editor Details panel

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_map_variable(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", key_type="ExampleName", value_type=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
key_typeYes
is_exposedNo
value_typeYes
variable_nameYes
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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. 'Add' implies mutation, but the description does not disclose that the Blueprint asset is modified, whether an existing variable is overwritten, or whether saving/compiling is required afterward. This is a meaningful gap 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 compact, front-loaded with the core action, and well-structured with Args, KB reference, and example. Some Arg lines (e.g., 'Blueprint name') merely restate the schema titles and the example contains questionable values, but overall it remains appropriately sized and scannable.

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

Completeness3/5

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

For a 5-parameter mutation tool with no annotations, the description covers purpose, data-structure semantics, parameters, and points to KB documentation, and an output schema exists. Missing are side-effect behavior, name-collision handling, and a corrected example, so the definition is adequate but not fully complete.

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 Args section adds value by explaining key_type and value_type with example types and is_exposed with editor Details panel behavior. However, the example is misleading: key_type="ExampleName" looks like a variable name and value_type=0.0 conflicts with the schema's string type, which could cause incorrect invocation.

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: 'Add a Map (dictionary) variable to a Blueprint.' This clearly distinguishes it from sibling tools like add_array_variable, add_set_variable, and add_blueprint_variable by naming the exact data structure being created.

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 when to use a Map via 'Maps store key-value pairs with O(1) lookup by key,' but it never explicitly contrasts this with array/set variables or names alternatives. Usage context is present but left to inference.

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

add_math_expression_nodeA

Add a Math Expression node (collapsed graph from a math formula string).

From Ch. 15: The Math Expression node creates a collapsed graph based on a typed expression. Variable names in the expression become input pins, and the result is the Return Value output pin.

Example from the book: (PlayerLuck/5) * (EnemyHP/30) Creates input pins PlayerLuck and EnemyHP.

Args: blueprint_name: Blueprint to add the node to expression: Mathematical expression string (variables become input pins) node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_math_expression_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionNo(A + B) * C
node_positionNo
blueprint_nameYes

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?

No annotations are provided, so the description carries the full disclosure burden. It does disclose key behaviors: creates a collapsed graph, variables become input pins, result is the Return Value output pin. But it omits mutation implications (it modifies a blueprint), any connection/compile side effects, and failure behavior. With zero annotation coverage, more disclosure would be warranted.

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?

Well-structured with a clear purpose statement, an Args block, and an example. The purpose is front-loaded. Some redundancy exists — the 'From Ch. 15:' and 'Example from the book:' citations add context but are slightly extraneous; the example itself is genuinely useful for illustrating the variable-to-pin conversion.

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 moderate-complexity mutation tool (3 params, 1 required), the description covers all parameters, gives a worked example, and points to a knowledge base reference. An output schema exists to cover return values. It is fairly complete, though it could mention whether the added node is auto-connected or left floating, and any blueprint-save implications.

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. The Args section documents all three parameters: blueprint_name (Blueprint to add the node to), expression (with the variable-to-pin behavior), and node_position ([X, Y] graph position). This adds real meaning beyond the bare schema, especially for expression and node_position which have no schema descriptions.

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 ('Add a Math Expression node') and explains its distinctive semantics: it creates a collapsed graph from a formula string, with variables becoming input pins and a Return Value output pin. This clearly differentiates it from the many math-related siblings like add_math_node and add_arithmetic_operator_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 description explains the tool's behavior well (collapsed graph, variable-to-pin mapping) which implies when to use it, and includes a concrete example. However, it never explicitly distinguishes when to choose this over the math-node siblings (add_math_node, add_arithmetic_operator_node, add_abs_node), so an agent gets no explicit exclusion or alternative guidance.

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

add_math_nodeB

Add a math operation node.

Args: blueprint_name: Blueprint name operation: Math operation: "Add_FloatFloat", "Subtract_FloatFloat", "Multiply_FloatFloat", "Divide_FloatFloat", "Add_IntInt", "Subtract_IntInt", "Multiply_IntInt", "Divide_IntInt", "VSize" (vector length), "Normalize" (vector normalize), "Clamp", "Lerp", "FInterpTo", "VInterpTo", "RandomFloat", "RandomFloatInRange", "RandomInt", "RandomIntInRange", "Max_Float", "Min_Float", "Abs_Float", "Sin", "Cos", "Sqrt", "Power" node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_math_node(blueprint_name="/Game/MCP_Test/BP_Example", operation="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYes
node_positionNo
blueprint_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 bears the full behavioral disclosure burden. It reveals the intent to add a node but does not describe side effects on the blueprint graph, failure modes, return value behavior, or whether the blueprint is mutated/compiled.

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 reasonably compact and front-loaded with the core purpose, followed by a structured argument list. The example uses 'Example' as an operation value that is not in the valid list, which slightly undermines its usefulness, but overall the structure is clear.

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

Completeness3/5

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

The description covers the essential operation enum and gives a KB pointer, and an output schema exists so return values need not be detailed. However, it omits node_position coordinate format, offers no guidance amid many overlapping sibling tools, and provides a misleading example value.

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 well by exhaustively listing valid operation values and adding human-readable notes for VSize and Normalize. The blueprint_name and node_position explanations are thin, though the example path provides some format context.

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 action and resource: 'Add a math operation node.' It enumerates the supported operations, which clarifies what the tool does. However, it does not distinguish itself from overlapping sibling tools like add_abs_node, add_clamp_node, add_lerp_node, or add_math_expression_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?

There is no guidance on when to use this generic math node tool versus the many specialized sibling node-adders present in the tool list. It does not mention exclusions, prerequisites, or alternatives, leaving the agent to infer selection criteria.

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

add_min_max_nodeA

Add a 'Min' or 'Max' node returning the smaller/larger of two values.

Used in health/stamina clamping and scoring systems throughout the book.

Args: blueprint_name: Blueprint name operation: "Min" or "Max" operand_type: "Float" or "Integer" node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_min_max_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
operationNoMin
operand_typeNoFloat
node_positionNo
blueprint_nameYes

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?

There are no annotations, so the description carries the full burden. It explains the node's function (returns smaller/larger) but does not disclose side effects such as whether the blueprint is modified immediately, whether it requires compilation or saving, or whether it operates on the currently open blueprint graph. For a mutating tool with zero annotation coverage, this is a notable gap, though not misleading.

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 compact and well-organized: a purpose sentence, a usage context sentence, an Args list, a KB pointer, and an example. It front-loads the core purpose and uses a clear structure with minimal fluff. The KB reference is a minor extra but not distracting.

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

Completeness4/5

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

Given the tool's simplicity, an output schema exists (so return format is covered), and all parameters are defined with an example. The description lacks some operational detail (e.g., whether the node is added to the currently focused graph, or what happens if the blueprint_name is invalid), but for a small node-add utility it is reasonably complete. The KB reference supplements 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%, so the description must compensate. It does so by listing all four parameters in the Args block with brief but accurate definitions: blueprint_name, operation ('Min' or 'Max'), operand_type ('Float' or 'Integer'), and node_position (optional [X, Y] graph position). It also provides a concrete example with blueprint_name. While terse, it covers every parameter meaningfully, which is above the baseline for a 0%-coverage 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?

The description clearly states what the tool does: 'Add a "Min" or "Max" node returning the smaller/larger of two values.' It uses a specific verb (Add) and resource (Min/Max node), and even adds context about usage in health/stamina clamping and scoring. This distinguishes it from sibling node-add functions like add_abs_node or add_clamp_node, though it doesn't 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 Guidelines4/5

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

The description tells when to use the tool: 'Used in health/stamina clamping and scoring systems throughout the book.' This gives clear context but does not state explicit exclusions or alternatives. For a simple node-addition tool, that's adequate, but it could be more prescriptive about when not to use it (e.g., when other node types are more appropriate).

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

add_motion_controller_componentA

Add a Motion Controller component to a Blueprint.

From Ch. 16: Motion Controller components track the physical VR controller position and rotation in real-time. The VR template uses pairs of controllers:

  • Grip controllers (MotionControllerRight/Left) - default grip location

  • Aim controllers (MotionControllerRightAim/LeftAim) - pointer/aim location

MotionSource values: "Right", "Left", "RightAim", "LeftAim", "Head", "Special1" through "Special8"

Args: blueprint_name: Blueprint to add the component to component_name: Component name in the Components panel motion_source: Controller source ("Right", "Left", "RightAim", "LeftAim") display_device_model: Whether to render the controller mesh in game is_aim_controller: If True, hide device model (for aim-only controllers)

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_motion_controller_component(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
motion_sourceNoRight
blueprint_nameYes
component_nameNoMotionControllerRight
is_aim_controllerNo
display_device_modelNo

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 behavioral burden and does substantial work: it explains that Motion Controller components 'track the physical VR controller position and rotation in real-time,' and specifies render behavior via display_device_model and is_aim_controller ('If True, hide device model'). It does not disclose side effects like duplicate component handling or whether the Blueprint must be saved/compiled afterward, but the core mutation is clear.

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-sentence purpose, then uses compact bullet lists for controller pair context, MotionSource values, and Args. The KB pointer and concrete example add value without bloating the 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?

The description covers all five parameters, gives a concrete example, and references KB documentation for deeper context. It is complete enough to invoke correctly, though it omits post-add behaviors (save/compile requirements, duplicate component_name behavior) and does not route around generic component-add siblings.

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 Args section must compensate, and it does: every parameter (blueprint_name, component_name, motion_source, display_device_model, is_aim_controller) gets a plain-language definition. MotionSource enumerates allowed values, and is_aim_controller's 'hide device model' behavior adds meaning beyond the boolean title.

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 and resource: 'Add a Motion Controller component to a Blueprint,' making the tool's purpose unambiguous. It names the component type and target asset, and the VR-controller context further clarifies what the component does. It does not explicitly contrast with generic sibling add_component_to_blueprint, 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 Guidelines3/5

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

The description implies when to use it (when a Blueprint needs VR controller tracking) and provides useful domain context ('The VR template uses pairs of controllers'), but it never states when to prefer this tool over generic add_component_to_blueprint or add_component_to_blueprint_actor. There are no exclusions or alternative routing, so an agent must infer the choice from the specialized name and context.

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

add_move_to_nodeB

Add a 'AI Move To' function call node.

Args: blueprint_name: Blueprint (usually AIController or BTTask) acceptance_radius: How close AI needs to get to destination node_position: Optional graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_move_to_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
acceptance_radiusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral disclosure. It mentions 'Add' (a mutation) but does not state side effects like whether compilation is required, whether the blueprint must exist, or how the node integrates into the graph. The output schema exists but is not mentioned. No error conditions or prerequisites are 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?

The description is reasonably concise and well-structured: a one-line purpose, a clear args list, a KB reference, and an example. The arg list is necessary because the schema lacks descriptions. No redundant 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?

The description covers the core purpose, args, and an example, and points to the KB for more context. However, it does not mention any prerequisites (e.g., blueprint must exist), does not describe the output schema, and is vague about the exact behavior of the node. For a tool with three parameters and no annotations, this is adequate but not fully 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. It explains all three parameters: blueprint_name specifies the target blueprint (with a hint about typical types), acceptance_radius defines proximity, and node_position is optional. This adds meaningful context beyond the raw schema types and titles.

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

Purpose5/5

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

The description clearly states the tool adds a specific 'AI Move To' function call node, which is distinct from the many other node-adding tools in the sibling list. The verb 'Add' and the specific node type make the purpose unambiguous.

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

Usage 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 the dozens of sibling node-adding tools (e.g., add_blueprint_function_node, add_math_node). It only provides an example, not a when-to-use or when-not-to-use statement. The implication that it's for AI Move To nodes is present but not explicit.

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

add_multigate_nodeA

Add a MultiGate flow control node.

MultiGate sends execution through multiple output pins in sequence (or randomly), optionally looping back to the start.

Args: blueprint_name: Blueprint name num_outputs: Number of output pins is_random: Randomize execution order loop: Loop after reaching the last output node_position: Optional [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_multigate_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
is_randomNo
num_outputsNo
node_positionNo
blueprint_nameYes

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 burden of behavioral disclosure. It explains the behavior of the MultiGate node itself, but does not disclose tool-level behaviors such as what happens if the blueprint does not exist, whether the graph must already be open, or what the returned output contains. The example and KB reference help, but some operational traits remain implicit.

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?

Well-structured and efficient: a one-line action, a two-sentence behavioral explanation, a compact Args list, a KB pointer, and a concrete example. No filler, and the most important information is front-loaded.

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 node-adding tool with five parameters and no annotations, this is largely complete: all parameters are explained, behavior is described, and an example is included. It does not explicitly state prerequisites like blueprint existence or graph context, and the KB reference is vague, but an output schema exists so return-value details are not 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%, but the description lists and explains all five parameters: blueprint_name, num_outputs, is_random, loop, and node_position. Each parameter gets a meaningful one-line explanation, including the optional [X, Y] format for node_position, fully compensating for the absent schema descriptions.

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: 'Add a MultiGate flow control node', and then defines what MultiGate does (sequence/random multi-output with optional loop). This clearly differentiates it from sibling tools like add_gate_node, add_blueprint_sequence_node, and add_flipflop_node.

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 behavioral description implies when to use it: when execution must fan out across multiple output pins in sequence or randomly with optional looping. It does not explicitly name alternatives or exclusion conditions, but the provided semantics give enough context for an agent to select it appropriately.

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

add_multi_line_trace_by_channel_nodeA

Add a 'Multi Line Trace By Channel' node - returns ALL actors hit as array.

Ch.14: MultiLineTraceByChannel is more expensive but returns every hit along the trace line as an array of Hit Result structures.

Args: blueprint_name: Blueprint name trace_channel: "Visibility" or "Camera" draw_debug: "None", "ForOneFrame", "ForDuration", "Persistent" node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_multi_line_trace_by_channel_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
draw_debugNoNone
node_positionNo
trace_channelNoVisibility
blueprint_nameYes

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 must disclose side effects and prerequisites. It explains the node's runtime behavior (returns array of Hit Results, more expensive) but does not state that the tool modifies the specified Blueprint, whether it returns success/failure, or if it requires a graph context. The operation's side effects are only implied by 'Add'.

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 reasonably compact, front-loaded with purpose, and uses a clear Args list with an example and KB pointer. The 'Ch.14' reference adds a little noise but does not significantly hurt conciseness.

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 moderate complexity and the presence of an output schema, the description covers purpose, parameters, and provides an example. It lacks explicit usage guidance (when to use vs cheaper single trace) and prerequisites (e.g., blueprint must exist), leaving some gaps for an agent to infer.

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

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's Args section is essential. It lists all four parameters with meaningful details: valid enum values for trace_channel and draw_debug, optionality and format of node_position, and an example path for blueprint_name. This compensates well for the schema's lack of descriptions.

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 names the exact node type ('Multi Line Trace By Channel') and its distinguishing behavior ('returns ALL actors hit as array'), which clearly differentiates it from sibling single-line and object-based trace nodes. 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?

The description notes the node is 'more expensive' but returns every hit, implying use when all hits are needed rather than a single trace. However, it does not explicitly name alternative tools (e.g., add_line_trace_by_channel_node) or state conditions to avoid this tool, leaving the guidance mostly implicit.

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

add_multi_line_trace_for_objects_nodeB

Add a 'Multi Line Trace For Objects' node - returns all hits for object types.

Ch.14: Returns array of Hit Results for all matching objects along the trace line.

Args: blueprint_name: Blueprint name object_types: List of object types to trace against draw_debug: "None", "ForOneFrame", "ForDuration", "Persistent" node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_multi_line_trace_for_objects_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
draw_debugNoNone
object_typesNo
node_positionNo
blueprint_nameYes

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?

Annotations are absent, so the description carries the burden. It discloses the node's return behavior (array of Hit Results), enumerates draw_debug modes, and marks node_position as optional. However, it does not disclose that this mutates a blueprint graph, whether prerequisites like an existing blueprint are required, or error behavior — meaningful gaps for a mutation tool with zero annotation support.

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?

Well-structured and front-loaded: one-line summary, behavior statement, compact Args block, KB pointer, and a concrete example. The 'Ch.14:' prefix is cryptic and the Args section partially duplicates schema names, but each block earns its place and nothing is padded.

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 4-parameter tool with an output schema, the essential semantics are covered: all parameters explained, return behavior stated, and a working example given. Missing are prerequisites (blueprint existence), failure behavior, and whether the node is auto-connected — moderate gaps given the absence of annotations and the large ambiguous sibling family.

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: draw_debug gets its full enum of valid values, node_position gets the [X, Y] graph-position format, and object_types gets its tracing purpose. The example adds the full blueprint path format, though blueprint_name's inline description ('Blueprint name') is a tautology only rescued by the example.

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 ('Add a node') and identifies the exact node type, with the behavior 'returns all hits for object types' clarifying the multi-line and object-type aspects. It is clear, but sibling differentiation relies on the reader's Unreal context — it never explicitly contrasts with close siblings like add_line_trace_for_objects_node or add_multi_line_trace_by_channel_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?

No when-to-use or when-not-to-use guidance is given. The sibling list contains at least six competing trace-node tools (line/channel/object variants, single vs multi), and the description never names an alternative or states a selection condition. The 'returns all hits' phrase implies a use case but leaves the choice among siblings to inference.

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

add_named_slot_to_widgetA

Add a Named Slot placeholder to a Widget Blueprint.

Named Slots allow child widget content injection when the widget is used as a parent. Essential for reusable frame/container widgets.

Args: widget_name: Widget Blueprint name slot_name: Named slot identifier position: [X, Y] position size: [Width, Height]

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_named_slot_to_widget(widget_name="/Game/MCP_Test/WBP_Example", slot_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
positionNo
slot_nameYes
widget_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 burden of behavioral disclosure. It mentions the mutation (adding a slot) but does not disclose prerequisites (e.g., widget must exist), side effects, reversibility, or error behavior. It doesn't contradict annotations (there are none), but it leaves significant behavioral 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.

Conciseness5/5

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

The description is well-structured and concise. It opens with the core action, adds a brief explanation of the concept, lists parameters with descriptions, references a KB, and includes an example. Every sentence serves a purpose, and the format is 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 and lack of annotations, the description covers the core function and parameter meaning but misses critical context: whether the widget must already exist, what happens if the slot name is duplicated, and the output format (though an output schema exists). It provides a KB reference for deeper context, but the immediate operational details are incomplete for a mutation tool.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It lists all four parameters with brief descriptions: widget_name, slot_name, position as [X,Y], and size as [Width,Height]. This adds meaning beyond the raw schema, but the descriptions are minimal and don't specify optionality or constraints. The example helps, but the coverage is only partial.

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

Purpose5/5

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

The description clearly states the action: 'Add a Named Slot placeholder to a Widget Blueprint.' It also explains the purpose of Named Slots and why they are essential, distinguishing this tool from sibling widget-adding tools like add_text_block_to_widget or add_button_to_widget. The specific verb and resource are unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context on when to use this tool: when the widget is used as a parent and for reusable frame/container widgets. It doesn't explicitly name alternatives or exclusions, but the context implies the appropriate scenario. The example further clarifies usage.

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

add_nearly_equal_float_nodeA

Add a NearlyEqual (float) node to compare floats with tolerance.

From Ch. 11: Used to check if PlayerHealth is approximately 0 (player dies). Float comparison with == can fail due to floating-point precision, so NearlyEqual checks if |A - B| < Tolerance instead.

Args: blueprint_name: Blueprint to add the node to tolerance: Maximum allowed difference for equality check node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_nearly_equal_float_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
toleranceNo
node_positionNo
blueprint_nameYes

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 must carry the behavioral burden. It states the main behavior—adding a NearlyEqual node—and explains the tolerance-based comparison. However, it does not mention prerequisites such as whether the target blueprint must already exist, whether the result is saved, or what happens on 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 description is well-organized with a summary, use-case explanation, Args list, KB reference, and example. It is slightly longer than strictly necessary, but each section adds useful information and the structure is easy to scan.

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

Completeness4/5

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

The description covers all parameters, provides a concrete use case, includes a KB reference, and gives a calling example. Since an output schema exists, return-value documentation is not required. Minor missing details like blueprint existence checks prevent a 5.

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?

The schema has 0% description coverage, so the description's Args section is essential. It defines all three parameters: blueprint_name, tolerance, and node_position, including the node_position format [X, Y]. This fully compensates for the schema gap.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Add a NearlyEqual (float) node to compare floats with tolerance.' This clearly identifies the exact blueprint node being added and its core purpose, distinguishing it from the many other add_*_node sibling tools without needing to inspect 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?

The description gives clear usage context: it is used to check if PlayerHealth is approximately 0, and explains why NearlyEqual is preferred over direct == comparison. It does not explicitly list alternatives or when-not-to-use conditions, so it stops short of a 5.

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

add_niagara_componentB

Attach a NiagaraComponent to a Blueprint through the native bridge.

Use this to place an authored Niagara System on a generated gameplay actor. Follow with Blueprint compile, component readback, and viewport proof before claiming the VFX pass is complete.

KB: see knowledge_base/09_NIAGARA_VFX.md#blueprint-component-attachment Example: add_niagara_component(blueprint_name="/Game/BP_BlackHoleFX", niagara_system_path="/Game/VFX/NS_BlackHole")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
component_nameNoNiagaraComponent
niagara_system_pathNo

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 indicates a mutation (attaching a component) and mentions the native bridge, but does not disclose side effects such as the blueprint asset being modified, potential failures on invalid paths, or whether a recompile is mandatory. The follow-up compile hint implies some effect, but it is not explicit.

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

Conciseness4/5

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

The description is concise, with a clear purpose statement, usage guidance, a KB reference, and an example. It is front-loaded and well-structured, with no wasted words, though the example could be considered slightly verbose.

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

Completeness2/5

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

Given the lack of annotations and zero schema parameter descriptions, the description leaves significant gaps: it does not explain parameter semantics, error conditions, prerequisites, or the nature of the output (despite an output schema existing). The workflow hints are helpful but incomplete for a mutation tool on a Blueprint.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only gives an example showing blueprint_name and niagara_system_path without explaining their formats or valid values. The component_name parameter is never mentioned. This is insufficient for a tool with three parameters and no schema descriptions.

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

Purpose4/5

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

The description clearly states the tool attaches a NiagaraComponent to a Blueprint via the native bridge, and specifies it places an authored Niagara System on a generated gameplay actor. It is specific about the verb and resource, but does not explicitly contrast with the sibling add_component_to_blueprint, leaving some ambiguity in 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?

The description gives a concrete usage scenario ('Use this to place an authored Niagara System on a generated gameplay actor') and lists follow-up steps (compile, readback, viewport proof). It does not mention when not to use it or name alternative tools, so it lacks explicit exclusions but provides clear context.

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

add_normalize_vector_nodeA

Add a 'Normalize' vector node - returns a unit vector (length = 1).

Ch.14: Normalization gives direction without magnitude. Used before multiplying by speed to get direction-based movement.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_normalize_vector_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the burden of behavioral disclosure. It clearly states the action (adds a node) and the node's output semantics (unit vector), but it does not explicitly describe tool-level side effects such as modifying the Blueprint graph or clarify that the "returns" phrasing refers to the node rather than the tool itself.

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 organized into Args, KB reference, and Example. The Ch.14 educational line adds context but is slightly extraneous; overall the structure is clean and scannable.

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 two-parameter tool with an output schema, it covers purpose, mathematical behavior, usage, parameter semantics, and an example. It does not state prerequisites like an existing loaded Blueprint, but the example and parameter guidance are sufficient for typical 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 for parameter meaning. It provides an Args block explaining blueprint_name and node_position, including that node_position is optional and is an [X, Y] graph position, plus a concrete example path. This adds meaningful guidance beyond the bare schema titles.

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 starts with a specific verb and resource: "Add a 'Normalize' vector node" and clarifies the node's function as producing a unit vector with length 1. This clearly distinguishes it from the many other add_*_node siblings by naming the exact node type and its mathematical behavior.

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 a concrete usage context: "Used before multiplying by speed to get direction-based movement." This tells an agent when the tool is appropriate, though it does not explicitly state alternatives or 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.

add_object_type_make_array_nodeA

Add a real K2Node_MakeArray node typed as EObjectTypeQuery (byte enum). This is used to provide a valid 'Object Types' array input to SphereOverlapActors / SphereOverlapComponents nodes. Defaults to ObjectTypeQuery3 (WorldDynamic) on the first pin.

Args: blueprint_name: Blueprint to add the node to node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_object_type_make_array_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 usefully discloses the exact node class, the enum type, and the default first-pin value. However, it does not mention potential side effects on the blueprint graph, such as duplicate nodes, auto-connection behavior, or whether existing pins are overwritten.

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

Conciseness5/5

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

The description is compact and well-structured: a behavior-first sentence, a purpose sentence, an Args block, a KB reference, and an example. Every element earns its place, and the key distinction is front-loaded.

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

Completeness4/5

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

Given that an output schema exists, return-value documentation is not required. The description covers purpose, parameters, and usage context, and provides an example and KB link. It is sufficient for an agent to call this 2-parameter node-adding tool correctly, though it could still note what it does not configure.

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. The Args section gives plain-language meaning for blueprint_name and node_position, and the example clarifies the expected path format. It could be more explicit about types, but the schema already provides those structural details.

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 starts with a concrete action and resource: adding a real K2Node_MakeArray node typed as EObjectTypeQuery. It also states why this node exists (to feed valid Object Types arrays into overlap nodes), which clearly distinguishes it from generic array-node tools like add_make_array_node.

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 clearly explains when to use the tool: to provide a valid 'Object Types' array input to SphereOverlapActors/SphereOverlapComponents nodes. It does not explicitly name alternatives or exclusions, but the context is specific enough to prevent most misuse.

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

add_on_hear_noise_eventA

Bind the 'On Hear Noise' event from a PawnSensing component.

Ch.10: OnHearNoise fires when the AI detects a sound within HearingThreshold. Event provides: PawnInstigator (who made the sound), Location (where), Loudness. Wire to UpdateSoundBB macro to store HasHeardSound=true and LocationOfSound.

Args: blueprint_name: Enemy AI Controller Blueprint pawn_sensing_component: Name of PawnSensing component node_position: Optional [X, Y] graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_on_hear_noise_event(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
pawn_sensing_componentNoPawnSensing

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?

No annotations are present, so the description carries the burden of behavioral disclosure. It discloses the event trigger condition (sound within HearingThreshold), the event outputs (PawnInstigator, Location, Loudness), and the side effect of wiring to UpdateSoundBB to set HasHeardSound and LocationOfSound. It doesn't discuss permissions, reversibility, or compilation, but the core mutation is transparent.

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 uses labeled sections (Args, KB, Example) for the remaining details. No sentence is wasted, and the formatting makes it easy for an agent to scan.

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 description covers the event semantics, wiring outcome, all parameters, and even points to a knowledge base section and example call. With an output schema declared, return values need not be described. Minor gaps like explicit prerequisites (component must already exist) are implied rather than stated.

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 by explaining each argument: blueprint_name is the target Enemy AI Controller Blueprint, pawn_sensing_component names the component, and node_position is an optional graph coordinate. The example adds path format for blueprint_name.

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 the exact action ('Bind'), the specific event ('On Hear Noise'), and the source component ('PawnSensing'), which clearly differentiates it from sibling tools like add_on_see_pawn_event. The wiring target (UpdateSoundBB macro) and output variables further specify the tool's role.

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

Usage Guidelines4/5

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

The description provides clear context: this is for AI controllers that should react to sounds within HearingThreshold, with a specific wiring pattern. It does not explicitly contrast with alternatives such as add_on_see_pawn_event or add_report_noise_event_node, but enough context is given to infer the intended use.

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

add_on_see_pawn_eventA

Bind the 'On See Pawn' event from a PawnSensing component.

Ch.10: OnSeePawn fires when the AI spots the player in its sight cone. Wire this to set the PlayerCharacter blackboard key and update chase state.

Args: blueprint_name: Enemy Blueprint name pawn_sensing_component: Name of PawnSensing component node_position: Optional [X, Y] graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_on_see_pawn_event(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
pawn_sensing_componentNoPawnSensing

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

The description explains the underlying event behavior (fires when AI spots the player) and the intended wiring outcome, which adds context beyond a bare 'bind event' statement. However, it does not disclose what the tool does to the blueprint structure, whether prerequisites like an existing PawnSensing component are required, or any side effects. With no annotations provided, the description carries the full burden but leaves these points 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?

The description is front-loaded with the tool's action, then adds a brief event explanation, an Args list, a KB reference, and a concrete example. Each section earns its place and the overall length is appropriate for a moderately complex tool. It is structured for quick skimming.

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

Completeness3/5

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

The description gives a useful example, a KB pointer, and enough explanation of the event and its wiring goal, and the presence of an output schema covers return values. However, it omits prerequisites (e.g., whether the PawnSensing component must already exist) and the precise scope of modifications to the blueprint. Given no annotations and a moderately complex mutation, this is a noticeable 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's Args section provides essential meaning for all three parameters. It defines blueprint_name as the Enemy Blueprint name, pawn_sensing_component as the component name, and node_position as an optional [X, Y] graph position, with an example showing a full asset path. This largely compensates for the empty schema descriptions, though format nuances are not fully 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?

The description opens with a specific verb and resource: 'Bind the On See Pawn event from a PawnSensing component.' It then explains when the event fires (AI spots the player in its sight cone) and its intended use, distinguishing it from sibling tools like add_on_hear_noise_event. The example reinforces the straightforward purpose.

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 a clear use case: wire this to set the PlayerCharacter blackboard key and update chase state when the AI spots the player. It implies the tool is for sight-triggered AI reactions, though it does not explicitly name alternatives or state when not to use it. This is adequate context but lacks explicit exclusions.

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

add_open_level_nodeA

Add an 'Open Level (by Name)' node for level loading/switching.

Args: blueprint_name: Blueprint name level_name: Default level to open (can be connected via pin) node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_open_level_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
level_nameNo
node_positionNo
blueprint_nameYes

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?

No annotations are provided, so the description carries the burden. It discloses that level_name can be pin-connected and node_position is optional, adding behavioral context. However, it does not mention persistence, failure modes, or whether the blueprint must be compiled/saved after the node is added.

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?

Opens with a one-sentence purpose, followed by a compact Args list, KB reference, and a concrete example. No filler or redundancy; the structure is scannable and front-loaded.

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 are covered there. The description covers parameters, purpose, and usage example. The main gap is underspecifying where the node is placed within the blueprint graph and what happens if the blueprint is missing, but for a 3-parameter tool this is largely usable.

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 this section must compensate. The Args list gives plain-language meaning for all three parameters: blueprint name, default level to open, optional graph position, and pin-connectability of level_name. This goes beyond the bare schema, though bluepring_name's gloss is minimal.

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 ('Add') and resource ('Open Level (by Name)' node') plus its purpose ('level loading/switching'). This distinguishes it from the many sibling add_*_node tools without needing to know their schemas.

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

Usage Guidelines4/5

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

The phrase 'for level loading/switching gives a clear context for when to use this tool, and the example shows the minimal call shape. It does not name exclusions or alternatives, but the stated purpose is enough to differentiate selection.

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

add_overlap_eventA

Add an OnComponentBeginOverlap event node bound to a SPECIFIC SCS component.

Creates a K2Node_ComponentBoundEvent — equivalent to clicking the [+] button next to the event in the component's Details panel. Multiple components in the same Blueprint each get their own event node (per component variable GUID).

Use get_scs_nodes to list available component names and their GUIDs.

Args: blueprint_name: Blueprint asset name (e.g. "BP_MyActor") component_name: SCS component variable name (e.g. "InteractionSphere") event_name: Delegate event name. Default "OnComponentBeginOverlap". Other options: "OnComponentEndOverlap", "OnComponentHit". node_position: Optional [X, Y] canvas position.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: add_overlap_event(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameNoOnComponentBeginOverlap
node_positionNo
blueprint_nameYes
component_nameYes

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 disclosure burden, and it largely succeeds. It explains the exact structure created (K2Node_ComponentBoundEvent), the UI equivalent, and the per-component GUID behavior where multiple components each receive their own event node. It does not discuss mutation side effects like saving or compiling, but the 'creates/adds' behavior is clearly and usefully specified.

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 well-structured and front-loaded: the core action comes first, followed by behavioral detail, a prerequisite pointer, a compact Args section, a KB reference, and a concrete example. Every sentence earns its place 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?

The description provides required parameters, optional parameters, defaults, parameter alternatives, a discovery prerequisite, a KB link, and an example. An output schema exists, so return-value details are not needed. The only completeness gap is the lack of an explicit selection rule versus the sibling tool add_component_overlap_event.

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%, and the description fully compensates. It documents all four parameters: blueprint_name with an example, component_name with an example, event_name with its default and alternate options, and node_position as optional [X, Y] canvas coordinates. This is exactly the semantic content missing from 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?

The description uses a specific verb and resource: 'Add an OnComponentBeginOverlap event node bound to a SPECIFIC SCS component.' It goes further by naming the exact node type created (K2Node_ComponentBoundEvent) and equating it to clicking the [+] button in the Details panel, so the tool's purpose is unambiguous and distinguishable from generic event-adding 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?

The description gives clear usage context: it is for adding a component-bound overlap event to a specific SCS component, and it explicitly tells the agent to use get_scs_nodes to discover valid component names and GUIDs. It does not explicitly contrast itself with the similar-looking sibling add_component_overlap_event, so it stops short of full when-not guidance.

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

add_pawn_sensing_componentA

Add a PawnSensing component to a Blueprint for AI perception.

Ch.10: PawnSensing enables enemies to both see and hear the player.

  • OnSeePawn and OnHearNoise events fire when player is detected.

  • HearingThreshold: detection radius for sound (default 1600 units)

  • SightRadius: max sight distance

  • PeripheralVisionAngle: field of view half-angle in degrees

Args: blueprint_name: Enemy character Blueprint hearing_threshold: Sound detection radius in cm see_pawns_in_dark: Whether to detect pawns in dark areas sight_radius: Max sight detection radius peripheral_vision_angle: Half-angle of sight cone in degrees

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_pawn_sensing_component(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
sight_radiusNo
blueprint_nameYes
hearing_thresholdNo
see_pawns_in_darkNo
peripheral_vision_angleNo

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 provided, the description carries the full burden of behavioral disclosure. It usefully explains runtime behavior: OnSeePawn/OnHearNoise events, HearingThreshold, SightRadius, and PeripheralVisionAngle. However, it does not state the mutation side effects on the Blueprint asset, prerequisites, or failure behavior, which would be valuable for a no-annotation 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 well-structured with a purpose line, behavior bullets, an Args section, a KB reference, and an example. It is compact enough to read quickly while still providing substance. Minor default-value repetition with the schema is acceptable because the schema lacks descriptions.

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 moderate-complexity add-component tool, the description covers purpose, parameter semantics, defaults, a concrete example, and a KB reference. An output schema exists, so return-value documentation is not essential. A small gap is that it does not mention the component's generated name or whether the Blueprint should be saved or compiled afterward.

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 for the input schema, and it does. It explains all five parameters with meaningful detail: blueprint path, hearing radius in cm, dark vision flag, sight radius, and vision half-angle in degrees. The example call further clarifies how blueprint_name should be supplied.

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 concrete verb+resource: 'Add a PawnSensing component to a Blueprint for AI perception.' It clearly identifies what the tool does and is more specific than generic siblings like add_component_to_blueprint or perception_add_component. It does not explicitly name those alternatives to differentiate itself, 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?

The description implies a clear use case: giving an enemy Blueprint sight and hearing perception via PawnSensing. It also provides a KB reference and an example invocation. However, it gives no explicit when-to-use or when-not-to-use guidance and does not compare against related alternatives such as perception_add_component or add_on_see_pawn_event.

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

add_player_death_eventA

Add a custom LostGame event to handle player death as described in Ch. 11.

Creates:

  1. Custom Event "LostGame"

  2. SetGamePaused(true)

  3. ShowMouseCursor(true)

  4. CreateWidget(LoseMenu) + AddToViewport

  5. Modify EventAnyDamage to call LostGame when health reaches 0

Args: blueprint_name: Player character Blueprint name lose_widget_name: Widget to display on player death health_variable: Variable holding player health float node_position: [X, Y] graph position for the custom event node

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_player_death_event(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
health_variableNoPlayerHealth
lose_widget_nameNoWBP_LoseMenu

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 zero annotations, the description carries full disclosure burden, and it delivers the essentials: the numbered list explicitly discloses the mutations (pausing the game, showing the cursor, creating a widget, and modifying EventAnyDamage to call LostGame at zero health). It stops short of disclosing reversibility, idempotency of repeated calls, or prerequisites like the blueprint already containing EventAnyDamage.

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 exceptionally well structured: a purpose line, a front-loaded numbered list of side effects, an Args block, a KB pointer, and an example call. Every section earns its place and the format mirrors how an agent needs to consume it.

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 graph-mutating composite tool, the description covers the 'what' thoroughly but omits the 'what if' scenarios: behavior when the blueprint lacks EventAnyDamage, what happens if health_variable doesn't exist, and whether repeated invocation duplicates nodes. The KB link and output schema mitigate this, but an agent operating on a live project would want the preconditions stated explicitly.

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 Args section carries full weight—and it documents all four parameters (blueprint_name, lose_widget_name, health_variable, node_position) with their roles. Minor gaps: it doesn't state that only blueprint_name is required, and node_position's [X, Y] format is described tersely.

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+resource ('Add a custom LostGame event to handle player death') and then enumerates the five concrete operations it performs, from creating the custom event to rewiring EventAnyDamage. This clearly distinguishes it from granular siblings like add_custom_event or add_apply_damage_node, which only perform single operations.

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 context is implied through 'as described in Ch. 11' and the KB link (knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview), which signals this is a recipe-driven composite operation. However, it never names alternatives (e.g., create_lose_screen_widget or add_custom_event) or states when NOT to use this tool, leaving the selection reasoning to the agent.

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

add_play_sound_at_location_nodeB

Add a PlaySoundAtLocation node to a Blueprint for audio feedback.

From Ch. 6 (Adding sound and particle effects). Plays a sound cue at the actor's world location when called.

Args: blueprint_name: Target Blueprint sound_asset_path: Sound asset path (e.g., "/Game/FPWeapon/Audio/FirstPersonTemplateWeaponFire02") volume_multiplier: Volume scale (1.0 = normal) pitch_multiplier: Pitch scale (1.0 = normal) node_position: [X, Y] graph position

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: add_play_sound_at_location_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
pitch_multiplierNo
sound_asset_pathNo
volume_multiplierNo

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, the description carries the full burden of behavioral disclosure. It states the operation adds a node, but it does not mention whether the blueprint is saved/compiled, whether the sound asset must already exist, what side effects occur, or whether the operation is reversible. For a mutating blueprint tool, these 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?

The description is front-loaded with the primary action and contains a compact, scannable arg list, a KB pointer, and a minimal example. The chapter reference adds mild context but does not bloat the description.

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

Completeness3/5

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

The description covers the purpose, all parameters, and an example, and an output schema exists. However, it omits usage alternatives and behavioral side effects/preconditions, which matters more because there are no annotations. It is adequate for a basic call but not fully 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 compensates by explaining every parameter, including volume/pitch normal values, a concrete sound asset path example, and the node_position format. Minor gaps remain, such as the practical meaning of the empty default for sound_asset_path.

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

Purpose4/5

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

The description clearly states the verb and resource: 'Add a PlaySoundAtLocation node to a Blueprint' and explains what the node does at runtime. It is specific enough to distinguish the operation from generic node-adders, though it does not explicitly contrast with sibling tools like add_play_sound_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?

Beyond 'for audio feedback' and a chapter reference, there is no guidance on when to prefer this tool over alternatives such as add_play_sound_node or wire_play_sound_to_blueprint. No prerequisites, exclusions, or workflow context are provided.

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

add_play_sound_nodeC

Add a 'Play Sound at Location' node.

Args: blueprint_name: Blueprint name sound_asset: Sound asset path node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_play_sound_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
sound_assetNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 itself. It only states that a node is added, without mentioning side effects, required graph selection, failure modes, or whether it connects pins. The KB reference is not in the description text. Basic action is clear, but critical behavioral details 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?

The description is brief and well-structured: one-line action, a compact args list, a KB pointer, and an example. No filler words. It is appropriately sized for the tool's complexity, though the minimalism contributes to under-specification in other dimensions.

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

Completeness2/5

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

For a tool with 3 parameters, no annotations, and a 0% schema description coverage, this description is incomplete. It lacks prerequisites (e.g., selected blueprint), details on node placement, and expected outcomes. The example helps, but the KB reference is external and not narrated. An agent would need to guess or consult other sources to call it correctly beyond copying the example.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It provides terse labels: 'Blueprint name', 'Sound asset path', 'Optional graph position'. Blueprint name is clarified by the example as a full asset path. However, sound_asset path format and node_position structure (array of numbers, what each element represents) remain ambiguous. The description adds minimal meaning beyond the schema's property 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 explicitly states 'Add a Play Sound at Location node', which names the specific verb, resource, and node type. It is distinguishable from the many sibling add_*_node tools because it names the exact node. However, it doesn't explicitly clarify it operates on a Blueprint graph, relying on the tool name and context.

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 add_play_sound_at_location_node or import_sound_asset. The example shows a call but does not explain prerequisites, graph context, or when to prefer this over similar sound-related tools. Minimal usage context is implied by the description, but no exclusions or alternative routing are provided.

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

add_predict_projectile_path_nodeA

Add a PredictProjectilePathByObjectType node for VR teleport arc.

From Ch. 16: The TeleportTrace function uses this node to calculate the arc trajectory of the teleport. Returns the predicted path positions array and the landing location for the teleport visualizer.

Args: blueprint_name: Blueprint to add the node to simulation_frequency: Path simulation frequency max_sim_time: Maximum simulation time for the arc (seconds) node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_predict_projectile_path_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
max_sim_timeNo
node_positionNo
blueprint_nameYes
simulation_frequencyNo

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 present, so the description carries the behavioral transparency burden. It clearly indicates the mutation ('Add a ... node') and discloses the return behavior (predicted path positions array and landing location). It does not discuss side effects, compile/save implications, or failure modes, but it does not contradict any annotation because none 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?

The description is front-loaded with the core action and remains compact: a purpose sentence, a short context sentence, an Args list, a KB pointer, and an example. The structure is easy to scan and every section contributes useful information, even if the Ch. 16 reference is supplementary.

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 4-parameter add-node tool with an output schema, the description covers the target blueprint, all parameter meanings, a concrete example, and a KB reference. It does not mention prerequisites or duplicate-node behavior, but the output schema handles return values, so the essential invocation guidance is present.

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. The Args section provides a one-line meaning for every parameter: blueprint_name, simulation_frequency, max_sim_time with seconds unit, and node_position as [X, Y]. This adds real value beyond the schema titles, though simulation_frequency lacks units or recommended ranges.

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 action and object: 'Add a PredictProjectilePathByObjectType node' and scopes it to 'VR teleport arc.' It also explains that the TeleportTrace function uses this node to calculate arc trajectory, so an agent can tell this is the teleport-arc node rather than a generic blueprint node addition. However, it does not explicitly name or contrast sibling tools, so it stops short of full 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?

The 'From Ch. 16' context and 'for VR teleport arc' provide clear situational guidance: use this when wiring the TeleportTrace arc trajectory. It does not state exclusions or compare with alternatives such as add_teleport_node or add_teleport_system_to_pawn, so it lacks explicit when-not-to-use routing.

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

add_print_string_nodeA

Add a Print String node (shows debug message on screen).

Args: blueprint_name: Blueprint name message: Default string to print (can be overridden by connection) duration: How long message stays on screen color: [R, G, B] text color node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_print_string_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
messageNoHello World
durationNo
node_positionNo
blueprint_nameYes

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It includes some useful behaviors: message can be overridden by a connection, duration controls on-screen time, and node_position is optional. However, it does not disclose that the tool modifies a target blueprint asset, whether the blueprint must already exist, where in the graph the node is inserted, or any side effects such as needing compilation.

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

Conciseness5/5

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

The description is compact and front-loaded with the core purpose, followed by a succinct args list, a KB pointer, and a realistic example. Every sentence earns its place; there is no redundant restating of schema defaults or boilerplate.

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 example and KB reference help an agent get started, and the parameter list covers all five inputs. However, for a mutation tool that adds a node to a blueprint, the description omits where the node is added, any prerequisite state of the blueprint, and how the result is returned. The output schema exists, which covers return values, but the missing usage context and side-effect disclosure leave the description only minimally 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 explain parameters, and it does: each of the five arguments gets a meaningful one-line explanation, including the default-string override behavior and the RGB format for color. This goes beyond the bare property titles in the input schema, though it could add value by specifying units for duration or coordinate formats for node_position.

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 opens with a specific verb-resource combination: 'Add a Print String node (shows debug message on screen).' This clearly identifies what the tool does and distinguishes it from sibling add-node tools, even add_print_text_node, by naming the exact node type and its runtime effect.

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

Usage Guidelines2/5

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

No explicit guidance is provided about when to use this tool versus alternatives such as add_print_text_node or other debug-related nodes. The KB reference and example imply context but do not state conditions, exclusions, or prerequisites. The agent must infer usage solely from the tool's name and one-line purpose.

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

add_print_text_nodeA

Add a Print Text node (used in Ch. 18 with Format Text output).

Like Print String but works with Text type values (localizable text). Used with the Format Text node output in the dice roll library example.

Args: blueprint_name: Blueprint to add the node to duration: Display duration on screen node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_print_text_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
durationNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of disclosing behavior. It mentions the action and parameter effects but omits side effects, prerequisites, whether the node is auto-connected to existing graph flow, or what state the blueprint is left in. The KB reference adds potential depth but is not itself behavioral disclosure.

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

Conciseness4/5

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

The description is well-structured with a concise summary, context, Args, KB reference, and example. It is slightly repetitive about the Format Text connection ('used in Ch. 18' and 'used with the Format Text node output in the dice roll library example'), but overall every section earns its place and the key details are front-loaded.

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 straightforward add-node tool, the description covers what, why, parameters, an example, and a KB pointer. Since an output schema exists, return-value details are not required. Minor gaps such as missing explicit preconditions or graph-placement behavior are acceptable for this simplicity level, but the lack of behavioral transparency 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?

Schema description coverage is 0%, but the Args section explains all three parameters: blueprint_name, duration, and node_position (with format [X, Y]). This compensates for the empty schema descriptions. It could add more nuance like coordinate units or bounds, but the explanations are sufficient for correct invocation.

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: 'Add a Print Text node'. It also differentiates from the sibling add_print_string_node by noting it works with Text type values instead of String, which prevents confusion among the large family of add_*_node 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?

It clearly positions the tool relative to Print String ('Like Print String but works with Text type values'), implying when each should be used. It also gives concrete usage context ('used in Ch. 18 with Format Text output') and a worked example. It does not explicitly state exclusions, but the comparison and usage hint provide enough guidance.

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

add_progress_bar_to_widgetA

Add a Progress Bar widget (useful for health/ammo bars).

Args: widget_name: Widget Blueprint name progress_bar_name: Component name position: [X, Y] position size: [Width, Height] fill_color: [R,G,B,A] fill color background_color: [R,G,B,A] background percent: Initial fill (0.0-1.0)

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_progress_bar_to_widget(widget_name="/Game/MCP_Test/WBP_Example", progress_bar_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
percentNo
positionNo
fill_colorNo
widget_nameYes
background_colorNo
progress_bar_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 burden of behavioral disclosure. It makes the additive nature clear and identifies the target widget blueprint, but it does not explain side effects such as in-place mutation of the widget asset, potential overwriting of an existing component with the same name, or whether compilation/saving is needed afterward.

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

Conciseness5/5

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

The description is compact and well structured: a one-line purpose, a tight parameter list, a knowledge-base pointer, and a concrete example. Every part adds value without unnecessary elaboration.

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 has seven parameters and no schema descriptions, the description covers all of them, provides array format conventions, includes a KB reference, and supplies a realistic invocation example. The presence of an output schema means return-value documentation is not required here.

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?

The schema provides zero parameter descriptions, so the description fully compensates by explaining all seven arguments: widget_name, progress_bar_name, position format, size format, color channel order, and percent range. This gives an agent complete parameter-level understanding beyond the bare schema titles and defaults.

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

Purpose5/5

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

The description uses a specific verb+resource ('Add a Progress Bar widget') and immediately identifies the use case ('useful for health/ammo bars'). This clearly distinguishes it from sibling widget-addition tools like add_text_block_to_widget or add_button_to_widget.

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

Usage Guidelines4/5

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

The description provides clear context by framing the tool as useful for health/ammo bars, which helps an agent decide when this tool is appropriate. It does not explicitly name alternatives or state when not to use it, so it stops short of full exclusion guidance.

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

add_quit_game_nodeA

Add a QuitGame node to exit the application.

From Ch. 8 (Win/Lose menu Quit button) and Ch. 11 (Pause menu).

Args: blueprint_name: Blueprint to add the node to quit_preference: "Quit" or "Background" node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_quit_game_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
quit_preferenceNoQuit

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?

With no annotations, the description must carry the burden of disclosing behavior. It clearly says the tool adds a node to a blueprint and explains the quit_preference options ('Quit' or 'Background'). However, it does not disclose side effects, failure behavior, or whether the blueprint needs to be saved or compiled afterward, which is a meaningful gap 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.

Conciseness5/5

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

The description is compact and well-organized: purpose first, then usage context, parameters, a KB pointer, and an example. Every section earns its place, and there is no filler or redundant restatement of the tool name.

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 three-parameter node-insertion operation with an output schema, the description provides purpose, parameter semantics, usage context, and an example. It lacks explicit side-effect and when-not-to-use guidance, but overall it gives an agent sufficient information to call the tool correctly.

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 fully compensates by defining all three parameters: blueprint_name as the target blueprint, quit_preference with its two valid values, and node_position as an [X, Y] graph position. This gives an agent enough semantic understanding beyond the raw 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?

The description states a specific operation: 'Add a QuitGame node to exit the application.' This names the exact resource and the intended behavior, making it clearly distinguishable from the many sibling add_*_node tools. The example also reinforces the target blueprint parameter.

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 gives context for when the node is relevant: 'From Ch. 8 (Win/Lose menu Quit button) and Ch. 11 (Pause menu).' This implies typical usage but does not explicitly state when not to use it or mention alternatives. Usage guidance is present but only implied.

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

add_random_array_item_nodeA

Add a Random Array Item node to get a random element from an Array.

From Ch. 13 (BP_RandomSpawner): Returns a random element from the array. Used to randomly select a spawn point from an array of Target Points.

Args: blueprint_name: Blueprint to add the node to array_variable: Array variable name node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_random_array_item_node(blueprint_name="/Game/MCP_Test/BP_Example", array_variable="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
array_variableYes
blueprint_nameYes

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it adds a node, but does not disclose side effects (e.g., modifying the blueprint graph), prerequisites (e.g., the array variable must exist), or failure modes. The absence of such details leaves the agent unaware of the mutation's scope.

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

Conciseness4/5

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

The description is well-structured: a clear opening, contextual note, argument list, KB reference, and example. It is mostly efficient, though the 'From Ch. 13' context is somewhat peripheral and could be trimmed. The core purpose is front-loaded.

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 moderately complex with 3 params and an output schema, so return values are covered externally. However, the description omits important context such as whether the blueprint must already exist, what happens if the array variable is not found, and how the node is positioned relative to the graph. The KB reference helps but does not fill all 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 compensates by explaining all three parameters: blueprint_name, array_variable, and node_position. It adds meaning beyond the schema by specifying what each parameter is for and providing a concrete example. It could go deeper (e.g., coordinate format, variable type constraints) but is largely sufficient.

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 opens with a specific verb and resource: 'Add a Random Array Item node to get a random element from an Array.' This clearly states what the tool does and differentiates it from sibling node-adding tools by naming the exact node type. The example and context reinforce the intended use without ambiguity.

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

Usage Guidelines4/5

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

The description gives a clear usage context: 'Used to randomly select a spawn point from an array of Target Points.' It also provides an example. However, it does not mention alternatives or when not to use this tool, so it falls short of explicit when/when-not guidance.

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

add_random_float_in_range_nodeA

Add a 'Random Float In Range' node.

Ch.13: Used in BP_RandomSpawner and procedural generation to get random values. Returns a random float between Min and Max (inclusive).

Args: blueprint_name: Blueprint name min_value: Minimum float value max_value: Maximum float value node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_random_float_in_range_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
max_valueNo
min_valueNo
node_positionNo
blueprint_nameYes

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?

There are no annotations, so the description bears the full burden of behavioral disclosure. It does disclose the core behavior — adding the node and its inclusive random range — and notes that node_position is optional. However, it does not explicitly say this mutates the Blueprint graph, and the phrase 'Returns a random float' could be misread as the tool's own return value rather than the runtime behavior of the node being added.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the core action, followed by a useful context sentence, a compact args list, a KB pointer, and a minimal example. The Ch.13 and KB references are slightly optional, but no part 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 low-complexity node-adding tool, the description covers the operation, all arguments, and includes an example with the blueprint path format. Since an output schema exists, the tool's return value does not need to be spelled out in the description. It falls just short of complete because the side effect on the Blueprint graph could be more explicit.

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 description coverage, the description compensates well by explaining all four parameters: blueprint_name, min_value, max_value, and node_position with its optional [X, Y] format. This adds meaning beyond the raw schema. It stops short of a 5 because it does not mention defaults or constraints such as min < max.

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 action ('Add') and the exact node type ('Random Float In Range'), and clarifies the node's behavior: 'Returns a random float between Min and Max (inclusive).' This is clear and unambiguous. However, it does not explicitly differentiate itself from the similar sibling add_random_integer_in_range_node, so it earns a 4 rather than 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 description provides concrete usage context: 'Used in BP_RandomSpawner and procedural generation to get random values.' This tells an agent when this tool is relevant. It does not explicitly list when not to use it or name alternatives, but the context is clear enough to be more than merely implied.

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

add_random_integer_in_range_nodeA

Add a 'Random Integer In Range' node.

Ch.13, Ch.18: Used for dice roll library and random spawning. Returns a random integer between Min and Max (inclusive).

Args: blueprint_name: Blueprint name min_value: Minimum integer value max_value: Maximum integer value node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_random_integer_in_range_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
max_valueNo
min_valueNo
node_positionNo
blueprint_nameYes

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?

With no annotations provided, the description must fully disclose behavioral traits, but it is ambiguous: 'Returns a random integer between Min and Max' could be misread as the tool's own return value rather than the node's output when executed. It also fails to mention side effects on the blueprint graph, prerequisites (e.g., blueprint existence), or error handling, leaving important gaps for a mutation-like 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 well-structured with a clear lead, usage context, argument list, KB reference, and example. It is front-loaded with the purpose and does not waste words, though it could be slightly more compact without losing clarity.

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

Completeness3/5

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

The tool has a moderate complexity as a node-adding operation. The description provides an example and a KB reference, but the ambiguous return statement and lack of details on graph integration or prerequisites make it incomplete for an agent to fully predict behavior. Since an output schema exists, not explaining return values is acceptable, but the contradictory 'Returns a random integer' line undermines completeness.

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 provides succinct meanings for all four parameters (blueprint_name, min_value, max_value, node_position) and notes node_position is optional, adding value beyond the bare schema. It could mention constraints like min<=max or inclusivity explicitly, but the essentials 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?

The description clearly states the tool adds a 'Random Integer In Range' node and specifies that the node returns a random integer between Min and Max inclusive. It uses a specific verb-resource pair and distinguishes itself from sibling node-adding tools like add_random_float_in_range_node by focusing on the integer variant.

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 concrete usage context by mentioning chapters 13 and 18 for dice roll and random spawning scenarios, giving an agent a sense of when to apply it. However, it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.

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

add_relational_operator_nodeA

Add a relational (comparison) operator node returning a Boolean.

Ch.2: Relational operators compare two values and return True/False:

  • Equal (==): Both values are the same

  • NotEqual (!=): Values differ

  • Greater (>): Left > Right

  • GreaterEqual (>=): Left >= Right

  • Less (<): Left < Right

  • LessEqual (<=): Left <= Right

Args: blueprint_name: Blueprint name operator: "Equal", "NotEqual", "Greater", "GreaterEqual", "Less", "LessEqual" operand_type: "Float", "Integer", "String", "Name", "Vector", "Object" node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_relational_operator_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorNoEqual
operand_typeNoFloat
node_positionNo
blueprint_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 the behavioral burden. It does disclose that the node returns a Boolean and explains each operator's comparison semantics. However, it does not mention that this mutates the blueprint graph, whether a blueprint must be loaded/compiled first, or what the tool returns besides the added node.

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

Conciseness4/5

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

The description is well-structured with a clear intent line, operator reference, argument list, knowledge base pointer, and example. It is somewhat verbose, but each section serves a purpose, and the operator breakdown is genuinely useful rather than 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?

Given the sparse schema and lack of annotations, the description provides enough to call the tool correctly: parameter meanings, allowed values, optionality, example call, and a KB reference. The main missing piece is guidance on when to choose this tool over sibling node-adding tools, but the operational details are sufficiently complete.

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%, but the description fully compensates: it enumerates all four parameters, gives the allowed values for operator and operand_type, marks node_position optional with [X, Y] semantics, and clarifies blueprint_name. This is exactly the kind of value the schema does not provide.

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 action ('Add a relational (comparison) operator node') and its distinguishing output ('returning a Boolean'). It is clear among the large set of add_*_node siblings, though it does not explicitly contrast itself with related tools like add_arithmetic_operator_node or add_logical_operator_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?

There is no explicit guidance about when to use this tool instead of alternatives, nor any exclusions or prerequisites. The example and argument list imply usage, but the description never tells an agent how to choose relational operators over arithmetic or logical operator nodes.

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

add_remove_from_parent_nodeA

Add a RemoveFromParent node to hide/remove a widget from the viewport.

From Ch. 8 and Ch. 11: Used to close menus. When a player clicks "Resume" on the pause menu, RemoveFromParent removes the widget.

Args: blueprint_name: Blueprint to add the node to widget_variable: Variable holding the widget reference (empty = self) node_position: [X, Y] graph position

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_remove_from_parent_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
widget_variableNo

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 must disclose behavioral aspects. It explains the node's effect (hide/remove widget) and gives a menu-closing example. However, it does not clarify that this is a graph-editing operation that does not execute immediately, nor does it mention side effects like whether the widget is destroyed or just hidden. It also omits edge cases (e.g., invalid widget variable, node placement in wrong graph). This is acceptable but not 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 well-structured with an intro, context, parameter list, KB reference, and example. It is moderately sized but every part adds value. The purpose is front-loaded, and the example is helpful. Minor redundancy in the chapter references could be trimmed, but overall it is 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 graph-editing tool, the description covers the key inputs and gives a concrete example. It mentions the UMG context and provides a KB pointer. It does not describe the return value or potential errors, but given that the schema indicates an output schema (not shown), the description's omission is acceptable. It is sufficiently complete for an agent to call it correctly.

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?

The schema provides no descriptions (coverage 0%), so the description's parameter explanations are essential. It clearly defines each parameter: blueprint_name (target blueprint), widget_variable (reference, with 'empty = self' hint), and node_position (graph coordinates). This adds significant meaning beyond the raw schema and enables correct invocation.

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

Purpose5/5

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

The description clearly states the tool's function: adding a RemoveFromParent node to a blueprint graph, with a specific use case (closing menus). It distinguishes itself from other node-adding tools by naming the node type and its purpose. The example further clarifies the target blueprint parameter. This is specific and unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: when needing to add a RemoveFromParent node, particularly for menu closing scenarios. It references chapters as guidance but does not explicitly name alternative tools or state when not to use it. Given the large sibling set of node-adders, a brief mention of alternatives (e.g., 'use add_widget_to_viewport to show widgets') would improve it, but the context is sufficient.

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

add_report_noise_event_nodeA

Add a 'Report Noise Event' node (UAISense_Hearing).

Ch.10: Reports a noise to the AI perception system so PawnSensing can detect it. Used to make the player's actions (shooting, footsteps) audible to AI.

Args: blueprint_name: Blueprint name (usually player Character) loudness: How loud the noise is (0.0-1.0) max_range: Max range the noise can be heard (0 = use PawnSensing threshold) node_position: Optional [X, Y] graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: add_report_noise_event_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
loudnessNo
max_rangeNo
node_positionNo
blueprint_nameYes

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 behavioral burden. It explains the node's role in AI perception and the max_range semantics (0 = use PawnSensing threshold), which is useful. However, it does not disclose that the node is added to the current Blueprint graph, prerequisites like a PawnSensing component, or failure behavior if blueprint_name is invalid.

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 well-organized with a clear purpose statement, labeled argument list, KB pointer, and concrete example. Every part earns its place, and there is no filler or redundant repetition.

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

Completeness4/5

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

The tool has an output schema, so return values need no explanation. It covers purpose, all parameters, a KB reference, and a usage example. The main gap is not explicitly stating which graph the node is inserted into or what prerequisites are required, but for an add-node operation this is mostly adequate.

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%, but the description compensates well by explaining every parameter: blueprint_name with an example, loudness with a range, max_range with its default behavior, and node_position with optional syntax. This adds real meaning beyond the raw 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?

The description states a specific verb and resource: add a 'Report Noise Event' node (UAISense_Hearing), and explains that it reports noise to the AI perception system so PawnSensing can detect it. It clearly distinguishes this from sibling tools like add_on_hear_noise_event by focusing on creating the reporting node rather than handling the hearing event.

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 a clear usage context: make player actions like shooting and footsteps audible to AI. It does not explicitly state when not to use it or name alternative tools, but the context and examples are sufficient for an agent to understand the intended scenario.

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

add_reroute_nodeB

Add a Reroute node to organize wire routing in the graph.

Ch.4: Reroute nodes are dot-shaped nodes used to bend wires and improve readability of complex Blueprint graphs without changing logic.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_reroute_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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 carries the full burden. It states the tool 'Add a Reroute node,' implying a mutation, but does not disclose side effects (e.g., graph modification, compilation triggers), permissions, or return behavior. The output schema exists but is not referenced. For a write operation with zero annotation coverage, this is a significant gap, warranting a 2.

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

Conciseness4/5

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

The description is concise and well-structured: it opens with the action, provides background on Reroute nodes, lists parameters, and includes a KB reference and example. No superfluous content; each section earns its place. Slightly longer than necessary but still efficient, so a 4.

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 node-add tool, the description covers the core purpose and parameters. However, it lacks precise details on blueprint path conventions, coordinate system for node_position, and any prerequisites or effects (e.g., whether the blueprint must be loaded). With many sibling node tools and no annotations, a bit more context would help the agent call it correctly. A 3 reflects this balance.

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

Parameters3/5

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

Schema descriptions are absent (0% coverage), so the description must compensate. It lists both parameters and gives a format for node_position ('[X, Y] graph position'), which adds value. However, it does not explain the coordinate system, units, or whether blueprint_name expects a full path (though the example shows a path). Minimal but helpful, hence a 3.

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

Purpose4/5

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

The description clearly states the action 'Add a Reroute node' and its purpose 'to organize wire routing in the graph.' It explains what a Reroute node is (dot-shaped, bends wires) and provides an example. While it doesn't explicitly contrast with other node-adding siblings, the specific node type makes the purpose unambiguous, earning a 4 rather than a 5 due to lack of explicit 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 when to use the tool ('to organize wire routing... improve readability') but does not explicitly state when not to use it or mention alternatives. It provides an example invocation, which helps, but there is no guidance on choosing this over other add_*_node tools. Usage context is implied rather than stated, so a 3 is appropriate.

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

add_save_game_to_slot_nodeA

Add a SaveGameToSlot node to a Blueprint.

From Ch. 11: saves the SaveGame object to a named slot on disk. This corresponds to the "Save Game to Slot" node in the Blueprint graph.

Args: blueprint_name: Blueprint to add the node to save_game_variable: Variable holding the SaveGame instance reference slot_name_variable: Variable holding the save slot filename string user_index: Player index (use 0 for single player) node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_save_game_to_slot_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
user_indexNo
node_positionNo
blueprint_nameYes
save_game_variableNoSaveInfoRef
slot_name_variableNoSaveSlotName

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?

With no annotations, the description carries the behavioral burden. It correctly states the tool adds a node and explains what the node does, but it does not disclose prerequisites such as whether the referenced variables must already exist in the Blueprint, or whether the node is inserted unconnected. Those are meaningful gaps for a graph-mutating 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 concise and front-loaded with the exact action, followed by compact context, parameter documentation, and an example. The 'This corresponds...' sentence is mildly redundant with the first sentence but does not waste significant 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?

For a simple add-node tool with an output schema, most invocation details are covered: purpose, parameters, knowledge base reference, and example. Missing pieces are explicit alternative routing versus sibling save/load tools and preconditions around variable existence in the Blueprint, which matter for correct use.

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?

The input schema has 0% description coverage, but the Args section provides meaningful semantics for all five parameters, including the variable roles, user_index guidance, and the [X, Y] position format. This fully compensates for the schema's lack of descriptions.

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?

Description opens with a specific verb and resource ('Add a SaveGameToSlot node to a Blueprint') and clearly identifies the UE node's runtime purpose: saving a SaveGame object to a named slot on disk. This distinguishes it from sibling load/create/delete save-game node 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?

The description gives a clear usage context: adding the node that performs a save-to-slot operation. It does not explicitly mention alternatives like add_load_game_from_slot_node or setup_full_save_load_system, so it stops short of full when-to-use/when-not-to-use routing.

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

add_select_nodeA

Add a Select node to choose a value based on an index.

From Ch. 15: The Select node returns the value matching the index input. It's a cleaner alternative to chains of Branch nodes for multi-way selection.

Index type can be: Integer, Enum, Boolean, or Byte. Option type can be any type (Actor Class Reference, String, Float, etc.)

Example from the book: Based on DifficultyLevel enum (Easy/Normal/Hard), select which Boss Blueprint class to spawn.

Args: blueprint_name: Blueprint to add the node to index_type: Type for the Index input ("Integer", "Enum", "Boolean", "Byte") option_type: Type for the Option inputs and Return Value num_options: Number of option pins to create node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_select_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
index_typeNoInteger
num_optionsNo
option_typeNoString
node_positionNo
blueprint_nameYes

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?

No annotations are provided, so the description carries the behavioral burden. It explains the node's runtime behavior (returns the value matching the index input), allowed index types, and option-type flexibility. It does not explicitly mention graph mutation side effects or compile/save behavior, but 'Add' and the node semantics convey the main operational intent.

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 then uses a compact Args block plus an example call. The book reference and illustrative example add context that clarifies the node's role without making the description bloated.

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 5-parameter mutation tool with no annotations, the description covers purpose, usage, parameter semantics, and provides an example invocation. An output schema exists, so return-value details are not required, and the schema handles required-versus-optional distinctions.

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%, and the description fully compensates by explaining all five parameters: target blueprint, index type with allowed values, option type, number of option pins, and node position format [X, Y]. This adds substantial meaning beyond 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?

The opening sentence names a specific operation (adding a Select node) and its function (choosing a value based on an index). It also contrasts the tool with chains of Branch nodes, which helps distinguish it from the many add_*_node siblings.

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 explicitly positions the tool as a cleaner alternative to chains of Branch nodes for multi-way selection, which gives clear when-to-use guidance. It does not enumerate exclusions or alternative node families like switch nodes, but the core usage context is present.

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

add_sequence_nodeA

Add a Sequence node that executes outputs in order.

Sequence nodes execute 'Then 0', 'Then 1', 'Then 2', etc. in sequence. Useful for organizing multiple sequential actions.

Args: blueprint_name: Blueprint name num_outputs: Number of output execution pins (2-10) node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_sequence_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
num_outputsNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 a good job: it explains the Sequence node's execution order, output pin naming, the number of outputs range, and optional positioning. It does not mention subschema return details or possible side effects beyond the obvious 'add node' mutation, but the provided behavioral semantics are clear and accurate.

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 well-structured: a brief purpose statement, a one-line behavioral explanation, a concise Args block, a KB pointer, and a concrete example. Every part earns its place without redundant 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 relatively simple three-parameter tool, the description is nearly complete: it covers purpose, parameter semantics, and an example. An output schema exists, so return values need not be described. A small gap is that it does not specify which graph or context the node is added to, which could matter in blueprint editing, but overall the agent has enough information to invoke the tool correctly.

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 is the only source of parameter meaning. It provides meaningful definitions for all three parameters: blueprint_name, num_outputs with the 2-10 range, and node_position as an optional [X, Y] graph position. This fully compensates for 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 clearly states that the tool adds a Sequence node and explains what that means ('executes outputs in order'). It identifies the specific resource and behavior, which is distinct from many other add-node tools in the sibling list. However, it does not explicitly differentiate from the similarly named `add_blueprint_sequence_node`, so it misses the highest bar for 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?

The description says the node is 'useful for organizing multiple sequential actions,' which gives clear contextual guidance on when to use it. It does not explicitly mention alternatives or when not to use it, but the use-case statement is enough to guide an agent toward this tool for sequential execution flow.

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

add_sequence_player_nodeA

Add a Sequence Player node to an Animation Blueprint AnimGraph.

Use this for direct animation-sequence playback in generated AnimBP graphs, then inspect the graph and compile the AnimBP before relying on the node at runtime.

Args: anim_blueprint_name: Animation Blueprint asset path or name. sequence_asset: Animation sequence asset path. graph_name: Optional graph name; defaults to the AnimGraph. node_position: Optional [X, Y] graph position. wire_to_root: Whether to wire the pose output directly to Root. loop: Whether the sequence player should loop.

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#animgraph-native-authoring Example: add_sequence_player_node(anim_blueprint_name="/Game/ABP_Enemy", sequence_asset="/Game/Anims/A_Idle")

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
graph_nameNo
wire_to_rootNo
node_positionNo
sequence_assetYes
anim_blueprint_nameYes

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?

No annotations are provided, so the description carries the full burden. It does disclose meaningful behavior: the compile-before-runtime requirement, wire_to_root wiring semantics, and that graph_name defaults to the AnimGraph. However, it does not disclose whether adding the node overwrites existing nodes at the position, whether the blueprint asset is saved/dirtied, or failure behavior for invalid asset paths. For a mutation tool with zero annotation coverage, the disclosure is partial but not absent.

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 well-structured: a one-line purpose statement, a usage-context sentence, a compact Args list, a KB pointer, and an invocation example. Content is front-loaded and every section earns its place; the length is justified by the need to document six parameters at 0% schema coverage.

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 6-parameter tool with an output schema and no annotations, the description is nearly complete: all parameters are explained, an example shows a realistic call, a KB reference points to deeper documentation, and the compile requirement is stated. It does not document error cases or explicit preconditions (e.g., whether the target AnimBP must already exist), but the output schema covers return values, so the remaining gap is minor.

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: the Args section documents all 6 parameters with meaningful context beyond the schema. It clarifies that anim_blueprint_name accepts a path or name, node_position is formatted as [X, Y], graph_name defaults to the AnimGraph, and wire_to_root explains what the pose output connection does. Some entries are terse ("Whether the sequence player should loop" adds little over the schema's default), but overall the compensation is strong.

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 opening sentence states a specific verb and resource: "Add a Sequence Player node to an Animation Blueprint AnimGraph." It is immediately distinguishable from the many sibling add_*_node tools because it targets a Sequence Player specifically within an AnimGraph, and no sibling covers this exact operation (add_blend_space_node, add_state_machine, connect_anim_graph_nodes are all different).

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

Usage Guidelines4/5

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

The description gives clear positive guidance: "Use this for direct animation-sequence playback in generated AnimBP graphs," and states a required post-condition (inspect the graph and compile the AnimBP before relying on the node at runtime). It lacks explicit exclusions or named alternatives (e.g., when to reach for anim_create_montage instead), but the stated context is enough to route an agent correctly.

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

add_set_actor_location_nodeA

Add a 'Set Actor Location' node to teleport an actor to a new Vector.

Ch.14: Sets New Location directly; use AddActorWorldOffset for relative moves.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_set_actor_location_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

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

There are no annotations, so the description must carry the behavioral burden. It discloses the direct-set behavior and the optional graph position, but it does not explicitly state that this modifies/creates a node in a Blueprint graph, whether the asset is saved/compiled, or that runtime teleportation only happens when the graph executes. That is partial transparency, not a contradiction.

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

Conciseness5/5

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

The description is compact and front-loaded with the core purpose, followed by a short usage note, args, KB link, and example. Every section earns its place and there is no redundant 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 two-parameter node-adding tool, the description provides purpose, the key alternative, parameter meanings, a KB pointer, and an example; output schema exists so return values need not be described. It is slightly incomplete around graph-mutation side effects and prerequisites, but overall it gives an agent enough to call 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 description coverage is 0%, and the description compensates by explaining blueprint_name as a Blueprint name (with a path example) and node_position as 'Optional [X, Y] graph position.' This adds meaning beyond the raw schema. It could go further by explaining the coordinate space of node_position, but the essential invocation semantics are present.

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 names a specific verb and resource: 'Add a Set Actor Location node to teleport an actor to a new Vector.' It also distinguishes this from the relative-move sibling by saying 'use AddActorWorldOffset for relative moves,' so an agent can tell it apart from nearby add_*_node tools.

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?

It gives an explicit selection rule: 'Sets New Location directly; use AddActorWorldOffset for relative moves.' This tells the agent when to use this tool and when to prefer the sibling, leaving little to inference. The example further clarifies the expected blueprint_name argument.

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

add_set_actor_rotation_nodeA

Add a 'Set Actor Rotation' node to assign a new Rotator.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_set_actor_rotation_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 burden of behavioral disclosure. It states the node being added but does not disclose side effects, such as modifying the blueprint asset, requiring an existing blueprint, or any consequences of placement. Without annotations, this leaves an important transparency gap.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose. The args list, KB pointer, and example are useful, though 'Blueprint name: Blueprint name' is mildly redundant. Overall, it earns its length.

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 node-adding operation this is minimally viable: it names the node type, the required parameter, the optional position, and provides an example. Still, it omits prerequisites such as whether the blueprint must already exist, and it does not describe possible failures or the operation's effect on the graph beyond adding the node.

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, and it does. It identifies blueprint_name as the blueprint and node_position as an optional [X, Y] graph position, and the example gives a concrete blueprint path. This compensates well for the sparse schema documentation.

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 ('Add'), a specific resource ('Set Actor Rotation' node), and its purpose ('assign a new Rotator'). This clearly distinguishes it from the many sibling add_*_node tools, such as add_set_actor_location_node or add_set_actor_scale_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 description implies when to use it: whenever a Set Actor Rotation node needs to be added to a blueprint. However, it does not explicitly discuss when not to use it or compare it with alternatives like set_actor_property, set_actor_transform, or add_set_actor_location_node.

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

add_set_actor_scale_nodeB

Add a 'Set Actor Scale 3D' node to set the actor's 3D scale.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_set_actor_scale_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state that this mutates the blueprint graph, whether it requires the blueprint to be open/loaded, what side effects occur, or how errors are reported. The example and KB link add usage context but no behavioral traits. A mutation tool with zero annotation coverage should disclose its effect on the blueprint graph; this one does not.

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

Conciseness4/5

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

The purpose statement is front-loaded in the first sentence, followed by compact param listings, a KB pointer, and an example. Every section earns its place with no filler. The structure is clean and scannable.

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 description covers both parameters, provides a usage example, and a KB reference. Since an output schema exists, return values need not be described. Minor deduction: the KB link points to a chaos physics topic that seems mismatched with actor-scale functionality, and the description does not note the graph-mutation side effect, which would help completeness for a tool with no 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 description coverage is 0%, so the description must compensate. It does clarify node_position as 'Optional [X, Y] graph position,' which adds format meaning beyond the bare 'array of number' schema. However, blueprint_name is described as 'Blueprint name,' which merely restates the schema title. The concrete example value ('/Game/MCP_Test/BP_Example') helps anchor the format. This is partial compensation for the 0% coverage.

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+resource pairing ('Add a Set Actor Scale 3D node') with an explicit purpose ('to set the actor's 3D scale'). This distinguishes it from siblings like add_set_actor_location_node and add_set_actor_rotation_node, though it does not explicitly name those alternatives. The '3D scale' qualifier and the verb 'set' (vs 'get' in add_get_actor_scale_node) provide enough clarity.

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 the many sibling add_*_node tools. There are no exclusions, no prerequisites (e.g., that the blueprint must exist first), and no mention of alternatives. The KB reference points to a chaos-physics document which appears unrelated to actor scale, providing no routing value. The agent must infer usage from the tool name alone.

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

add_set_collision_enabled_nodeB

Add a 'Set Collision Enabled' node to toggle collision on a component.

Args: blueprint_name: Blueprint name component_name: Component to configure collision_enabled: "NoCollision", "QueryOnly", "PhysicsOnly", "QueryAndPhysics", "QueryAndProbe", "ProbeOnly" node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_set_collision_enabled_node(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
component_nameYes
collision_enabledNoQueryAndPhysics

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?

There are no annotations, so the description carries the full burden. It states the intended action but does not disclose side effects, preconditions (e.g., whether the blueprint must be open or compiled), persistence behavior, or error cases. The mutation-like nature of adding a node is implied but never made explicit.

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 compact and front-loaded with the purpose, followed by an args list, KB reference, and example. The format is scannable and every section earns its place, though the per-parameter list slightly duplicates schema information.

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

Completeness3/5

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

All required parameters are covered and an output schema exists, so return values need no explanation. However, with no annotations, the description lacks behavioral context such as where the node is added, whether it replaces existing collision settings, or what side effects occur. This is adequate but leaves clear gaps for an agent selecting and invoking the 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. It enumerates all four parameters, explains collision_enabled's allowed values, and marks node_position as optional. This adds real meaning beyond the bare schema types, though blueprint_name and component_name are only minimally described.

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

Purpose4/5

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

The description clearly states the action: 'Add a Set Collision Enabled node to toggle collision on a component.' This names the specific resource and operation. It does not explicitly distinguish it from sibling tools like add_set_collision_profile_node or set_collision_settings, but the verb and node-specific phrasing are sufficiently 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?

No explicit when-to-use guidance or alternative comparisons are provided. The example shows a plausible invocation, and the description implies this is for graph editing, but it never tells the agent when to choose this over collision-related siblings such as add_set_collision_profile_node or set_collision_settings.

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

add_set_collision_profile_nodeB

Add a 'Set Collision Profile Name' node for a component.

Ch.14: Collision Presets define how a component responds to traces/overlaps. Common presets: BlockAll, OverlapAll, OverlapAllDynamic, Pawn, Custom.

Args: blueprint_name: Blueprint name component_name: Component to set collision on profile_name: Collision preset: "BlockAll", "OverlapAll", "OverlapAllDynamic", "Pawn", "BlockAllDynamic", "NoCollision" node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_set_collision_profile_node(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_nameNoBlockAll
node_positionNo
blueprint_nameYes
component_nameYes

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 provided, the description carries the full burden of behavioral disclosure. It clearly signals the additive mutation ('Add a node'), but it does not disclose side effects, prerequisites like blueprint/component existence, whether existing collision-profile nodes are replaced, or whether compilation is required. This is a notable gap 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 well-structured with a clear lead sentence, an Args list, a KB reference, and an example. It is not bloated, though the 'Common presets' line is slightly redundant with the profile_name allowed values and includes 'Custom' which is not in the allowed 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?

For a four-parameter node-adding tool, the description covers the parameters, allowed values, and an example, and an output schema exists so return-value details are not required. However, it omits behavioral context such as prerequisites, error conditions, or what happens if the component or blueprint is invalid, leaving the description not fully complete for an agent operating without annotations.

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, and it largely does. It explains all four parameters, enumerates the allowed profile_name values, notes node_position as optional [X,Y], and gives an example that illustrates the blueprint_name path format. This adds meaningful 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 clearly states a specific action—'Add a Set Collision Profile Name node for a component'—and identifies the resource and node type. However, it does not explicitly distinguish itself from related sibling tools like set_collision_settings or add_set_collision_enabled_node, so it stops short of full 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 provides useful context about collision presets and their role in component trace/overlap responses, which implies when this tool is relevant. It does not explicitly state when to prefer this tool over alternatives or mention exclusion cases, leaving the routing decision mostly to inference.

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

add_set_contains_nodeA

Add a Set CONTAINS node to check if an element exists in a Set.

From Ch. 13: Returns True if the set contains the specified element.

Args: blueprint_name: Blueprint to add the node to set_variable: Set variable name node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_set_contains_node(blueprint_name="/Game/MCP_Test/BP_Example", set_variable="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
set_variableYes
node_positionNo
blueprint_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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does state the return behavior ('Returns True if the set contains the specified element') and the primary action ('Add a Set CONTAINS node'), which implies a mutation to the blueprint. However, it omits details about prerequisites (e.g., the set variable must exist), failure modes, or any side effects beyond adding the node. The description is partially transparent but lacks depth.

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

Conciseness4/5

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

The description is well-structured: a clear one-line purpose, a reference to Ch. 13, a concise Args list, a KB link, and an example. It front-loads the core purpose and avoids unnecessary words. The example adds practical value. It is not overly long but could be slightly more compact; however, the structure earns a 4.

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 node-adding tool with an output schema, the description provides an example and a KB reference, which are helpful. However, it does not clarify that node_position is optional, nor does it specify prerequisites like the existence of the set variable or blueprint. Given the schema coverage is 0% and there are no annotations, the description leaves some gaps that an agent might need to discover elsewhere. It is adequate but not fully complete.

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 lists all three parameters with brief descriptions: 'blueprint_name: Blueprint to add the node to', 'set_variable: Set variable name', and 'node_position: [X, Y] graph position'. It also provides an example using two of the three parameters. However, it does not explain that node_position is optional, nor does it detail the expected format beyond the schema. The descriptions are helpful but not comprehensive.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Add a Set CONTAINS node to check if an element exists in a Set.' This specifies the exact verb (Add), resource (Set CONTAINS node), and the function it performs (membership check). It also adds the behavioral detail 'Returns True if the set contains the specified element,' making it distinct from sibling set operations like add_set_union_node or add_set_intersection_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 description implies usage by describing the operation ('check if an element exists in a Set'), but it does not explicitly state when to prefer this over alternative tools or when not to use it. There is no mention of 'use this for membership tests' or 'instead of other set operations.' The usage context 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.

add_set_difference_nodeA

Add a Set DIFFERENCE node - elements in first set but not in second.

From Ch. 13: Returns elements from set A that are NOT in set B.

Args: blueprint_name: Blueprint to add the node to node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_set_difference_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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?

Without annotations, the description carries the full burden. It does state the core mutation ('Add a Set DIFFERENCE node') and clarifies what the node computes, but it does not disclose side effects, behavior when the node already exists, whether compilation is needed, or what the operation returns beyond what an output schema might cover.

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 compact and readable, with a clear statement, args list, knowledge-base pointer, and example. The only real flaw is redundancy: the set-difference definition appears twice in nearly the same words.

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 two-parameter node-adding tool with an output schema present, the description provides enough context to call it successfully: target blueprint, position format, an example, and a KB reference. It does not spell out all failure modes or mutation side effects, but the low complexity keeps this acceptable.

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 provides useful meaning for both parameters: blueprint_name is 'Blueprint to add the node to' and node_position is '[X, Y] graph position.' It also gives a concrete invocation example. Minor gaps remain around optionality and coordinate-space details.

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

Purpose5/5

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

The description clearly identifies the verb ('Add') and resource ('Set DIFFERENCE node'), then defines the operation with the example 'elements in first set but not in second.' This distinguishes it from sibling set-node tools like add_set_union_node and add_set_intersection_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 use case is implied through the set-difference semantics, but the description never explicitly says when to choose this instead of a union, intersection, or contains node. It provides no exclusions or alternative routing, so the agent must infer the choice from the mathematical definition.

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

add_set_game_paused_nodeA

Add SetGamePaused + ShowMouseCursor nodes to pause/unpause the game.

From Ch. 11 (Creating a pause menu) and Ch. 8 (Win screen). Pauses the game tick and optionally shows the mouse cursor for UI interaction.

Args: blueprint_name: Blueprint to add the node to paused: True to pause, False to unpause show_mouse_cursor: Whether to show the cursor when paused node_position: [X, Y] graph position

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_set_game_paused_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
pausedNo
node_positionNo
blueprint_nameYes
show_mouse_cursorNo

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 disclosure burden. It explains that the tool adds two specific nodes, affects the game tick, and optionally shows the mouse cursor. It does not mention side effects like needing compilation or that the blueprint asset is modified, but the core behavior is transparently described.

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

Conciseness5/5

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

The description is compact, well-organized, and front-loaded with the core purpose. The Args list, KB reference, and example all earn their place without bloat or redundant restatement of 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?

For a moderate-complexity node-insertion tool with a structured output schema, the description covers the key inputs, intended use, and provides a KB pointer and example. It lacks explicit details about graph wiring or prerequisites, but overall it gives enough context for correct invocation.

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. All four parameters are explicitly explained: blueprint target, paused state, cursor visibility, and node position. The example additionally demonstrates the required argument, leaving little ambiguity for an agent.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Add SetGamePaused + ShowMouseCursor nodes to pause/unpause the game.' It clearly states what the tool does and what outcome the agent should expect, making it easy to distinguish from the many generic blueprint-node 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 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 referencing Ch. 11 (Creating a pause menu) and Ch. 8 (Win screen), and by explaining that it pauses the game tick and optionally shows the cursor for UI interaction. It does not explicitly name alternatives or when-not-to-use conditions, but the context is specific enough to guide selection.

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

add_set_generate_overlap_events_nodeA

Add a 'Set Generate Overlap Events' node.

Ch.5: Required to enable collision overlap callbacks. Without this set to True, OnComponentBeginOverlap won't fire.

Args: blueprint_name: Blueprint name component_name: Component to configure generate_overlap: True to enable overlap events node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_set_generate_overlap_events_node(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
component_nameYes
generate_overlapNo

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 burden of behavioral disclosure. It explains the key consequence: setting generate_overlap to True is required for overlap callbacks. However, it does not disclose other behaviors such as whether the tool modifies the graph in place, whether it overwrites existing settings, if it is idempotent, or if it requires the component to already exist. The description provides some transparency but misses important details 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.

Conciseness5/5

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

The description is concise and well-structured. It starts with a clear one-line purpose, followed by the critical usage note, then a neatly formatted Args list, a KB reference, and an example. Every sentence serves a purpose without redundancy. It is front-loaded with the most important information.

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

Completeness4/5

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

The description is mostly complete for a node-addition tool. It explains the purpose, parameters, gives an example, and references the knowledge base. However, it does not mention prerequisites such as the blueprint being loaded or the component existing, nor does it describe any return value or side effects like graph modification. The output schema exists but is not described, so the agent is left without knowledge of what the tool returns. Given the simplicity of the tool, this is a minor gap, but it could be more explicit.

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 an Args section that explains each parameter: blueprint_name, component_name, generate_overlap (True to enable), and node_position (optional [X, Y]). The example also demonstrates the expected format. This goes beyond the schema's titles and gives the agent the meaning and usage of each parameter, fully compensating for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool's function: 'Add a Set Generate Overlap Events node.' It also explains why it's used: 'Required to enable collision overlap callbacks. Without this set to True, OnComponentBeginOverlap won't fire.' This is a specific verb+resource with a clear purpose, and it differentiates itself from related sibling tools like add_overlap_event or add_component_overlap_event by focusing on the node that toggles the overlap generation flag on a component.

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

Usage Guidelines4/5

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

The description gives a clear when-to-use context: it is needed when collision overlap callbacks are required. It states 'Without this set to True, OnComponentBeginOverlap won't fire,' implying the use case. However, it does not explicitly name alternative tools or state when NOT to use this tool, so it lacks explicit exclusions. This is clear context but no direct comparison with siblings.

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

add_set_input_mode_nodeA

Add a Set Input Mode node to control where player input goes.

From Ch. 15: Controls whether input goes to the game, UI, or both. Essential for pause menus and interactive UI screens.

Input modes:

  • "GameOnly": Input handled only by game (no UI interaction)

  • "UIOnly": Input handled only by UI (game inputs blocked)

  • "GameAndUI": Both game and UI handle input (most flexible)

Example from the book: Show Win/Pause menu -> SetInputModeUIOnly, Resume game -> SetInputModeGameOnly

Args: blueprint_name: Blueprint to add the node to input_mode: "GameOnly", "UIOnly", or "GameAndUI" mouse_lock_mode: "DoNotLock", "LockOnCapture", "LockAlways", "LockInFullscreen" flush_input: Clear all pending input when mode changes node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_set_input_mode_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
input_modeNoGameAndUI
flush_inputNo
node_positionNo
blueprint_nameYes
mouse_lock_modeNoDoNotLock

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?

With no annotations, the description carries the full behavioral burden. It does disclose meaningful behavior: input modes, mouse lock modes, flush_input clearing pending input, and a KB reference. However, it does not mention side effects on the blueprint graph, whether the node is auto-connected, permissions/compilation requirements, or result behavior beyond adding the node.

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

Conciseness4/5

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

The description is well-structured and front-loaded with purpose and usage, followed by compact bullets and an example. It is somewhat longer than strictly necessary due to book references and repeated examples, but every section adds useful orientation rather than 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?

For a no-annotation, zero-schema-coverage tool, the description is thorough: it covers all parameters, explains the domain concept, gives practical examples, and points to a KB section. An agent has enough to select and invoke the tool correctly without needing additional context.

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 does: every parameter is explained, including enum values for input_mode and mouse_lock_mode, the boolean flush_input semantics, the [X, Y] node_position format, and an example blueprint_name path. This is strong compensation for the schema gap.

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 opens with a specific verb and resource: 'Add a Set Input Mode node to control where player input goes.' It clearly names the node type and its purpose, and it is distinguishable from sibling node-adding tools by its focus on input routing to game, UI, or both.

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

Usage Guidelines4/5

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

The description gives clear usage context: 'Essential for pause menus and interactive UI screens,' plus concrete book examples showing when to use UIOnly vs GameOnly. It does not explicitly name alternative tools or say when not to use it, so it stops short of a fully explicit routing guide.

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

add_set_intersection_nodeA

Add a Set INTERSECTION node - elements common to both sets.

From Ch. 13: Returns elements that exist in BOTH input sets.

Args: blueprint_name: Blueprint to add the node to node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_set_intersection_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 behavioral disclosure. It explains what the inserted node computes, which is useful, but it does not note that the call mutates the blueprint graph, whether it wires pins, or whether a later compile/save is expected.

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, front-loads the core operation, and includes a useful example and KB link. It loses a point because the 'From Ch. 13' line restates the previous sentence rather than adding new information.

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

Completeness3/5

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

For a simple two-parameter add-node tool, it covers the target, optional position, and an example, and an output schema exists so return values do not need explaining. It is not fully complete because it omits mutation/wiring expectations and explicit alternative selection, which an agent may need when operating on real blueprints.

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 descriptions are absent, and this description compensates by explaining blueprint_name as the target blueprint and node_position as an [X, Y] graph coordinate. The example also demonstrates omitting node_position, though explicit optionality and coordinate reference details are not stated.

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 opening line states a specific action and object ('Add a Set INTERSECTION node') and immediately defines what intersection means ('elements common to both sets'). This semantic definition separates it from sibling set tools like add_set_union_node and add_set_difference_node without ambiguity.

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 provides the semantic context needed to decide on intersection, so the usage is inferable. It never explicitly says when to prefer this over union/difference/contains nodes or when not to use it, leaving the selection routing implicit.

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

add_set_material_nodeA

Add a "Set Material" node to a Blueprint event graph triggered by an event.

This creates the core gameplay interaction from Ch. 5: detecting a hit on an actor and swapping its material (e.g., cylinder turns red when shot).

Args: blueprint_name: Target Blueprint (e.g., "BP_CylinderTarget") component_name: Mesh component name (e.g., "StaticMeshComponent") material_path: Material asset path (e.g., "/Game/Materials/M_TargetRed") event_name: Event that triggers the material change ("ReceiveHit", "ReceiveBeginPlay") node_position: [X, Y] position in graph

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: add_set_material_node(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent", material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameNoReceiveHit
material_pathYes
node_positionNo
blueprint_nameYes
component_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It describes what the tool does (adds a node) and the gameplay purpose, but it does not mention side effects, prerequisites (e.g., blueprint existence), whether it wires the event to the node, or any return values. The mutation aspect is implied but not explicitly stated in terms of persistence or compilation 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?

The description is well-structured with a purpose statement, an Args section, a KB reference, and an example. It is not overly verbose and front-loads the main purpose. The example is useful but could be more compact; still, it 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?

Given the 5-parameter complexity and presence of an output schema, the description covers the essential information: what the tool does, parameters, and an example. It does not explain the return format (though output schema exists) or mention prerequisites like the blueprint needing to be loaded. These are minor gaps given the output schema and the clarity of the parameters.

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 coverage is 0%, so the description carries full responsibility for parameter explanation. It lists all 5 parameters with clear descriptions and example values (blueprint_name, component_name, material_path, event_name, node_position). This goes well beyond the raw schema types and provides actionable guidance.

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 clear verb and resource: 'Add a "Set Material" node to a Blueprint event graph'. It also explains the intended gameplay effect (swapping material on hit), which distinguishes it from generic node-adding tools. This is specific and unambiguous.

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

Usage Guidelines3/5

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

The description provides context (core gameplay interaction from Ch. 5) but does not explicitly state when to use this tool versus alternatives like setup_hit_material_swap or add_hit_event. There are no exclusions or comparisons to sibling tools, so an agent must infer when this is the right choice.

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

add_set_relative_location_nodeA

Add a 'Set Relative Location' node to move a component relative to its parent.

Ch.14: Relative location is local to the component's parent transform.

Args: blueprint_name: Blueprint name component_name: Component to move node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_set_relative_location_node(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
component_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 that the tool adds a node to the Blueprint graph, but it does not disclose side effects such as whether the graph is modified in place, whether compilation is required, what happens if the component does not exist, or whether existing connections are affected. For a mutation-style tool, this is a meaningful transparency gap.

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

Conciseness4/5

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

The description is front-loaded with the core purpose and stays fairly compact. It uses labeled sections for args, knowledge base reference, and an example. The 'Ch.14' line adds useful conceptual context, though it could be trimmed without losing much; overall it is efficiently organized.

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 relatively simple node-add operation, the description covers the essential call context: all three parameters are explained, the optional parameter is marked, and a concrete example is provided. An output schema exists, so return-value details are not required. The main missing context is operational prerequisites and failure behavior, but the tool is simple enough that the current description is mostly sufficient.

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 each parameter with a short explanation: blueprint_name as the Blueprint, component_name as the component to move, and node_position as an optional [X, Y] graph position. The example also clarifies real values, especially the path format for blueprint_name.

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 opens with a specific verb and resource: 'Add a "Set Relative Location" node to move a component relative to its parent.' This clearly distinguishes it from sibling get/set location and transform tools. The additional note that relative location is local to the parent transform further sharpens the purpose.

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 when the tool is relevant: when you want to move a component relative to its parent using a Blueprint node. However, it does not explicitly state when not to use it or name alternatives, such as world-space location nodes or directly setting component properties. Usage context is present but mostly implicit.

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

add_set_scalar_parameter_value_nodeA

Add a SetScalarParameterValue node to change a material float parameter at runtime.

Useful for animating material effects like opacity fade-in, glow intensity, dissolve transitions, etc.

Args: blueprint_name: Blueprint containing the dynamic material reference dynamic_material_variable: Variable name holding the Dynamic Material Instance parameter_name: Material scalar parameter name (e.g., "Opacity", "Metallic") scalar_value: Float value to set node_position: [X, Y] graph position

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: add_set_scalar_parameter_value_node(blueprint_name="/Game/MCP_Test/BP_Example", dynamic_material_variable="/Game/MCP_Test/M_Example", parameter_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
scalar_valueNo
node_positionNo
blueprint_nameYes
parameter_nameYes
dynamic_material_variableYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

The description discloses the core mutation (adding a node that changes a material parameter at runtime) and gives an example. With no annotations, the burden is higher: it does not mention prerequisites such as an existing dynamic material instance, whether the blueprint graph is dirtied, or whether compilation is needed afterward.

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

Conciseness4/5

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

The description is well-organized: purpose and use cases first, followed by parameter details, a KB reference, and an example. It is slightly longer than necessary, and the example omits optional parameters, but every section 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?

The description provides good coverage of parameters, use cases, and a KB pointer, and an output schema exists so return values need not be explained. Still, without annotations, operational prerequisites and side effects are under-specified, and the example's dynamic_material_variable mismatch reduces completeness.

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 Args section explains all five parameters with meaningful context, including scalar value type, node position format, and parameter name examples. The dynamic_material_variable field is described as a variable name, yet the example passes an asset path, creating some ambiguity.

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

Purpose5/5

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

The description clearly states the tool's action: add a SetScalarParameterValue node to change a material float parameter at runtime. This differentiates it from sibling tools like add_set_vector_parameter_value_node by explicitly naming the scalar/float behavior.

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?

Concrete use cases are given (opacity fade-in, glow intensity, dissolve transitions), making intended usage clear. However, it does not explicitly state when not to use this tool or contrast it with alternatives, so it stops short of a 5.

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

add_set_timer_by_event_nodeA

Add a SetTimerByEvent node with a connected Custom Event.

From Ch. 18 (Actor Component testing): Set Timer by Event calls a custom event on a regular interval. Used in the book to trigger GainXP every second.

Args: blueprint_name: Blueprint to add the node to time_seconds: Timer interval in seconds looping: True for repeating timer custom_event_name: Name of the custom event that gets called trigger_event: Event that starts the timer (e.g., "ReceiveBeginPlay") node_position: [X, Y] graph position

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: add_set_timer_by_event_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
loopingNo
time_secondsNo
node_positionNo
trigger_eventNoReceiveBeginPlay
blueprint_nameYes
custom_event_nameNoTimerCallback

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?

Annotations are absent, so the description carries the transparency burden. It states the primary mutation: adding a SetTimerByEvent node and connecting a Custom Event. However, it does not clarify whether the custom event or trigger event must already exist or are created by the tool, nor does it disclose save/compile 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 well-structured and front-loaded: purpose sentence, brief explanatory context, Args list, KB pointer, and example. The chapter reference is slightly niche but supports the concrete use case without bloating the definition.

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 six-parameter blueprint mutation with no annotations, the definition covers all argument meanings and provides an example path. The main gap is whether custom_event_name and trigger_event refer to nodes that must already exist or nodes the tool creates, which is important for correct invocation.

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 Args block is essential. It defines all six parameters in plain terms, including interval units, looping behavior, the trigger event example, and the [X, Y] graph position format. This fully compensates for the bare input 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?

The description uses a specific verb and resource: 'Add a SetTimerByEvent node with a connected Custom Event.' It clearly identifies the node type and its key connection, which distinguishes it from siblings like add_set_timer_by_function_name_node without requiring schema inspection.

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 the tool: Set Timer by Event calls a custom event on a regular interval, with a concrete example of triggering GainXP every second. It does not explicitly name alternative tools or state exclusions, so it stops short of a 5.

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

add_set_timer_by_function_name_nodeA

Add a 'Set Timer By Function Name' node for recurring callbacks.

Ch.10: Used in enemy spawner to periodically call SpawnEnemy. Ch.8: Used for stamina regeneration over time. Starts a timer that calls the named function after the specified delay.

Args: blueprint_name: Blueprint name function_name: Name of the function to call on timer tick timer_rate: Time in seconds between calls looping: If True, repeats indefinitely node_position: Optional [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_set_timer_by_function_name_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
loopingNo
timer_rateNo
function_nameNoSpawnEnemy
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the full burden. It explains that a timer is started and calls the named function after the delay, and clarifies looping behavior. It does not explicitly disclose that this mutates a blueprint graph or mention prerequisite states such as the blueprint existing, though 'Add a node' implies graph modification.

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

Conciseness4/5

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

The description is well-structured with an intro, use cases, args list, KB pointer, and example. Each section earns its place, though the chapter references add context rather than essential invocation detail.

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 description covers parameters, semantics, a representative example, and a KB reference. Since an output schema exists, return-value details are not required. It could be more complete by noting the node is added to an existing blueprint and that compiled/saved state is not handled here.

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 lists all five parameters with useful semantics: timer_rate in seconds, looping behavior, and node_position as optional [X,Y]. Some entries like 'blueprint_name: Blueprint name' are terse, but the example clarifies the expected path format.

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 opens with a specific verb and resource: 'Add a Set Timer By Function Name node for recurring callbacks.' It clearly distinguishes this from sibling add_set_timer_by_event_node by naming the function-name mechanism and providing use cases such as enemy spawner and stamina regeneration.

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?

Concrete usage context is provided with chapter references and examples (periodic SpawnEnemy calls, stamina regeneration), which makes the intended scenario clear. However, it does not explicitly state when to prefer this over add_set_timer_by_event_node or other timer-related tools.

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

add_set_to_array_nodeA

Add a Set TO ARRAY node - convert a Set to an Array for iteration.

From Ch. 13: Sets don't have a GET element node, so convert to array first if you need to iterate over elements. Note: copying large object sets can be expensive.

Args: blueprint_name: Blueprint to add the node to set_variable: Set variable name to convert node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_set_to_array_node(blueprint_name="/Game/MCP_Test/BP_Example", set_variable="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
set_variableYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/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 disclosure burden. It mentions that copying large object sets can be expensive, which is useful. However, it does not disclose whether the conversion mutates the original set, whether a new array is created, or what the return value is (though an output schema exists). This leaves some behavioral ambiguity, so a 3 is appropriate.

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

Conciseness5/5

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

The description is well-structured with a purpose statement, rationale, args list, KB reference, and example. It is concise, front-loads the primary purpose, and each section earns its place. No wasted words, 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.

Completeness4/5

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

The tool is a simple node-adding operation, and the description covers the key aspects: what it does, when to use it, the parameters, and a cost caveat. An output schema exists, so return-value documentation is not required. It could mention error handling (e.g., if the set variable doesn't exist), but overall it is sufficiently complete for an agent to call 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 description coverage is 0%, so the description must compensate. It provides brief explanations for each argument: 'blueprint_name: Blueprint to add the node to', 'set_variable: Set variable name to convert', 'node_position: [X, Y] graph position'. This adds meaning beyond the schema's bare property names and includes an example, effectively clarifying parameter semantics.

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

Purpose5/5

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

The description clearly states 'Add a Set TO ARRAY node - convert a Set to an Array for iteration.' This specifies the verb (add), the resource (Set TO ARRAY node), and the purpose (convert Set to Array for iteration). It distinguishes from siblings like add_make_array_node (which creates arrays from literals) and add_set_contains_node (which checks membership), so an agent can immediately tell what this tool does.

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

Usage Guidelines5/5

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

The description explicitly explains when to use this tool: 'Sets don't have a GET element node, so convert to array first if you need to iterate over elements.' This gives a clear condition and rationale, effectively guiding the agent to choose this tool over others. It also warns about the cost of copying large sets, providing additional usage context.

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

add_set_union_nodeA

Add a Set UNION node - combine two sets (removes duplicates).

From Ch. 13: Returns a new set containing all elements from both sets.

Args: blueprint_name: Blueprint to add the node to node_position: [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_set_union_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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 does clearly state that the tool adds a node and that the node combines sets and removes duplicates. However, it never discloses graph-mutation side effects, prerequisites (e.g., blueprint must exist), or what changes the operation makes to the existing graph, and 'Returns a new set' blurs the node's runtime semantics with the tool's own return.

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 behavior is front-loaded in the first line, followed by a compact args list, KB pointer, and example. 'From Ch. 13:' is minor provenance noise but does not significantly bloat 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?

For a two-parameter graph-node tool, the description covers the operation, both parameters, a KB reference, and an example call. Since an output schema exists, explaining the return value is unnecessary; the main remaining gap is missing prerequisites or behavioral caveats.

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 compensates by documenting both parameters: 'blueprint_name: Blueprint to add the node to' and 'node_position: [X, Y] graph position.' It adds meaning beyond the raw schema, though it could clarify optionality/coordinate units.

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 opens with a specific verb and resource — 'Add a Set UNION node' — and defines the operation as 'combine two sets (removes duplicates).' This distinguishes it from sibling set operations like intersection and difference, even without naming 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 context is implied by the set-union semantics and the example call, but no explicit when-to-use or when-not-to-use guidance is given, and no alternative tool is named despite many set-node siblings existing. The Ch. 13 reference provides context but does not define selection criteria.

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

add_set_variableA

Add a Set variable to a Blueprint.

Sets store unique, unordered elements - useful when you need to track membership without duplicates.

Args: blueprint_name: Blueprint name variable_name: Variable name element_type: Element type (Integer, String, Name, etc.) is_exposed: Expose to editor Details panel

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_set_variable(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", element_type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
is_exposedNo
element_typeYes
variable_nameYes
blueprint_nameYes

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 burden of behavioral disclosure. It reveals that this is a mutating add operation and describes set semantics, but it does not state side effects such as overwriting an existing variable, compile requirements, or what happens if the variable already exists. This is a meaningful transparency gap for a write tool.

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

Conciseness5/5

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

The description is compact and well-ordered: purpose, data-structure rationale, Args, KB pointer, and example. Every section earns its place, and the example demonstrates a realistic call with an absolute Blueprint path.

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 4-parameter mutation tool with no annotations, the description supplies essential invocation data: all parameters, a KB reference, and an example. However, it omits preconditions and behavioral details such as uniqueness constraints, valid element_type values beyond examples, and whether the Blueprint needs saving or compiling after the call.

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 Args block is the only semantic source for all four parameters, and it covers each one: blueprint_name, variable_name, element_type, and is_exposed. It adds useful nuance such as 'Integer, String, Name, etc.' for element_type and 'Expose to editor Details panel' for is_exposed, though it could provide more format or constraint 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 opening line, 'Add a Set variable to a Blueprint,' names a specific verb and resource, and the following sentence explains sets as unique, unordered collections. This is clear and not a tautology, and it reads distinctly from sibling tools like add_array_variable and add_map_variable, 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 Guidelines4/5

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

The description gives an explicit selection cue: sets are 'useful when you need to track membership without duplicates,' which tells an agent when this data structure is appropriate. It does not name alternatives or state when not to use sets, so it provides context without full exclusions.

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

add_set_variable_nodeA

Add a 'Set [VariableName]' node to write to a variable.

Args: blueprint_name: Blueprint name variable_name: Variable to set (must exist in the Blueprint) node_position: Optional [X, Y] graph position

Returns: Dict with 'node_id'; has exec pins + value input pin

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_set_variable_node(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
variable_nameYes
blueprint_nameYes

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 behavioral burden and adds meaningful detail: it returns a dict with 'node_id', and the added node has exec pins plus a value input pin. It stops short of describing failure behavior if the variable is missing or whether the node is added to the currently open graph.

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 tight and well organized: one-line purpose, Args, Returns, KB pointer, and a concrete example. Every section adds information without redundancy 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 tool with an output schema, the description covers input semantics, return shape, an example, and a KB reference. It is slightly incomplete on graph placement and error behavior, but it gives an agent enough to invoke it correctly in the common case.

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?

Input schema has 0% property description coverage, and the description compensates by explaining all three parameters: blueprint_name, variable_name with the critical 'must exist' constraint, and node_position as an optional [X, Y] graph position. It does not specify coordinate details, but the essential meanings are covered.

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 action, 'Add a 'Set [VariableName]' node to write to a variable,' naming the resource and the operation. It clearly means a Blueprint variable-setter node, but it does not explicitly differentiate from close sibling tools like add_blueprint_variable_set_node or add_get_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?

It provides useful usage context (variable must exist in the Blueprint, node_position is optional) and an example, but it does not state when to prefer this tool over alternatives or when not to use it. With a long sibling list of similar node-adder tools, explicit routing would be stronger.

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

add_set_vector_parameter_value_nodeA

Add a SetVectorParameterValue node to change a material color at runtime.

This is the runtime equivalent of double-clicking the VectorParameter node in the Material Editor (Ch. 5). Use this to dynamically change an actor's color.

Args: blueprint_name: Blueprint containing the dynamic material reference dynamic_material_variable: Variable name holding the Dynamic Material Instance parameter_name: Material parameter name (e.g., "Color") color_value: RGBA values [R, G, B, A] node_position: [X, Y] graph position

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: add_set_vector_parameter_value_node(blueprint_name="/Game/MCP_Test/BP_Example", dynamic_material_variable="/Game/MCP_Test/M_Example", parameter_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
color_valueNo
node_positionNo
blueprint_nameYes
parameter_nameYes
dynamic_material_variableYes

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 provided, the description carries the full burden of behavioral disclosure. It explains that the tool adds a node and changes a material color at runtime, referencing a KB chapter for more depth. However, it omits side effects such as modifying the blueprint graph, requiring an existing dynamic material variable, or needing a subsequent compile.

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

Conciseness4/5

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

The description is well organized: a front-loaded purpose statement, a useful analogy, a complete args list, a KB pointer, and an example. It is a bit longer than needed, and the example's inconsistency adds confusion, but each section earns its place and supports correct usage.

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

Completeness3/5

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

The description covers the main purpose, all parameter meanings, and an example. Missing context includes which parameters are optional versus required (schema says only 3 are required), prerequisites such as an existing Dynamic Material Instance variable, and post-conditions like compilation. Given the 0% schema coverage and no annotations, these gaps are noticeable.

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 defines all five parameters with their meanings and formats (RGBA, [X,Y] position), which is strong compensation. However, the example passes an asset path for dynamic_material_variable while the arg description says 'Variable name holding the Dynamic Material Instance,' creating a confusing inconsistency.

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

Purpose4/5

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

The description clearly states the action: 'Add a SetVectorParameterValue node to change a material color at runtime.' This is specific about the verb, resource, and purpose. It does not explicitly differentiate from the sibling add_set_scalar_parameter_value_node, but the focus on color and RGBA makes the vector nature apparent.

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

Usage Guidelines4/5

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

The description gives clear context: 'This is the runtime equivalent of double-clicking the VectorParameter node in the Material Editor' and 'Use this to dynamically change an actor's color.' It does not mention exclusions or alternative tools, but the intended usage is clear enough for an agent to decide when to invoke it.

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

add_set_view_target_with_blend_nodeA

Add a SetViewTargetWithBlend node to switch cameras smoothly.

From Ch. 15: Used to switch the player's view between different cameras (e.g., entering a treasure room activates a security camera, or switching to a cinematic camera during a cutscene). The New View Target input is usually a Camera Actor reference.

Args: blueprint_name: Blueprint to add the node to (PlayerController) blend_time: Duration of the camera transition in seconds blend_func: Blend function ("VTBlend_Linear", "VTBlend_Cubic", "VTBlend_EaseIn", "VTBlend_EaseOut", "VTBlend_EaseInOut") blend_exp: Exponent for cubic/ease blend functions node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_set_view_target_with_blend_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blend_expNo
blend_funcNoVTBlend_Linear
blend_timeNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 must fully disclose behavioral traits. It explains the node's purpose but does not mention that this modifies the blueprint graph, any side effects (e.g., the player's view changing), or prerequisites like needing a PlayerController blueprint. For a mutation tool, the lack of explicit disclosure about modifying the blueprint 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 well-structured with a clear purpose statement, a contextual paragraph, an Args section, a KB reference, and an example. It is not overly verbose and front-loads the main action. The Args list is compact and informative.

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

Completeness4/5

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

Given that the output schema exists (as indicated by the context signals) and schema descriptions are absent, the description compensates well by covering use cases, parameter meanings, and an example. It does not mention prerequisites (e.g., existing blueprint) or return values, but the output schema likely covers the latter. The KB reference adds further depth. Overall, it is complete enough for an agent 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?

Schema description coverage is 0%, so the description must compensate. It lists all five parameters with meaningful explanations: blueprint_name is the target Blueprint (PlayerController), blend_time is duration in seconds, blend_func has allowed values enumerated, blend_exp is the exponent for cubic/ease functions, and node_position is [X, Y] coordinates. This adds substantial value beyond the schema's bare types and defaults.

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

Purpose5/5

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

The description clearly states the tool's function: 'Add a SetViewTargetWithBlend node to switch cameras smoothly.' It provides specific use cases (e.g., entering a treasure room activates a security camera) that distinguish it from other node-adding tools like add_set_actor_location_node. The verb and resource are unambiguous.

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

Usage Guidelines4/5

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

The description gives clear context for when to use the tool (camera switching in cutscenes or security cameras) and even mentions typical input ('The New View Target input is usually a Camera Actor reference'). However, it does not explicitly mention alternatives or when not to use it, such as comparing to a simple SetViewTarget node or stating exclusions. The use-case context is strong but lacks direct comparison to sibling tools.

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

add_skeleton_socketA

Add or replace a socket on the USkeleton used by a skeletal mesh (e.g. GunBarrel).

Infantry uses the GunBarrel socket name with GetSocketTransform on the mesh. Sockets are stored on the skeleton asset; Python mesh.add_socket is unreliable in UE5.6.

Defaults parent the socket to ik_hand_gun (Mannequin weapon IK bone) with a 22 cm offset along local +X (typical muzzle direction). Override relative_rotation as [pitch, yaw, roll] in degrees if traces fire along the wrong axis.

Args: skeletal_mesh_path: Content path to the USkeletalMesh (e.g. /Game/.../SithSoldier). socket_name: Socket name (default GunBarrel). bone_name: Parent bone (default ik_hand_gun; use hand_r if your rig has no IK gun bone). relative_location: Optional [x, y, z] in cm relative to the bone. relative_rotation: Optional [pitch, yaw, roll] in degrees. relative_scale: Optional [x, y, z] scale (default 1,1,1). save: If True, persist the skeleton package via low-level SavePackage.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_skeleton_socket(skeletal_mesh_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
bone_nameNoik_hand_gun
socket_nameNoGunBarrel
relative_scaleNo
relative_locationNo
relative_rotationNo
skeletal_mesh_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description carries the full disclosure burden and does so well: it states the mutating add/replace behavior, that sockets live on the skeleton asset, that save=True persists via low-level SavePackage, and the exact default parent/offset/rotation semantics. It even explains why this tool exists rather than relying on Python calls.

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 long but every section earns its place: purpose, rationale, behavioral defaults, parameter semantics, KB pointer, and a runnable example. The most important action and escaping notes are front-loaded before the argument list.

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

Completeness5/5

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

For a 7-parameter tool with no annotations, it is complete: all parameters have meanings and defaults, persistence behavior is defined, troubleshooting guidance is included, and a minimal example plus KB reference are provided. The existing output schema covers the return side, so no return-value prose is needed.

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%, but the Args section fully compensates by documenting all 7 parameters, including units (cm, degrees), coordinate order, defaults, and the safe alternative value for bone_name. This is far more than the bare JSON 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?

The description opens with a specific verb-resource pair: add or replace a socket on the USkeleton backing a skeletal mesh, then anchors it in a concrete example (GunBarrel). This unambiguous combination distinguishes it from the many generalist sibling tools for actor/component properties.

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?

It gives concrete selection context: this is the socket operation used by Infantry's GetSocketTransform, and it explicitly warns that the Python mesh.add_socket alternative is unreliable in UE5.6. It also provides conditional guidance (use hand_r if no IK gun bone, override relative_rotation if traces fire on the wrong axis).

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

add_slider_to_widgetA

Add a Slider widget for adjustable values (audio volume, sensitivity, etc.).

Args: widget_name: Widget Blueprint name slider_name: Component name position: [X, Y] position size: [Width, Height] min_value: Minimum slider value max_value: Maximum slider value default_value: Initial slider value step_size: Increment step

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_slider_to_widget(widget_name="/Game/MCP_Test/WBP_Example", slider_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
positionNo
max_valueNo
min_valueNo
step_sizeNo
slider_nameYes
widget_nameYes
default_valueNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 bears the full burden of exposing behavioral traits. It reveals the mutation ('Add') and identifies the target widget blueprint and slider component, but it does not mention prerequisites, side effects, whether the blueprint must already exist, or whether it is saved/compiled afterward.

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 compact and well-structured: a one-line purpose, a clean Args list, a KB pointer, and a minimal example. It contains no filler and front-loads the core purpose.

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?

All parameters are described, a usable invocation example is included, and the KB reference points to deeper documentation. Since an output schema exists, return-value details are not required. Missing preconditions and behavioral side-effect notes keep it from being fully 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 is the only semantic source for parameters. It explains all 8 parameters, clarifies position as [X, Y] and size as [Width, Height], and gives a concrete example for widget_name. It omits details like coordinate space and value bounds, but it covers the essential meaning.

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: 'Add a Slider widget' for adjustable values, with concrete example use cases like audio volume and sensitivity. It clearly differentiates from sibling tools such as add_text_block_to_widget, add_button_to_widget, and add_progress_bar_to_widget.

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 phrase 'for adjustable values (audio volume, sensitivity, etc.)' provides clear context for when this tool is appropriate. It does not explicitly name excluded alternatives or say when not to use it, but the use-case framing is enough to guide selection among the many widget-adding siblings.

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

add_spawn_actor_from_class_nodeA

Add a SpawnActorFromClass node to instantiate an Actor at runtime.

From Ch. 3 and Ch. 10: Core node for spawning Blueprints at runtime. Used to spawn enemies, projectiles, pickups, particles, effects.

Takes a Class input and a SpawnTransform (Location, Rotation, Scale), returns a reference to the spawned Actor.

Args: blueprint_name: Blueprint to add the node to actor_class: Default Actor class to spawn (can be set via pin) node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_spawn_actor_from_class_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
actor_classNo
node_positionNo
blueprint_nameYes

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?

No annotations are provided, so the description carries the full burden. It discloses that the tool adds a graph node, what inputs the node takes, and that it returns a reference to the spawned actor. It could also mention side effects like whether the Blueprint is saved or compiled, or whether existing graph wiring is affected, but the core behavior is transparent enough for an agent.

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 organized with a clear lead sentence, context, argument list, KB reference, and example. It is slightly verbose with educational context ('From Ch. 3 and Ch. 10') but every section serves a purpose and the key definition is front-loaded.

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

Completeness3/5

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

The description covers the main action, parameters, use cases, and includes a KB pointer and example. However, it does not resolve ambiguity against closely related sibling tools such as add_spawn_actor_node and add_blueprint_spawn_actor_node, and it omits details about graph placement/connection behavior. An agent could still select the wrong tool without more differentiation.

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%, yet the description explains all three parameters in plain language: blueprint_name, actor_class, and node_position. It also adds the useful clarification that actor_class 'can be set via pin' and shows an example invocation. It doesn't specify exact value formats for actor_class (e.g., class path vs. name), but it compensates well for the missing schema descriptions.

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+resource: 'Add a SpawnActorFromClass node to instantiate an Actor at runtime.' It clearly identifies what the tool adds and even describes the node's purpose and return value. It does not explicitly distinguish itself from closely named siblings like add_spawn_actor_node or add_blueprint_spawn_actor_node, 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 Guidelines3/5

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

The description implies usage with concrete examples ('spawn enemies, projectiles, pickups, particles, effects') and gives meaningful context. However, it never states when NOT to use this tool or how it compares to alternatives like add_spawn_actor_node, spawn_actor, or add_blueprint_spawn_actor_node. Usage guidance is implied rather than explicit.

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

add_spawn_actor_nodeC

Add a 'Spawn Actor from Class' node (SpawnActor).

Creates a new actor in the world at runtime.

Args: blueprint_name: Blueprint name actor_class: Actor class to spawn (e.g., "BP_Projectile") node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_spawn_actor_node(blueprint_name="/Game/MCP_Test/BP_Example", actor_class="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
actor_classYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are present, so the description carries the burden of behavioral disclosure. It notes the node spawns an actor at runtime, but does not clarify that the tool's immediate side effect is modifying the blueprint graph rather than actually spawning an actor. It also omits whether compilation or saving is required afterward.

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 reasonably compact and includes useful extras: an Args list, a knowledge-base pointer, and a concrete example. It could drop the slightly redundant runtime-spawn sentence, but overall the structure is clear and scannable.

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

Completeness3/5

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

Given no annotations and 0% schema coverage, the description is only partially sufficient. It provides an example and KB link, which helps, but it lacks important context about parameter formats, graph insertion behavior, and any side effects. An output schema exists but does not compensate for the missing parameter semantics.

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

Parameters2/5

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

Schema description coverage is 0%, and the description's parameter notes are minimal. 'Blueprint name' and 'Node Position' are vague, and while actor_class has an example, the example is inconsistent ('BP_Projectile' vs 'Actor'). No path, class-name, or coordinate formats are specified.

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

Purpose4/5

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

The description clearly states the tool adds a 'Spawn Actor from Class' node (SpawnActor) and explains the node's high-level purpose. This is a specific verb + resource, though it does not differentiate from closely related siblings like add_spawn_actor_from_class_node or add_blueprint_spawn_actor_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 the node does but gives no guidance on when to use this tool versus alternatives such as spawn_actor, spawn_blueprint_actor, or other add-node tools. There is no when/when-not guidance or mention of prerequisites like having the blueprint open or compiled.

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

add_spawn_emitter_at_location_nodeA

Add a SpawnEmitterAtLocation node to trigger particle effects in a Blueprint.

From Ch. 6 (sound and particle effects). Used to spawn explosion effects, dust, sparks, etc. when actors are hit or destroyed.

Args: blueprint_name: Target Blueprint particle_system_path: Particle System or Niagara System asset path trigger_event: Event that triggers the emitter spawn node_position: [X, Y] graph position

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: add_spawn_emitter_at_location_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
trigger_eventNoReceiveHit
blueprint_nameYes
particle_system_pathNo/Game/FPWeapon/Effects/P_Impact_Default

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 burden of behavioral disclosure. It states what the node is for but does not reveal important side effects such as whether the node is wired to the trigger_event, which graph is modified, whether the Blueprint is saved or compiled, or whether existing nodes are affected. These are 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 well structured with a lead sentence, use-case context, an Args list, a KB reference, and an example. The example is useful because it shows the required blueprint_name format. It is not bloated, though the first sentence and the use-case sentence partially overlap.

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 4-parameter node-add tool with no annotations, the description gives a clear example and covers all parameters, and an output schema exists to define returns. Still, it omits practical behavioral details like graph selection and event wiring, so the agent may not know exactly what changes the call will make in the Blueprint. This leaves a clear but incomplete picture.

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 provide an Args list that adds some meaning: particle_system_path explicitly allows Niagara assets, node_position gives the [X, Y] format, and trigger_event identifies the triggering event. However, the descriptions are terse and do not cover accepted values, path formats, or event name constraints, so the enrichment is only partial.

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 opening sentence uses a specific verb and resource: Add a SpawnEmitterAtLocation node to trigger particle effects in a Blueprint. It further clarifies the use case with explosion effects, dust, and sparks when actors are hit or destroyed, which distinguishes it from sound or actor-spawn siblings. The node type is named explicitly, so there is no ambiguity about what is being added.

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

Usage Guidelines4/5

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

The description provides clear context: it is from Ch. 6 on sound and particle effects and is used for spawning explosion effects, dust, sparks when actors are hit or destroyed. However, it does not explicitly name alternatives such as add_spawn_niagara_at_location_node or add_play_sound_at_location_node, nor does it state when not to use this tool. The guidance is clear but lacks explicit exclusions.

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

add_spawn_niagara_at_location_nodeA

Add a 'Spawn System At Location' node for a Niagara particle system.

Use this to fire a one-shot Niagara VFX effect at a world location from within a Blueprint graph (e.g., spawn explosion on hit, footstep dust).

Args: blueprint_name: Blueprint to add the node to graph_name: Graph to add the node in (default: "EventGraph") niagara_system_path: Asset path to the NS_ asset (e.g., "/Game/VFX/NS_Explosion") node_position: Optional [X, Y] graph position

Returns: Dict with node_id and success flag

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: add_spawn_niagara_at_location_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
node_positionNo
blueprint_nameYes
niagara_system_pathNo

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?

No annotations are present, so the description carries the full burden. It discloses the action (adds a node) and return shape (node_id and success flag), but does not mention side effects such as whether the Blueprint is compiled, whether existing graph contents are affected, or validations on the Niagara asset path. Adequate but with clear gaps.

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 purpose, tight sections for Args/Returns/KB/Example, and no filler. The example adds actionable value without bloating 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?

Covers action, args, return, and example; the output schema handles return detail. The main gap is the failure to disambiguate from add_spawn_emitter_at_location_node and note whether niagara_system_path can be empty, but overall it is sufficient for a node-creation 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?

With 0% schema coverage, the description compensates by explaining all four parameters, including the default graph name, asset path format with an example, and optional node position. It does not explicitly mark niagara_system_path as required despite its essential role, and relies on the schema for requiredness.

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 'Spawn System At Location' node for a Niagara particle system." It also gives concrete use cases like spawning explosion VFX. It does not explicitly distinguish this from sibling add_spawn_emitter_at_location_node, so it misses the strongest 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?

Includes explicit usage intent: "Use this to fire a one-shot Niagara VFX effect at a world location from within a Blueprint graph" with examples. No exclusions or alternative routing are provided, so it does not reach the top tier.

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

add_sphere_trace_by_channel_nodeA

Add a 'Sphere Trace By Channel' node - sphere sweep using trace channel.

Ch.14: SphereTraceByChannel uses Visibility or Camera channel to filter hits.

Args: blueprint_name: Blueprint name radius: Sphere radius in cm trace_channel: "Visibility" or "Camera" draw_debug: Debug visualization type node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_sphere_trace_by_channel_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusNo
draw_debugNoNone
node_positionNo
trace_channelNoVisibility
blueprint_nameYes

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?

No annotations are provided, so the description must carry behavioral disclosure. It makes the core mutation explicit ('Add a ... node') and explains the node's channel-filtering behavior, but it does not disclose side effects on the blueprint graph, prerequisites such as an existing blueprint, or failure modes. The disclosure is adequate but not deeply transparent.

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 organized with a summary line, parameter list, KB reference, and example. It is concise and front-loaded; each section earns its place. The argument list is slightly verbose but readable and useful for an agent.

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 blueprint node-adding tool, the description covers the required blueprint_name, explains key parameters, provides a KB link, and includes a direct invocation example. The output schema exists, so return-value documentation is handled elsewhere. The only notable omission is detailed draw_debug options and explicit prerequisites or error conditions.

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 adds units for radius, enumerates valid trace_channel values, marks node_position as optional, and gives a usage example. The main gap is draw_debug, which is only described as 'Debug visualization type' without listing possible 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 action: 'Add a Sphere Trace By Channel node' and further clarifies it is a 'sphere sweep using trace channel.' This clearly distinguishes the tool from sibling trace-node tools like line, capsule, or box traces by channel. The resource and operation are both concrete and unambiguous.

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

Usage Guidelines3/5

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

The description gives useful context about the trace channel ('Visibility or Camera') and points to a knowledge-base reference, but it does not explicitly say when to use this tool versus alternatives such as line trace, multi-sphere trace, or object trace. Usage is implied through the operation name and channel semantics, but no when-not-to-use guidance or explicit alternative comparison is provided.

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

add_sphere_trace_for_objects_nodeB

Add a 'Sphere Trace For Objects' node - sphere-shaped collision test.

Ch.14: Shape traces test along a volume instead of a line. More expensive but detects wider areas. SphereTraceForObjects sweeps a sphere.

Args: blueprint_name: Blueprint name radius: Sphere radius in Unreal units (cm) object_types: Object types to detect draw_debug: Debug visualization type node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_sphere_trace_for_objects_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusNo
draw_debugNoNone
object_typesNo
node_positionNo
blueprint_nameYes

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 burden. It discloses that the operation adds a node to a blueprint graph, and explains the conceptual behavior of sphere traces (volume vs line, more expensive, wider detection). It does not disclose side effects like whether it modifies the blueprint, requires compilation, or what happens if the blueprint doesn't exist. The example shows a typical call but doesn't describe return values or errors.

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 compact and front-loaded with the core purpose. The conceptual explanation, args list, KB reference, and example are all useful and each earns its place. The only minor issue is the 'Ch.14' reference is cryptic without context, but it's a small overhead.

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

Completeness3/5

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

The tool has 5 parameters, no annotations, and no output schema details beyond existence. The description covers the parameters and gives a conceptual overview, but lacks specifics on parameter value formats (especially object_types and draw_debug), error behavior, and what the node's pins/connections look like. For a node-adding tool in a large sibling set, more detail on how this differs from other trace nodes would improve completeness.

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 lists all five parameters with brief meanings (blueprint_name, radius, object_types, draw_debug, node_position), which adds value beyond the bare schema. However, the descriptions are terse: 'Object types to detect' doesn't explain the expected format (e.g., enum names, array of strings), and 'Debug visualization type' doesn't list possible values. The example only shows blueprint_name.

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

Purpose4/5

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

The description clearly states the tool adds a 'Sphere Trace For Objects' node, a sphere-shaped collision test, and explains the concept (sweeps a sphere along a volume). It distinguishes from line traces by noting it tests along a volume instead of a line. However, it doesn't explicitly differentiate from the many sibling trace tools (e.g., add_sphere_trace_by_channel_node, add_capsule_trace_by_channel_node) beyond the general shape/object-types distinction.

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 provides context on when sphere traces are appropriate ('More expensive but detects wider areas'), which implies usage. It does not explicitly state when to use this tool versus alternatives like add_line_trace_for_objects_node or add_sphere_trace_by_channel_node. The KB reference is a pointer but not explicit guidance.

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

add_spline_componentA

Add a Spline component to a Blueprint.

From Ch. 19: The Spline component defines a curved path in 3D space. Its points can be edited in the Level Editor (Add Spline Point Here, translate and rotate points). Used with GetLocationAtDistanceAlongSpline and GetRotationAtDistanceAlongSpline for instance placement.

Args: blueprint_name: Blueprint to add the Spline component to component_name: Component name num_points: Initial number of spline points (minimum 2)

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_spline_component(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
num_pointsNo
blueprint_nameYes
component_nameNoSpline

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 transparency burden. It provides useful behavioral context about what a Spline component is, how its points are edited, and that num_points has a minimum of 2. It does not, however, disclose side effects such as whether the Blueprint must be compiled or saved afterward, or how failures are reported.

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 the first sentence, and the Args/Example structure makes the description scannable. The reference to Ch. 19 and the usage note are brief and add context without significant bloat.

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 3-parameter tool with an output schema, the description covers the target Blueprint, component semantics, point count, a concrete example, and a knowledge-base pointer. It lacks explicit alternative-selection guidance, but for the simple add-component operation it is otherwise sufficiently 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%, but the Args block compensates by documenting all three parameters: blueprint_name identifies the target Blueprint, component_name names the component, and num_points specifies the initial point count with 'minimum 2'. The example adds practical format guidance by showing a content-path string for blueprint_name.

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 'Add a Spline component to a Blueprint', a specific verb-plus-resource statement. It further clarifies that this is the curved-path Spline component by mentioning Level Editor point editing and companion functions GetLocationAtDistanceAlongSpline and GetRotationAtDistanceAlongSpline, which helps distinguish it from spline-mesh or generic component-adding siblings.

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

Usage Guidelines3/5

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

The description gives a clear domain context: 'Used with GetLocationAtDistanceAlongSpline and GetRotationAtDistanceAlongSpline for instance placement.' However, it does not explicitly state when to prefer this tool over similar siblings such as add_spline_mesh_component or add_component_to_blueprint, nor does it provide when-not-to-use guidance.

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

add_spline_mesh_componentB

Add a Spline Mesh component to deform a Static Mesh along a two-point spline.

From Ch. 19: The Spline Mesh component deforms a Static Mesh between two control points. Use SetStartAndEnd in the Construction Script to define the shape. Perfect for creating curved pipes, rails, fences, etc.

Args: blueprint_name: Blueprint to add the component to component_name: Component name static_mesh_path: Static Mesh asset to deform start_pos: Start point world position end_pos: End point world position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_spline_mesh_component(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
end_posNo
start_posNo
blueprint_nameYes
component_nameNoSplineMesh
static_mesh_pathNo

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 bears full responsibility for behavioral disclosure. It hints at how the component deforms a mesh but does not disclose side effects (persistent blueprint modification, need to save/compile), preconditions (valid blueprint, valid mesh path), or how start/end positions are actually applied (whether the tool wires SetStartAndEnd itself).

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, followed by a compact args list, a KB reference, and a concrete example. The 'From Ch. 19' aside is mild noise, but overall the structure is readable and every major section 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?

The description includes enough to make a basic call (example, args, KB link), but it leaves ambiguity about whether the tool automatically wires SetStartAndEnd in the Construction Script or expects the user to do it. It also doesn't mention validations, coordinate system, or what happens with the default empty static_mesh_path. For a 5-parameter mutation tool with no annotations, more 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 provides one-line meanings for all five parameters, e.g., 'Static Mesh asset to deform' and 'Start point world position', adding clarity beyond raw names. However, 'Component name: Component name' is tautological, and coordinate space/format details 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?

The description opens with a specific verb and resource: 'Add a Spline Mesh component to deform a Static Mesh along a two-point spline.' This clearly distinguishes it from generic spline components or instanced mesh tools, though it doesn't name sibling tools explicitly.

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 practical usage context—'Use SetStartAndEnd in the Construction Script' and 'Perfect for creating curved pipes, rails, fences, etc.'—but does not explicitly say when to avoid this tool or prefer add_spline_component for multi-point paths. The guidance is implied, not stated as an alternative.

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

add_state_machineB

Add a State Machine to an Animation Blueprint's AnimGraph.

State Machines define animation states (Idle, Walk, Run, Jump) and transitions between them.

Args: anim_blueprint_name: Animation Blueprint name state_machine_name: Name for the state machine node

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: add_state_machine(anim_blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
state_machine_nameNoMainStateMachine
anim_blueprint_nameYes

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 present, so the description carries the full burden of behavioral disclosure. It states the operation (adds a state machine) and names the parameters, but it doesn't disclose prerequisites, side effects, whether an existing state machine with the same name is overwritten, or what happens inside the AnimGraph. This is a mutation tool with no safety annotations, so critical behavioral context is 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?

The description is well-structured: a one-sentence purpose, a brief conceptual clarification, an Args list, a KB pointer, and an example. It is front-loaded and free of filler, though the conceptual sentence about state machines could be shortened without much loss. Overall it earns its place by aiding sibling differentiation.

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 moderately complex and the description includes an example and a KB reference, which helps an agent find deeper guidance. However, it omits important operational context such as whether the Animation Blueprint must already exist, whether default states are created, or how the new state machine node connects to existing AnimGraph content. The presence of an output schema reduces the need to describe return values, but mutation behavior still needs more disclosure.

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 with an Args section explaining both parameters: anim_blueprint_name is 'Animation Blueprint name' and state_machine_name is 'Name for the state machine node.' The example uses a full asset path, giving concrete format guidance. This adds real value beyond the bare schema titles and 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 opens with a specific verb and resource: "Add a State Machine to an Animation Blueprint's AnimGraph." It explains that state machines define animation states and transitions, which conceptually distinguishes it from sibling tools like add_animation_state and add_state_transition. However, it never names those siblings explicitly, so differentiation is implicit rather than direct.

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 usage context is implied by the description: if you need to add a state machine container to an AnimGraph, this is the tool. It doesn't provide explicit when-to-use vs alternatives, nor does it mention exclusions like 'use add_animation_state for individual states.' The example shows a typical call but no routing guidance.

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

add_state_transitionB

Add a transition between two animation states.

Args: anim_blueprint_name: Animation Blueprint name state_machine_name: State machine name from_state: Source state name to_state: Destination state name condition_variable: Bool variable to use as transition condition condition_value: Expected value to trigger transition (True/False)

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: add_state_transition(anim_blueprint_name="/Game/MCP_Test/BP_Example", state_machine_name="ExampleName", from_state="ExampleName", to_state="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
to_stateYes
from_stateYes
condition_valueNo
condition_variableNo
state_machine_nameYes
anim_blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 only says 'Add a transition' implying a mutation, but does not disclose side effects, whether it validates state existence, overwrites existing transitions, or requires the blueprint to be loaded. No error handling, return value, or permission requirements are mentioned. The KB reference is a pointer, not a disclosure.

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

Conciseness4/5

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

The description is well-structured: a one-sentence purpose, a bullet list of arguments, a KB reference, and an example. It is appropriately sized and front-loads the core action. No redundant text, though it could be slightly tighter by integrating the example more compactly.

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 complexity (6 parameters, 4 required, 0% schema coverage) and lack of annotations, the description is incomplete. It does not explain preconditions (e.g., state machine must exist), failure behavior, or the output schema. The KB reference helps but is not embedded in the description. The example covers argument format but not edge cases.

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 lists all six parameters with concise explanations (e.g., 'Bool variable to use as transition condition' for condition_variable) and provides a concrete example showing the expected path format. This adds meaning beyond the schema's property names, though it could further clarify optionality or format details.

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: 'Add a transition between two animation states.' This clearly distinguishes it from sibling tools like add_state_machine and add_animation_state, which handle different aspects of animation blueprints. The purpose is unambiguous and action-oriented.

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. While the purpose is clear, the description does not mention prerequisites (e.g., an existing state machine and states) or warn against using it for creating states. The example demonstrates usage but does not clarify selection criteria among the many animation-related sibling tools.

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

add_switch_on_enum_nodeA

Add a 'Switch on [EnumType]' flow control node.

Routes execution based on an enum value - creates one output pin per enum value.

Args: blueprint_name: Blueprint name enum_type: Enum class name (e.g., "EWeaponType", "EMovementState") node_position: Optional [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_switch_on_enum_node(blueprint_name="/Game/MCP_Test/BP_Example", enum_type=1)

ParametersJSON Schema
NameRequiredDescriptionDefault
enum_typeYes
node_positionNo
blueprint_nameYes

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 behavioral burden. It discloses the key mechanic—creating one output pin per enum value—and implies a mutation by 'add'. However, it does not mention prerequisites like existing enum assets, graph context, or side effects such as needing to save the blueprint. The example also misuses enum_type with a numeric literal, which adds confusion.

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 compact and well-structured: a one-sentence summary, a behavior note, an Args list, a KB reference, and an example. It wastes little space, though the contradictory enum_type example and the off-topic 'KB:' line could be tightened or corrected.

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 a mutating blueprint graph operation with no annotations, so the description needs to cover prerequisites and side effects. It provides a behavior explanation and a KB pointer, and an output schema exists for return values. But it omits what graph the node is added to, whether the enum must already exist, and what happens on failure, leaving meaningful gaps for an agent to infer.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It lists all three args with short explanations and a concrete example for blueprint_name, and clarifies node_position as optional [X, Y]. However, the enum_type guidance is undermined by the example value '1' instead of a string like 'EWeaponType', and blueprint_name is only described as 'Blueprint name' without specifying path format.

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 opens with a specific verb and resource: 'Add a Switch on [EnumType] flow control node.' It then explains the node's behavior ('Routes execution based on an enum value - creates one output pin per enum value'), which clearly distinguishes it from switch-on-int or switch-on-string siblings.

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

Usage Guidelines4/5

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

The description provides clear context: this tool is for adding a node that branches execution on an enum value. It does not explicitly name alternatives such as switch_on_int_node or say when not to use them, but the enum-specific phrasing makes the intended scenario unambiguous.

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

add_switch_on_int_nodeA

Add a 'Switch on Int' flow control node.

Routes execution to different paths based on an integer value.

Args: blueprint_name: Blueprint name cases: List of integer case values [0, 1, 2, 3] node_position: Optional [X, Y] graph position

Returns: Dict with 'node_id'; output pins named by case value + 'Default'

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_switch_on_int_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
casesNo
node_positionNo
blueprint_nameYes

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 a heavier burden, and it does a good job: it states that the tool adds a node, routes execution by integer, and documents the return value and output pin naming. It doesn't discuss prerequisites or side effects, but adding a node is low-risk and the main behavior 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.

Conciseness5/5

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

Compact and well-structured: the purpose line is front-loaded, followed by Args, Returns, KB pointer, and a minimal example. Every section adds value 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?

For a three-parameter node-creation tool, the description is nearly sufficient: all parameters are addressed, return shape is described, a KB link is provided, and an example call is included. It could be more complete by clarifying whether cases is optional and which graph the node is added to.

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 schema has 0% description coverage, so the description's parameter section is the only source of meaning. It explains cases as integer values, marks node_position as optional coordinates, and the example clarifies the blueprint_name format. Minor ambiguity remains over whether cases is optional and what happens when omitted.

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 Switch on Int flow control node') and explains the routing behavior. It is clear about what the tool does, though it does not distinguish itself from the similarly named sibling add_blueprint_switch_on_int_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 routing behavior implies the intended use case (integer-based flow control in a Blueprint graph), and the example gives a concrete calling context. However, it never explicitly contrasts with alternatives like add_switch_on_string_node or add_switch_on_enum_node, nor states 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.

add_switch_on_string_nodeA

Add a 'Switch on String' flow control node.

Routes execution based on a string value comparison.

Args: blueprint_name: Blueprint name cases: List of string case values ["Walking", "Running", "Dead"] node_position: Optional [X, Y] graph position

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: add_switch_on_string_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
casesNo
node_positionNo
blueprint_nameYes

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 disclosure burden. It only says the tool 'Add[s]' a node and that the node 'Routes execution,' but it does not disclose prerequisites, mutation side effects on the blueprint graph, failure behavior, 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.

Conciseness4/5

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

The description is compact and front-loaded with the operation statement, followed by a structured Args block and a single useful example. The KB reference adds little value for tool selection, but there is no redundant 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?

For a simple add-node operation, the description is minimally viable: it names inputs, gives an example, and references KB material. It is incomplete regarding when to choose this node type, optionality of cases, and what side effects adding the node has. The presence of an output schema mitigates but does not eliminate these 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 0% schema description coverage, the Args block compensates well: blueprint_name, cases with concrete example values, and node_position with optional marker and coordinate format are all explained. It loses a point because cases is not marked optional even though the schema only requires blueprint_name.

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 operation, 'Add a Switch on String flow control node', and explains its core behavior with 'Routes execution based on a string value comparison.' This clearly differentiates it from sibling tools like add_switch_on_int_node and add_switch_on_enum_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 use case is only implied: an agent can infer this is for string-based branching, but the description never says when to prefer it over string/int/enum switch alternatives or mentions prerequisites like the blueprint needing to exist. The example helps but does not provide exclusionary guidance.

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

add_teleport_nodeA

Add a Teleport node to safely move an actor to a new location.

From Ch. 15: The Teleport node moves an actor to a specified location, but unlike SetActorLocation, if there's an obstacle at the destination, the actor is moved to a nearby valid location to avoid overlap.

Example from the book: BP_TeleportPlatform - when the player overlaps the platform, they teleport to the Next Teleport Platform location.

Args: blueprint_name: Blueprint to add the node to use_self: If True, teleport self; if False, pass an Actor input node_position: [X, Y] graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_teleport_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
use_selfNo
node_positionNo
blueprint_nameYes

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 present, so the description carries the burden. It discloses one meaningful behavior: on destination overlap the actor is relocated to a nearby valid location. However, it does not state tool-side effects such as modifying the Blueprint graph, whether the node is created with unpinned inputs, or what the returned node/result looks like.

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 provides a short behavioral comparison, a concrete example, an Args block, and a KB pointer. It is slightly longer than strictly necessary, but each section earns its place and nothing is repetitive.

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

Completeness4/5

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

Given only one required parameter and an output schema, the description covers the key inputs, the use case, and gives a worked example plus KB reference. It is still slightly incomplete about what happens after the node is added (pins/connections, compilation, or return value), but the missing details are not critical for selecting or invoking the 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%, and the description compensates by explaining all three parameters: blueprint_name names the target Blueprint, use_self controls the Actor input, and node_position is a graph coordinate. The use_self=false wording ('pass an Actor input') is slightly ambiguous because no actor parameter appears in the schema, 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.

Purpose5/5

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

The description opens with a specific verb and resource: 'Add a Teleport node...' and contrasts it with SetActorLocation, so it is clear the tool creates a teleport node rather than a plain movement node. The Ch. 15 context and BP_TeleportPlatform example further anchor what the node does and where it belongs.

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

Usage Guidelines4/5

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

The description gives a concrete selection criterion: use the Teleport node when obstacle avoidance matters, 'unlike SetActorLocation' if an obstacle exists. It does not explicitly name sibling tools or state 'use X when..., use Y when...', but the comparison and example make the intended context clear.

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

add_teleport_system_to_pawnA

Add the complete teleportation system to a VR Pawn Blueprint.

From Ch. 16: Implements the full teleport system:

  1. InputAxis MovementAxisRight_Y (thumbstick up detection + deadzone check)

  2. DoOnce -> StartTeleportTrace function

  3. TeleportTrace function (PredictProjectilePathByObjectType for arc)

  4. On release: EndTeleportTrace + TryTeleport

  5. Visual feedback via TeleportTrace Niagara System + TeleportVisualizer

The StartTeleportTrace, TeleportTrace, EndTeleportTrace, TryTeleport functions are all created in the pawn Blueprint.

Args: blueprint_name: VR Pawn Blueprint to modify teleport_visualizer_blueprint: Blueprint to use as teleport destination marker deadzone_threshold: Minimum axis value to start teleport (prevents accidental triggers) use_projectile_path: Use projectile arc (True) or straight line (False)

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_teleport_system_to_pawn(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
deadzone_thresholdNo
use_projectile_pathNo
teleport_visualizer_blueprintNoBP_TeleportVisualizer

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 behavioral disclosure burden. It reveals exactly what will be created: input axis handling, DoOnce, teleport trace functions, projectile path logic, Niagara feedback, and the visualizer attachment. It does not mention side effects like overwriting existing functions or whether the blueprint is compiled/saved, but the implementation detail is substantial.

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 longer than average but well organized into a purpose statement, numbered implementation steps, function creation note, parameter explanations, KB reference, and example. Every major section contributes value; the chapter reference is minor but not distracting.

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 complex multi-step blueprint mutation tool, the description covers purpose, parameters, implementation details, and provides an example call. It does not state prerequisites such as whether the blueprint must already be a VR Pawn or whether existing teleport graphs will be replaced, but overall an agent has enough context to invoke it correctly.

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?

The schema provides zero property descriptions, but the description's Args section explains the meaning and role of every parameter: what blueprint_name targets, what the visualizer blueprint is for, what deadzone_threshold prevents, and what use_projectile_path toggles. This fully compensates for the schema coverage gap.

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 opens with a specific action and target: "Add the complete teleportation system to a VR Pawn Blueprint." It then gives a detailed numbered implementation list, making it unmistakable what the tool accomplishes and clearly distinguishing it from simpler teleport-related tools like add_teleport_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 description implies when to use the tool through its focus on a complete VR teleport system, but it never explicitly states when to use this tool over alternatives or when not to use it. Given the large sibling toolset with related blueprint-editing tools, explicit routing to an alternative would have made this stronger.

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

add_text_block_to_widgetA

Add a Text Block to a Widget Blueprint.

Args: widget_name: Widget Blueprint name text_block_name: Component name for the text block text: Display text position: [X, Y] canvas position size: [Width, Height] font_size: Font size in points color: [R, G, B, A] (0.0-1.0)

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_text_block_to_widget(widget_name="/Game/MCP_Test/WBP_Example", text_block_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
textNo
colorNo
positionNo
font_sizeNo
widget_nameYes
text_block_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 the tool 'Add[s]' a text block, implying a mutation, but does not mention side effects on the blueprint, whether compilation is required, failure modes if the widget does not exist, or whether existing text blocks are overwritten. The description is mostly a parameter list, not a behavioral contract.

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 well-structured and front-loaded: a one-line purpose, a compact parameter list, a KB reference, and a concrete example. Each section serves a distinct purpose and there is no filler or redundant restating of the tool name.

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

Completeness4/5

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

Given 7 parameters, 2 required, and an output schema, the description is largely sufficient for invoking the tool: it names every parameter, provides formats and units, includes a KB reference, and shows a realistic example. It is slightly incomplete only in missing behavioral context such as prerequisites and side effects, but those gaps are already reflected in the behavioral transparency score.

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%, but the description fully compensates by documenting all 7 parameters with meaningful semantics: widget_name and text_block_name as component identifiers, text as display text, position as [X, Y] canvas coordinates, size as [Width, Height], font_size in points, and color as [R, G, B, A] in 0.0-1.0 range. The example also clarifies the expected string path format.

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 opens with a specific verb and resource: 'Add a Text Block to a Widget Blueprint.' This clearly distinguishes it from sibling tools like add_button_to_widget or add_image_to_widget by naming the exact component type being added. The parameter list further confirms the operation without ambiguity.

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 based on the name and opening sentence, but it does not explicitly state when to use this tool versus alternatives such as add_button_to_widget or set_text_block_binding. There is no when-to-use guidance, exclusions, or mention of prerequisites like the widget blueprint needing to exist. The KB link is a pointer but not explicit usage guidance.

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

add_timeline_nodeA

Add a Timeline node for smooth interpolation animations.

Timelines play float/vector curves over time - great for doors opening, lights fading, etc.

Args: blueprint_name: Blueprint name timeline_name: Name for the timeline tracks: List of track dicts: [{"name": "Alpha", "type": "Float", "keys": [[0,0],[1,1]]}] length: Total timeline duration in seconds node_position: Optional graph position

Returns: Dict with 'node_id'; pins: 'Play', 'Reverse', 'Stop', 'Update', 'Finished'

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_timeline_node(blueprint_name="/Game/MCP_Test/BP_Example", timeline_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthNo
tracksNo
node_positionNo
timeline_nameYes
blueprint_nameYes

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 clearly discloses that the tool mutates a blueprint by adding a node, and it describes the return value (node_id and pins). However, it does not mention side effects such as duplicate timeline names, whether the blueprint must be saved/compiled, or other mutation consequences.

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

Conciseness4/5

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

The description is well-structured with a short summary, Args section, Returns section, KB reference, and example. Some argument lines ('Blueprint name', 'Name for the timeline') are somewhat tautological, but overall the format is efficient and front-loaded with the most important context.

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 description covers purpose, arguments, return contract, a knowledge-base pointer, and a usage example, which is quite complete for a 5-parameter tool. It could be improved by detailing valid track types beyond the example, the exact format of node_position, and behavior for name collisions, but nothing essential is missing for basic correct invocation.

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 descriptions are completely absent (0% coverage), so the description is the only source of parameter meaning. It explains every parameter: blueprint_name, timeline_name, tracks with a concrete example dict, length with units (seconds), and node_position as optional. This fully compensates for the empty schema descriptions.

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 action and resource: 'Add a Timeline node for smooth interpolation animations.' It also explains what Timeline nodes do (play float/vector curves over time), which distinguishes this from other blueprint-node tools that add different node types.

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

Usage Guidelines4/5

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

Provides clear use context with practical examples ('great for doors opening, lights fading') and clarifies that timelines animate curves over time. It does not explicitly mention alternatives or when not to use it, but the context is strong enough for an agent to select it appropriately among the many add_* sibling tools.

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

add_validated_get_nodeA

Add a Validated Get node for safe object reference access.

From Ch. 16: A Validated Get node (right-click -> Convert to Validated Get) adds execution pins to check if an object reference is valid before using it. This prevents crashes from accessing destroyed or null references.

The node has:

  • Is Valid execution pin (proceed normally)

  • Is Not Valid execution pin (handle null case)

Args: blueprint_name: Blueprint to add the node to variable_name: Variable to access with validation cast_to_class: Optional class to cast to after validation node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_validated_get_node(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
cast_to_classNo
node_positionNo
variable_nameYes
blueprint_nameYes

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?

There are no annotations, so the description carries the burden. It explains the node's execution pins and the purpose (checking validity before use), which gives some behavioral insight. However, it doesn't disclose side effects (e.g., whether the node is added to the graph immediately, if there are any errors when the variable doesn't exist) or what the return value is, despite having an output schema. The provided KB reference is a pointer but not inline detail.

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 reasonably concise and well-structured, with a clear introduction, bullet-point explanation of execution pins, and a parameter list. The example is helpful and placed at the end. It could be slightly more compact, but it earns its 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?

Given the tool's moderate complexity (4 params, no nested objects, output schema present), the description covers the core purpose, parameters, and an example. It lacks details on error handling or exact behavior of cast_to_class, but the KB reference provides additional context. Overall, it's sufficient for an agent to call 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?

The schema has 0% description coverage, so the description must compensate. It lists all four parameters with brief explanations (blueprint_name, variable_name, cast_to_class, node_position) and provides an example that illustrates usage. This adds meaning beyond the schema's bare types 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 clearly states that the tool adds a Validated Get node for safe object reference access, which is a specific verb+resource combination. It also provides a brief explanation of what the node does (adds execution pins to check validity). However, it doesn't explicitly differentiate from sibling tools like add_is_valid_node or add_get_variable_node, though the unique name and explanation provide some distinction.

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 explains the purpose and context (preventing crashes from invalid references) and includes an example invocation. It does not explicitly state when NOT to use it or mention alternative tools (e.g., add_is_valid_node for simple checks), but the context is clear enough for an agent to decide when to use it.

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

add_variant_to_level_variant_setsA

Add a Variant to an existing Variant Set in a Level Variant Sets asset.

Each Variant stores property captures - snapshots of property values on level actors that are applied when the variant is activated.

Args: lvs_name: Level Variant Sets asset name variant_set_name: Target Variant Set name within the LVS variant_name: New Variant name to create captured_properties: List of property captures: [{"actor_name": str, "property_type": str, "property_value": any}] property_type: "Material", "Visibility", "Transform", "Mesh"

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: add_variant_to_level_variant_sets(lvs_name="ExampleName", variant_set_name="ExampleName", variant_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
lvs_nameYes
variant_nameYes
variant_set_nameYes
captured_propertiesNo

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 burden of exposing behavior. It clearly signals an additive mutation and explains the concept of property captures as snapshots applied on activation, which is useful. However, it does not disclose side effects such as persistence/asset modification, duplicate-variant behavior, or failure conditions when the LVS or variant set does not 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?

The description is front-loaded with purpose, followed by a concise concept note, structured argument documentation, a KB pointer, and an example. It is well organized and not bloated, though the example is a bit superficial because all placeholders use the same 'ExampleName' string.

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 description covers the core operation, all parameters, the semantic model of variants, and a KB reference. Since an output schema exists, omitting return-value details is acceptable. The main gap is the lack of explicit preconditions and edge-case behavior, but overall an agent has enough to call the tool correctly in the common case.

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%, but the description fully compensates by documenting every parameter: lvs_name, variant_set_name, variant_name, and captured_properties. It even provides the item structure for captured_properties and the allowed property_type values ('Material', 'Visibility', 'Transform', 'Mesh'), which is exactly what the schema lacks.

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 opening sentence states a specific verb and resource: 'Add a Variant to an existing Variant Set in a Level Variant Sets asset.' This cleanly differentiates the tool from siblings like create_level_variant_sets or add_activate_variant_set_node, since it targets an existing set and creates a new Variant within it.

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 makes the use case clear through phrases like 'existing Variant Set' and explains when variant property captures are applied. It does not explicitly name alternatives or say when-not-to-use this tool, but the context is strong enough that an agent can infer the intended scenario.

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

add_vector_add_nodeA

Add a Vector + Vector addition node.

Ch.14: couch_location = character_location + movement_vector Adds each element: (X1+X2, Y1+Y2, Z1+Z2).

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_vector_add_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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?

The description conveys the primary behavior: it adds a node and performs per-element addition. With no annotations present, it carries the full burden, but it does not mention whether the blueprint asset is modified/saved, whether the operation is destructive, or what happens on failure. This leaves part of the behavioral profile 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?

The description is compact and front-loaded with the operation, followed by a brief explanation, args, a KB pointer, and an example. The Ch.14 line is extra but illustrative, and there is no filler or 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?

With an output schema present, return values are already covered. The description provides an example, KB reference, and parameter detail, but it omits side effects like whether the blueprint is saved or compiled, and it does not address sibling vector operations. Given the large sibling list, a bit more routing context would make it fully 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. It does by explaining blueprint_name as 'Blueprint name' and node_position as 'Optional [X, Y] graph position', and the example shows how to pass blueprint_name as a content path. This adds 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 opens with 'Add a Vector + Vector addition node', stating a specific verb and resource, and the element-wise formula clarifies exactly what kind of node is created. It does not explicitly differentiate among siblings like add_vector_subtract_node or add_vector_multiply_node, so it misses the top score.

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 Ch.14 example gives a concrete scenario (couch_location = character_location + movement_vector) that implies when this tool is useful. However, there are no explicit when-to-use or when-not-to-use instructions, and no mention of alternatives or prerequisites such as 'the blueprint must already exist'.

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

add_vector_length_nodeB

Add a 'Vector Length' node - returns the magnitude/distance of a vector.

Ch.14: Length = sqrt(XX + YY + Z*Z). Use to measure distances.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_vector_length_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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?

With no annotations provided, the description must carry the full behavioral disclosure burden. It mentions the node returns a magnitude and gives the formula, but does not disclose that adding a node is a mutation to the blueprint, whether it requires the blueprint to exist, whether it affects other nodes, or if it needs compilation afterward. It also doesn't clarify the default behavior when node_position is omitted. The behavioral coverage is thin 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 compact and well-structured: a one-line purpose, a formula, a short usage hint, an Args section, a KB reference, and an example. It front-loads the core purpose and avoids fluff. The KB reference is an extra pointer that doesn't bloat the text. It earns a high score for being appropriately sized and organized.

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 (so return format need not be explained), the tool is a mutation that adds a node to a blueprint. It lacks critical context: whether blueprint_name must be a full asset path, what happens if the blueprint doesn't exist, whether node_position defaults to a specific location, and whether the node is added to the currently open graph. The description also doesn't mention any side effects like requiring a compile step. For a tool with no annotations and a sparse schema, these gaps make it incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. The Args section labels blueprint_name as 'Blueprint name' (trivial, adds no new meaning) and node_position as 'Optional [X, Y] graph position' (gives format but not semantics like coordinate system or units). The example provides a concrete value for blueprint_name but doesn't clarify acceptable formats or constraints. This is insufficient compensation for the 0% schema coverage.

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

Purpose5/5

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

The description clearly states the verb 'Add' and the specific resource 'Vector Length node', and explains what it does: 'returns the magnitude/distance of a vector'. The formula (Length = sqrt(X*X + Y*Y + Z*Z)) further disambiguates it from other vector math siblings like add_dot_product_node or add_cross_product_node. This is a precise, unambiguous purpose.

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 a single usage hint: 'Use to measure distances.' This tells the agent when it's appropriate, but it does not explicitly state when not to use it or point to alternatives among the many add_* node tools. The guidance is present but minimal, lacking exclusion criteria or comparison to sibling vector nodes.

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

add_vector_multiply_nodeA

Add a Vector * Float multiplication node.

Ch.14: To find the opposite vector, multiply by -1 (e.g., backward = forward * -1).

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_vector_multiply_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

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?

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Add' and documents the optional node_position, without mentioning graph mutation side effects, failure modes, prerequisites, or whether changes are reversible. The example and KB link help but do not compensate for the missing safety and behavior context.

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

Conciseness5/5

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

The description is compact and front-loaded with the core operation. The arg list, KB reference, and example are each informative and earn their place, with no filler or redundancy.

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

Completeness4/5

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

For a simple two-parameter node addition tool with an output schema, the description covers the required parameter, an optional parameter, a practical math use case, and a pointer to deeper documentation. It omits minor details like graph selection and error behavior, but an agent has enough information to call 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?

Schema description coverage is 0%, so the description must compensate for the schema's lack of parameter details. It does so by listing blueprint_name and node_position, clarifying that node_position is an optional [X, Y] graph position, and providing a full-path example. It does not explain coordinate system details, but it gives enough to construct a valid call.

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 operation: 'Add a Vector * Float multiplication node.' This clearly identifies the resource being modified and distinguishes it from sibling vector node tools by naming the exact math operation. It lacks an explicit contrast with siblings, but the specificity is sufficient.

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 Ch.14 tip about finding the opposite vector by multiplying by -1 gives a concrete use case, and the KB pointer offers additional context. However, it does not explicitly say when to choose this tool over alternative vector node tools or when not to use it, leaving the agent to infer selection from the name.

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

add_vector_subtract_nodeA

Add a Vector - Vector subtraction node.

Ch.14: movement = destination - start_point. Subtracts element-wise.

Args: blueprint_name: Blueprint name node_position: Optional [X, Y] graph position

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: add_vector_subtract_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 explains the node's math behavior and shows a call example, which is helpfulERO. However, it doesn't disclose side effects such as requiring an existing blueprint, whether the blueprint is modified in place, or any permissions/save implications. For an 'add node' tool this is a moderate gap, but the additive nature is implied by the name.

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 well-organized: purpose, mathematical explanation, args, KB link, and example. Every line contributes meaningful information and nothing is redundant. The most important details are front-loaded, making it easy for an agent to scan.

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 two-parameter node-addition tool, the description is largely complete. It includes the operation semantics, parameter meanings, a knowledge base reference, and an example call. The output schema is marked as present, so return values are covered externally. It only lacks explicit handling of edge cases (e.g., invalid blueprint name) or behavior when node_position is omitted, but these are not critical given the simple scope.

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

Parameters3/5

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

The input schema has 0% description coverage, so the description is the only source of parameter meaning. It lists blueprint_name as 'Blueprint name' and node_position as 'Optional [X, Y] graph position', plus an example that illustrates the blueprint path format. This adds value but is minimal—it doesn't explain coordinate system, units, or default behavior of node_position, leaving some ambiguity for an agent.

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

Purpose5/5

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

The description clearly states what the tool does: adds a Vector-Vector subtraction node, and clarifies the operation with "Subtracts element-wise." It also includes a concrete formula (movement = destination - start_point) that differentiates it from sibling vector node tools like add_vector_add_node and add_vector_multiply_node.

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 a clear usage context via the Ch.14 example, indicating when this node is useful (e.g., computing movement from destination and start_point). However, it never explicitly mentions when not to use it or names alternatives, so it stops short of full exclusion guidance.

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

add_vertical_box_to_widgetA

Add a Vertical Box layout container to a Widget Blueprint.

Vertical Box arranges child widgets vertically (top to bottom). Perfect for stacking buttons, labels, and stats in a menu.

Args: widget_name: Widget Blueprint name box_name: Component name for the Vertical Box position: [X, Y] position size: [Width, Height] anchor_preset: UMG anchor preset size_to_content: Auto-size to fit children

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_vertical_box_to_widget(widget_name="/Game/MCP_Test/WBP_Example", box_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
box_nameYes
positionNo
widget_nameYes
anchor_presetNoTopLeft
size_to_contentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It clearly states the mutation (adds a layout container to a Widget Blueprint) and gives a complete example call, but it does not mention prerequisites, failure modes, or side effects beyond the obvious addition.

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?

Compact, front-loaded, and well organized into purpose, usage, args, KB reference, and example. The example invocation is high-value and every line contributes.

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?

Covers all parameters, gives a realistic example, links to KB, and the output schema can carry return-value details. Missing only advanced details such as anchor preset value choices and whether the Widget Blueprint must already exist.

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%, and the Args list compensates with glosses for all six parameters, including array semantics for position [X,Y] and size [Width,Height]. However, 'anchor_preset: UMG anchor preset' adds little beyond the schema title, and widget_name format is only implied by the example.

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 action ('Add') on a specific resource ('Vertical Box layout container' to a 'Widget Blueprint') and clarifies the vertical orientation ('top to bottom'). This clearly separates it from siblings like add_horizontal_box_to_widget.

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 a concrete use case: 'Perfect for stacking buttons, labels, and stats in a menu.' This signals when the vertical box is appropriate, though it does not explicitly mention when not to use it or name alternatives.

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

add_vr_input_action_nodeA

Add a VR input action event node to a Blueprint.

From Ch. 16: VR input actions from the VR template include:

  • "GrabLeft" / "GrabRight" (grip button)

  • "TriggerLeft" / "TriggerRight" (trigger button)

  • "MenuToggleLeft" / "MenuToggleRight" (menu button)

  • "TeleportLeft" / "TeleportRight" (thumbstick)

VR axis inputs (use add_blueprint_input_action_node for these):

  • "MovementAxisRight_Y" / "MovementAxisRight_X" (right thumbstick)

  • "MovementAxisLeft_Y" / "MovementAxisLeft_X" (left thumbstick)

Args: blueprint_name: Blueprint to add the input node to input_action: VR input action name node_position: [X, Y] graph position

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_vr_input_action_node(blueprint_name="/Game/MCP_Test/BP_Example", input_action="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
input_actionYes
node_positionNo
blueprint_nameYes

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 burden. It does not disclose side effects (e.g., whether the blueprint is auto-compiled, if the node must be placed in a specific graph, or if the blueprint must be a VR pawn). The description does mention node_position, implying placement behavior, and points to a knowledge base, but it lacks explicit statements about consequences or prerequisites. For a simple node addition this is acceptable, but more disclosure (e.g., 'requires an open Blueprint') would earn a higher score.

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

Conciseness4/5

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

The description is well-structured with clear sections (main purpose, valid actions, axis alternatives, args, KB reference, example). It front-loads the purpose and routes to the alternative early. It is slightly lengthy due to the full list of input actions, but each item serves a purpose. No redundant sentences; it earns its length.

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 moderately complex with 3 parameters and an output schema (which is not shown but exists). The description provides an example, lists valid inputs, and points to a knowledge base. It does not describe the return value, but since an output schema exists, that is not required. Missing prerequisites (e.g., blueprint must be open, VR template needed) are minor given the KB pointer. Overall it's complete enough to call 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 compensate. It does with an Args section explaining each parameter (blueprint_name, input_action, node_position) and lists valid input_action values. It also provides an example path for blueprint_name. This adds meaningful context beyond the bare schema, though it could be more precise about node_position coordinate system or blueprint name format.

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 explicitly states 'Add a VR input action event node to a Blueprint' – a specific verb and resource. It distinguishes itself from add_blueprint_input_action_node by explicitly naming it as the tool to use for VR axis inputs, and provides a curated list of valid VR input action names, so an agent can immediately tell this tool apart from its siblings and know exactly what it does.

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

Usage Guidelines5/5

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

The description gives explicit guidance on when NOT to use this tool: 'VR axis inputs (use add_blueprint_input_action_node for these)' – a clear directive to an alternative. It also enumerates the specific button actions this tool handles, so the agent knows the precise use case. This goes beyond implied context and fully routes the agent.

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

add_while_loop_nodeB

Add a While Loop node.

Executes 'Loop Body' while condition is true, then fires 'Completed'.

Args: blueprint_name: Blueprint name node_position: Optional graph position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_while_loop_node(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_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 burden of explaining side effects of this mutation, but it only describes the node's runtime behavior. It does not say what happens in the blueprint graph, whether connections are made, or what effects occur beyond adding the node.

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 compact and well-organized with behavior, args, KB link, and example. Each section earns its place, though the Args block slightly repeats parameter names already 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?

The description is minimally viable: it explains the node, documents both parameters at a basic level, includes an example, and points to KB fundamentals. It still lacks prerequisites, graph placement context, and coordinate format, which an agent needs to invoke it confidently.

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

Parameters3/5

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

With 0% schema description coverage, the description compensates only partially: it labels blueprint_name and node_position, marks node_position as optional, and gives an example path. It does not explain the format or units for node_position coordinates.

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?

Description opens with 'Add a While Loop node', a specific verb and resource, and then clarifies the node's runtime semantics ('Executes Loop Body while condition is true, then fires Completed'). This is enough to distinguish it from the many sibling loop-node tools such as add_blueprint_for_loop_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?

No guidance is given for when to choose this tool over alternative loop nodes, nor are any preconditions or exclusions mentioned. The KB pointer is a reference, not a usage rule.

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

add_widget_animationA

Add a UMG Widget Animation to animate widget properties over time.

Widget Animations allow smooth fades, slides, and scale effects in UI. Use PlayAnimation / StopAnimation nodes in Blueprint to trigger them.

Args: widget_name: Widget Blueprint name animation_name: Name for the animation (e.g., "FadeIn", "SlideOut") animated_property: Property to animate ("Opacity", "Scale", "Position") start_value: Starting value end_value: Ending value duration: Animation duration in seconds loop: Whether the animation loops

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_widget_animation(widget_name="/Game/MCP_Test/WBP_Example", animation_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
durationNo
end_valueNo
start_valueNo
widget_nameYes
animation_nameYes
animated_propertyNoOpacity

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 the full burden of behavioral disclosure. It states it 'adds' an animation, implying modification of the widget blueprint, but it does not mention side effects, prerequisites (e.g., widget existence), error conditions, or whether a save/compile is required. For a mutation 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?

The description is concise and well-structured: a one-sentence purpose, a brief explanation of animation utility, a parameter list, a KB reference, and an example. Each section adds value with no redundant text. The example is particularly helpful for path formatting. Slightly more verbose than strictly necessary but still 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?

The description covers essential parameters and provides an example, but it lacks information on return values, error handling, whether the widget blueprint must be saved/compiled afterward, and what happens on duplicate animation names. Given the tool modifies blueprints and has no annotations, this is a moderate gap.

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 explain parameters. It does so with an Args list covering all 7 parameters, including example values for animation_name and animated_property, units for duration, and default semantics for loop. This thoroughly compensates for the schema gap.

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

Purpose5/5

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

The description clearly states it adds a UMG Widget Animation to animate widget properties over time. It distinguishes from sibling tools that add widgets (e.g., add_text_block_to_widget) or set properties directly (widget_set_property) by focusing on animation. The examples of fades, slides, and scale effects further clarify the tool's purpose.

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

Usage Guidelines2/5

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

The description provides some context that animations are useful for smooth fades, slides, and scale effects, but it does not explicitly state when to use this tool over alternatives like widget_set_property or when not to use it. The mention of PlayAnimation/StopAnimation is about post-creation triggering, not tool selection. No explicit alternatives or exclusion criteria are given.

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

add_widget_interaction_componentA

Add a Widget Interaction component for VR UI interaction.

From Ch. 16: The Widget Interaction component works like a laser pointer, allowing the user to interact with UMG Widget Blueprints placed in the world. Used in the VR menu system activated by the Menu button.

Args: blueprint_name: Blueprint to add the component to component_name: Component name interaction_distance: Max distance for widget interaction (UE units) show_debug: Show debug visualization beam

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: add_widget_interaction_component(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
show_debugNo
blueprint_nameYes
component_nameNoWidgetInteraction
interaction_distanceNo

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 explains the laser-pointer behavior and the blueprint target, but it does not disclose side effects such as blueprint asset mutation, need to compile/save, or failure/duplicate-component behavior. This is adequate but leaves a clear 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?

The purpose is front-loaded, followed by compact conceptual context, an Args section, a knowledge-base pointer, and a concrete example. There is no filler; each 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?

For a small 4-parameter additive tool, the definition is largely complete: it covers all arguments, gives a usage scenario, links to a chapter/knowledge base, and includes an example. An output schema exists, so the lack of return-value prose is acceptable. The main omission is behavioral/side-effect detail covered above.

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 Args block documents all four parameters in plain terms and adds useful details beyond the schema, especially UE units for interaction_distance and the debug beam for show_debug. Some entries repeat the schema titles (component_name), but overall the 0% schema coverage is compensated.

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 names the exact operation—adding a Widget Interaction component—and grounds it in a concrete purpose: VR UI interaction via a laser-pointer-like interaction with UMG Widget Blueprints. This makes it easy to tell apart from generic component-adding siblings and other VR pawn 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?

It gives a clear usage context: the component belongs in the VR menu system activated by the Menu button, so an agent can infer when it is relevant. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

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

add_widget_to_viewportA

Instantiate a Widget Blueprint and add it to the game viewport.

Args: widget_name: Widget Blueprint name z_order: Rendering order (higher = on top)

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: add_widget_to_viewport(widget_name="/Game/MCP_Test/WBP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
z_orderNo
widget_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 core action and z-order behavior, but omits side effects such as duplicate widget instances on repeated calls, whether a running PIE session is required, instance lifetime/cleanup, or error behavior on invalid widget 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 compact and well-structured with summary, args, KB pointer, and example. Every section earns its place, and the core action is front-loaded.

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 runtime UI action, the description provides parameter notes, a KB reference, and a concrete example, which covers basic invocation. However, without annotations it lacks prerequisite, lifecycle, and failure-mode information; the output schema exists but is not described here, so the agent must rely on external schema for return 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%, and the description compensates by defining both parameters: 'Widget Blueprint name' for widget_name and 'Rendering order (higher = on top)' for z_order. The example also clarifies the expected asset-path form. It adds meaning beyond the bare schema titles, though widget_name could be more explicit about path vs. simple name.

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

Purpose5/5

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

The description uses a specific verb-resource pairing — 'Instantiate a Widget Blueprint and add it to the game viewport' — which precisely distinguishes this runtime display operation from sibling tools that create, edit, or bind widgets. The example and KB reference reinforce this without ambiguity.

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 use case: at runtime, instantiate a widget and show it in the viewport. It does not explicitly state when not to use it or name alternatives such as create_umg_widget_blueprint or widget_add_child, so the agent must infer selection from the sibling list and context.

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

anim_add_branching_pointB

Add a Montage Branching Point backed by a branching AnimNotify event.

Args: montage_path: Full montage asset path branching_point_name: Branching event name time: Time in seconds notify_type: "notify" or "notify_state" notify_state_duration: Duration for notify_state entries save: Save the montage after editing

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: anim_add_branching_point(montage_path="/Game/MCP_Test/Example", branching_point_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
timeNo
notify_typeNonotify
montage_pathYes
branching_point_nameYes
notify_state_durationNo

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 of behavioral disclosure. It discloses that the tool adds a branching point and has a save flag, but it does not explain side effects on the montage, whether the edit is saved immediately by default, what happens if the branch already exists, or what asset state is required.

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 compact and well organized: one purpose sentence, a short Args block, a KB pointer, and a two-argument example. No filler sentences are present, and the use case is front-loaded.

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-value details are not required, and the example plus KB pointer help ground the call. But for a mutating 6-parameter tool with no annotations, the prose does too little to explain the branching-point model, how notify_type affects the result, or what happens on failure; an agent would likely need the KB reference.

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 docstring Args list is the only place an agent learns parameter meaning. It does add value: time is in seconds, notify_type has an allowed-value hint, and save is explained as saving after editing. However, several entries merely restate their names, and notify_state_duration lacks units/behavior beyond 'duration'.

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 first sentence names the exact operation ('Add a Montage Branching Point') and distinguishes the backing implementation ('backed by a branching AnimNotify event'). This is more specific than the bare tool name, though it doesn't contrast with adjacent animation tools like anim_add_anim_notify or anim_add_montage_slot.

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 its use through purpose and the Args list, and points to a KB section for animation-system context. But it does not state when to prefer this over anim_add_anim_notify or other montage mutation tools, nor does it give any exclusions or prerequisites such as montage must already exist.

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

anim_add_montage_slotA

Add or update a slot on an Animation Montage, optionally adding a segment.

Args: montage_path: Full montage asset path slot_name: Slot name to create or update source_animation_path: Optional AnimSequence/AnimSequenceBase to add as a segment start_time: Segment start time in montage seconds play_rate: Segment playback rate loop_count: Segment loop count replace_existing: Clear existing segments on the slot before adding save: Save the montage after editing

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: anim_add_montage_slot(montage_path="/Game/MCP_Test/Example", slot_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
play_rateNo
slot_nameYes
loop_countNo
start_timeNo
montage_pathYes
replace_existingNo
source_animation_pathNo

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 behavioral burden. It discloses the mutation behavior, the replace_existing side effect ('Clear existing segments on the slot before adding'), and the save step. However, it does not disclose failure states, persistence caveats, reversibility, or what happens to an existing slot beyond 'add or update.'

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 one sentence, followed by a compact parameter list, a KB pointer, and a concrete example. The arg documentation is useful and compact with no wasted words, though the block could be slightly tightened.

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

Completeness4/5

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

Given a complex 8-parameter editing tool with no annotations, the description covers all parameters, key behavior, knowledge base reference, and an example. It lacks explicit alternative routing and some failure/edge-case behavior, but it is largely complete enough for an agent to invoke the tool correctly.

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?

The input schema has 0% schema description coverage, but the description enumerates all eight parameters with meaningful functional explanations: 'Full montage asset path', 'Optional AnimSequence/AnimSequenceBase to add as a segment', 'Clear existing segments on the slot before adding', and 'Save the montage after editing.' This fully compensates for the schema gap.

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: 'Add or update a slot on an Animation Montage, optionally adding a segment.' This clearly identifies what the tool does and is distinguishable from read-only siblings like anim_describe_montage without needing to open their schemas.

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

Usage 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 or when-not-to-use guidance, and names no alternative tools or conditions for choosing an alternative. Usage context is implied by the action and arg descriptions, but an agent must infer routing from sibling names and the main verb.

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

anim_create_montageA

Create an Animation Montage asset from a source AnimSequence or Skeleton.

Args: montage_name: New montage asset name folder_path: Content Browser destination folder source_animation_path: Optional AnimSequence used to seed the first slot skeleton_path: Optional Skeleton; required when source_animation_path is empty slot_name: Initial montage slot section_name: Initial section name overwrite: Replace an existing asset with the same name save: Save the asset after creation play_rate: Playback rate for the seeded segment loop_count: Loop count for the seeded segment

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: anim_create_montage(montage_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
overwriteNo
play_rateNo
slot_nameNoDefaultSlot
loop_countNo
folder_pathNo/Game/Animation/Montages
montage_nameYes
section_nameNoDefault
skeleton_pathNo
source_animation_pathNo

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 provided, the description carries the full behavioral burden. It discloses meaningful side-effect-relevant details: overwrite replaces an existing asset, save persists after creation, skeleton_path is required when source_animation_path is empty, and source_animation_path seeds the first slot. It does not cover failure modes or folder-creation behavior, but it is substantially transparent 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 purpose is front-loaded, and the parameter list is compact and scannable. The KB reference and example are brief and useful. The length is justified by the 10-parameter surface and the complete absence of schema descriptions.

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

Completeness4/5

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

Given 10 parameters, no annotations, and an output schema, the description is largely complete: all parameters are explained, the required input dependency is called out, and a KB pointer is provided. Minor gaps include no explicit handling of conflict/failure behavior when overwrite is false or when the source path is invalid.

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%, yet the description provides a meaningful gloss for every one of the 10 parameters. It adds value beyond the bare schema by explaining the source/skeleton dependency, the scoping of play_rate and loop_count to the seeded segment, and the role of overwrite and save.

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

Purpose5/5

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

The description clearly states the action ('Create'), the resource ('Animation Montage asset'), and the input sources ('AnimSequence or Skeleton'). This makes its purpose immediately distinguishable from sibling tools like anim_describe_montage, which only inspects an existing montage.

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 anim_add_montage_slot or anim_set_montage_section. The creation intent is implied, but the agent is not told when this is the right choice or what conditions would favor a sibling tool.

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

anim_describe_montageA

Inspect a Montage's slots, segments, sections, and notifies.

Args: montage_path: Full montage asset path

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: anim_describe_montage(montage_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
montage_pathYes

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 provided, the description carries the behavioral disclosure burden. The word 'Inspect' clearly indicates a read-only, non-destructive operation, and the listed components define exactly what is examined. It does not discuss error behavior or prerequisites such as asset loading, but the example and KB reference add useful context for a simple inspection tool.

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

Conciseness5/5

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

The description is compact and well-structured: a single purpose sentence, an Args line, a KB reference, and an example. Every element earns its place, and the most important information is front-loaded. There is no redundant or filler content.

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 inspection tool with an output schema available, the description covers the essential purpose, parameter semantics, an invocation example, and a KB reference. It lacks explicit usage differentiation and edge-case behavioral notes, but these are minor given the simplicity of the tool and the presence of the output schema.

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 schema provides only a title and type for montage_path with no description. The tool description compensates by defining the parameter as 'Full montage asset path' and providing a concrete example value. This gives an agent sufficient semantic understanding of the parameter despite 0% schema description coverage.

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 ('Inspect') and a specific resource ('Montage's slots, segments, sections, and notifies'), making the tool's purpose clear. It is distinguishable from sibling montage mutation tools (e.g., anim_create_montage, anim_add_montage_slot) through the inspect-only scope, though it does not explicitly name any sibling 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 verb 'Inspect' and the provided example imply the tool should be used to examine montage structure, but there is no explicit guidance about when to choose this tool over alternatives or when not to use it. No exclusions or sibling comparisons are given, leaving the agent to infer the use case.

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

anim_set_montage_sectionA

Create or reposition a Montage section and optionally set its next section.

Args: montage_path: Full montage asset path section_name: Section name start_time: Section start time in seconds next_section_name: Optional next section for looping/chaining save: Save the montage after editing

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: anim_set_montage_section(montage_path="/Game/MCP_Test/Example", section_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
start_timeNo
montage_pathYes
section_nameYes
next_section_nameNo

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 disclosure burden; it does reveal that this is a mutating operation and that save controls persistence ('Save the montage after editing'). It does not state prerequisites (existing montage), behavior when section_name already exists, or failure modes, but the KB link mitigates some ambiguity.

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 action is front-loaded in one sentence, followed by a compact argument list, a KB pointer, and one example. No sentence 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 5-parameter mutator it covers the behavior, all arguments, the save semantics, and points to detailed docs; an output schema is reported to exist, so return values need not be described. It stops short of stating edge-case behavior (duplicate section names, missing montage) and explicit preconditions, but overall an agent can call it correctly.

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 this section carries all the meaning. Every one of the five parameters is described in plain terms, including units for start_time and the purpose of next_section_name. The example further disambiguates the required parameters.

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

Purpose5/5

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

The first sentence states the exact operation ('Create or reposition a Montage section') and the optional chaining behavior ('set its next section'). This is specific enough that an agent can tell it from sibling montage tools even though no sibling is named. The resource and action are both concrete.

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 or when-not-to-use guidance, and it never names alternatives such as anim_create_montage or anim_add_montage_slot. The example and KB pointer show how to invoke the tool but do not help an agent decide between it and related animation tools.

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

audio_create_attenuationA

Create a Sound Attenuation asset with common 3D falloff defaults.

Args: name: Asset name such as SA_RoomTone. path: Content Browser folder under /Game. radius: Inner sphere radius. falloff_distance: Distance after radius over which volume falls off. spatialize: Enable 3D spatialization. attenuate: Enable distance attenuation. overwrite: Delete an existing asset with the same name first. save: Save the package after creation.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: audio_create_attenuation(name="SA_RoomTone", radius=500.0, falloff_distance=3000.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Audio/Attenuation
saveNo
radiusNo
attenuateNo
overwriteNo
spatializeNo
falloff_distanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 of behavioral disclosure. It explicitly documents the destructive 'overwrite' behavior ('Delete an existing asset with the same name first') and the package-saving side effect, which are the key behavioral traits an agent needs to know. It does not describe error handling or what happens when an asset exists without overwrite, but the most safety-relevant behavior is covered.

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 well structured: a one-line purpose, a compact arg list, a KB pointer, and an illustrative example. Every line earns its place, and the parameter explanations are necessary given the zero-coverage schema. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter creation tool with no annotations, the description covers all parameters, documents side effects, links to a knowledge base, and provides a realistic example. An output schema exists, so return-value documentation is not required. The only noticeable gap is the absence of explicit usage conditions or failure scenarios, but the essential operational picture is complete.

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 fully. Every one of the 8 parameters is given a clear semantic meaning: 'name' has a format example, 'path' clarifies Content Browser scope under /Game, and 'falloff_distance' explains what happens after radius. This adds substantial meaning beyond the bare schema titles and defaults.

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 opens with 'Create a Sound Attenuation asset with common 3D falloff defaults', naming a specific verb, resource type, and default behavior. This clearly distinguishes it from sibling audio asset creators like audio_create_soundcue and audio_create_concurrency, so an agent can tell them apart 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'with common 3D falloff defaults' implies this is for standard attenuation setups, and the KB reference provides further context, but there is no explicit when-to-use statement or comparison against alternatives such as audio_create_soundcue or metasound tools. The usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audio_create_concurrencyA

Create a Sound Concurrency asset for voice limiting.

Args: name: Asset name such as SCN_Impacts. path: Content Browser folder under /Game. max_count: Maximum active voices in the group. resolution_rule: prevent_new, stop_oldest, stop_quietest, stop_lowest_priority, or stop_farthest_then_oldest. limit_to_owner: Limit concurrency per owning actor. retrigger_time: Minimum seconds between accepted plays. overwrite: Delete an existing asset with the same name first. save: Save the package after creation.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: audio_create_concurrency(name="SCN_Impacts", max_count=6, resolution_rule="stop_quietest")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Audio/Concurrency
saveNo
max_countNo
overwriteNo
limit_to_ownerNo
retrigger_timeNo
resolution_ruleNostop_farthest_then_oldest

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the transparency burden. It discloses destructive behavior via 'overwrite: Delete an existing asset with the same name first' and persistence behavior via 'save: Save the package after creation.' This adds meaningful behavioral context beyond the operation name.

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 efficiently structured: a one-line purpose, a compact Args list, a KB pointer, and a concrete example. Every section earns its place and the most important action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with 8 parameters, the description covers purpose, all parameter semantics, destructive overwrite behavior, and provides an example and KB reference. Since an output schema exists, the absence of return-value detail is acceptable.

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 fully compensates by explaining all 8 parameters. It defines each parameter clearly, including the valid values for resolution_rule, making the tool callable without needing external documentation.

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?

Description states a specific verb and resource: 'Create a Sound Concurrency asset for voice limiting.' This clearly identifies the asset type and purpose, distinguishing it from sibling audio creation tools like audio_create_soundcue and audio_create_attenuation.

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 phrase 'for voice limiting' provides clear context for when this tool is appropriate. However, it does not explicitly mention alternatives or state when not to use it, so it stops short of the strongest guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audio_create_soundcueA

Create a SoundCue asset, optionally prewired to a SoundWave.

Args: name: Asset name such as SC_Footstep_Dirt. path: Content Browser folder under /Game. sound_wave: Optional SoundWave asset path to seed the cue. overwrite: Delete an existing asset with the same name first. save: Save the package after creation.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: audio_create_soundcue(name="SC_Footstep_Dirt", sound_wave="/Game/Audio/SFX/SW_Footstep_Dirt")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Audio/Cues
saveNo
overwriteNo
sound_waveNo

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 provided, the description carries the full behavioral burden. It does disclose the destructive nature of overwrite ('Delete an existing asset with the same name first') and the save behavior. However, it does not mention failure handling, whether existing assets block creation when overwrite=false, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The one-line summary is front-loaded, followed by a compact argument list and a concrete example. Every line adds value, and the KB reference provides a pointer for deeper context without bloating 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?

All five parameters are documented, an example is provided, a KB reference is linked, and an output schema exists so return-value details are not required. The only gap is the absence of usage guidance and edge-case behavior (e.g., what happens if overwrite=false and the asset already exists), which prevents a perfect score.

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 fully compensates by explaining each parameter in plain language: name with a concrete example (SC_Footstep_Dirt), path as a Content Browser folder under /Game, sound_wave as an optional seeding path, overwrite as deletion-first, and save as package saving. This is significantly more informative than 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?

The description states a specific verb and resource: 'Create a SoundCue asset, optionally prewired to a SoundWave.' The resource type (SoundCue) and optional wiring to SoundWave distinguish it from sibling audio tools like audio_create_attenuation and audio_create_concurrency without ambiguity.

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 or alternatives are provided. The description never says when to choose this over import_sound_asset, metasound_create_source, or other audio creation tools. Usage is only implied by the tool's name and purpose rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_import_folderA

Batch-import all recognised assets from a local folder into UE5.

Scans the folder locally (no UE5 connection needed for the scan), then sends a single exec_python call to UE5 with an AssetImportTask per file. Results are reported per-file.

Args: folder_path: Absolute path on the MCP server machine to scan ue5_base_path: Root Content Browser path for imported assets (default "/Game/Imported/") recursive: Scan subdirectories (default True) import_textures: Import texture files (default True) import_meshes: Import FBX/OBJ/glTF mesh files (default True) import_audio: Import WAV/OGG/MP3 audio files (default True) preserve_folder_structure: Mirror the local subfolder structure in the Content Browser (default True) dry_run: If True, return the manifest without importing (default False)

Returns: JSON string: { "success": true, "dry_run": false, "total": 10, "imported": 9, "failed": 1, "results": [ {"file": "T_Bastila_n.png", "success": true, "asset_path": "/Game/..."}, {"file": "SM_Table.fbx", "success": false, "error": "..."}, ... ] }

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#overview Example: batch_import_folder(folder_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
recursiveNo
folder_pathYes
import_audioNo
import_meshesNo
ue5_base_pathNo/Game/Imported/
import_texturesNo
preserve_folder_structureNo

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 provided, the description carries the full burden and does a solid job: it explains the local scan phase, the single exec_python call to UE5, per-file AssetImportTask usage, dry-run behavior, and per-file result reporting. It does not disclose potential overwrite side effects or failure modes, but the core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a summary, Args, Returns, KB reference, and Example. It is longer than minimal, but the length is justified by 8 parameters and a complex batch workflow. 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?

The description is complete enough to call the tool correctly: it provides return JSON, dry-run behavior, and a KB reference. Minor gaps remain, such as not enumerating which file types count as "recognised assets" and not stating whether UE5 must be running for the import phase, but these are not blocking.

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%, but the Args section compensates fully by explaining all 8 parameters, including folder_path as an absolute path on the MCP server machine, defaults for all booleans, and the ue5_base_path Content Browser semantics. This adds significant meaning beyond 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?

The description names a specific verb and resource: "Batch-import all recognised assets from a local folder into UE5." This clearly differentiates it from sibling single-asset import tools by emphasizing batch scanning of a folder.

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 when to use it: when you have a local folder of assets to import in batch. However, it never names alternatives or states when not to use it, such as importing a single asset or using a character-specific import workflow, leaving routing to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_retarget_animationsA

Retarget a list of animation sequences using an existing IK Retargeter.

This is the programmatic equivalent of the UE5 editor "Retarget Animations → Export Animations" workflow (Method 1 / quick path).

After setting up the IK Retargeter once (create_ik_retargeter), call this tool to batch-export retargeted copies of all your animations.

Args: retargeter_path: Full content path to the IKRetargeter asset (e.g. "/Game/Animation/Retargeters/RTG_Mannequin_To_MyChar") source_animation_paths: List of animation sequence content paths to retarget (e.g. ["/Game/Animations/Walk", "/Game/Animations/Run"]) output_path: Destination folder for retargeted animations (e.g. "/Game/Characters/MyChar/Animations") output_suffix: Suffix appended to each output asset name (default "_Retargeted") use_existing_if_found: Skip retargeting if the output asset already exists

Returns: dict with keys: success, retargeted (count), skipped (count), failed (count), output (raw UE5 log)

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: batch_retarget_animations(retargeter_path="/Game/MCP_Test/Example", source_animation_paths="/Game/MCP_Test/Example", output_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathYes
output_suffixNo_Retargeted
retargeter_pathYes
use_existing_if_foundNo
source_animation_pathsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 behavioral disclosure burden. It discloses that the tool creates new assets (batch-export retargeted copies), that it can skip existing outputs (use_existing_if_found), and that it returns a dict with success/retargeted/skipped/failed counts and raw UE5 log. It also references the KB for deeper context. It doesn't mention side effects like overwriting or asset creation details, but the return structure and skip behavior are 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?

The description is well-structured with a clear summary, workflow context, parameter list, return value, KB reference, and example. It's slightly long but every section earns its place. The parameter list is formatted clearly and the example is useful. The only minor issue is the example uses the same path for retargeter_path and source_animation_paths, which is a bit odd but not confusing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters, an output schema, and no annotations. The description covers the workflow context, prerequisites, parameters, return value, and provides an example. It references the KB for deeper detail. It doesn't explicitly state error conditions or what happens if the retargeter doesn't exist, but the return dict with failed count and raw log covers the failure reporting. For a batch operation with this complexity, the description is quite 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. It does: each parameter is listed with a one-line explanation and an example value (retargeter_path, source_animation_paths, output_path, output_suffix, use_existing_if_found). The examples are concrete and match the schema types. The only minor gap is that it doesn't explain the default behavior of use_existing_if_found in detail, but the parameter name and description ('Skip retargeting if the output asset already exists') are self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Retarget a list of animation sequences using an existing IK Retargeter.' It specifies the resource (animation sequences, IK Retargeter), the action (batch retarget/export), and distinguishes it from the single-animation sibling (retarget_single_animation) by explicitly calling out the batch nature. The UE5 editor workflow reference adds concrete context.

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: it is the programmatic equivalent of the UE5 editor 'Retarget Animations → Export Animations' workflow, and it explicitly states the prerequisite ('After setting up the IK Retargeter once (create_ik_retargeter), call this tool'). It doesn't explicitly name alternatives or when-not-to-use, but the sibling list includes retarget_single_animation, and the batch vs single distinction is implied. The KB reference adds further guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bind_event_to_dispatcherB

Bind an event to another Blueprint's Event Dispatcher. Adds a 'Bind Event to [Dispatcher]' node.

Args: blueprint_name: Blueprint that is binding to the dispatcher dispatcher_blueprint: Blueprint that owns the dispatcher dispatcher_name: Name of the event dispatcher target_variable_name: Variable holding a reference to the dispatcher owner node_position: Optional [X, Y] graph position

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: bind_event_to_dispatcher(blueprint_name="/Game/MCP_Test/BP_Example", dispatcher_blueprint="/Game/MCP_Test/BP_Example", dispatcher_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
dispatcher_nameYes
dispatcher_blueprintYes
target_variable_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 that it adds a 'Bind Event to [Dispatcher]' node, but does not mention prerequisites, side effects, failure modes, or whether it requires the dispatcher to exist. It also does not mention if it modifies the blueprint graph in a way that needs compilation. Minimal disclosure.

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 reasonably concise, with a one-sentence purpose, a structured Args list, a KB reference, and an example. The purpose is front-loaded. It is efficient but could be trimmed slightly without losing value.

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 mutation tool with no annotations and no schema descriptions, the description covers the parameters and provides an example, but lacks important context such as whether the dispatcher must already exist, what happens if binding fails, and any compilation requirements. The output schema is not described, but its existence is noted in context. Overall, adequate but with 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?

The schema provides no descriptions (0% coverage), so the description compensates by listing all five parameters with brief explanations. It clarifies the role of each, including target_variable_name and node_position. The example further clarifies the expected format for blueprint names as paths.

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 action (bind an event) to another Blueprint's Event Dispatcher, and explicitly mentions the node type it adds. Distinguishes from siblings like call_event_dispatcher and unbind_event_from_dispatcher.

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. It does not mention when not to use it or which sibling tools might be more appropriate. The example shows usage but not selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bind_widget_component_eventA

Create or reuse a component-bound event node for a named sub-widget.

Use this for precise UMG event wiring on named widget variables such as Button.OnClicked, Button.OnHovered, or Slider.OnValueChanged. Unlike the legacy bind_widget_event route, this resolves the Widget Blueprint by full path, promotes the sub-widget to a Blueprint variable when needed, and binds the delegate to that specific widget property.

Args: widget_blueprint_path: Full Widget Blueprint asset path. widget_name: Named sub-widget in the WidgetTree, e.g. "BTN_Start". event_name: Delegate property name, e.g. "OnClicked". compile: Whether the native route should compile/save after binding.

Returns: Structured result with node_id, created, and variable_promoted.

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#event-driven-widget-workflows Example: bind_widget_component_event(widget_blueprint_path="/Game/UI/WBP_MainMenu", widget_name="BTN_Start", event_name="OnClicked")

ParametersJSON Schema
NameRequiredDescriptionDefault
compileNo
event_nameYes
widget_nameYes
widget_blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and discloses real behavior: it may promote the sub-widget to a Blueprint variable, binds the delegate, and compile/saves when compile is true. It also states the structured return fields. It could note overwrite/reuse semantics more explicitly, but this is strong for an unannotated 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into purpose, usage contrast, Args, Returns, KB link, and a complete example. No sentence is filler; the most important scoping and alternative information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutation tool with sparse schema and no annotations, the description is complete: it defines inputs, output fields, side effects, points to KB documentation, and gives a runnable example. An agent has enough to select and invoke it correctly.

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 coverage is 0%, so the description fully compensates by documenting every parameter with types, examples, and purpose. The example call grounds the parameter usage and makes the semantics concrete.

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 opening sentence states a specific action (create/reuse a component-bound event node) and a specific resource (named sub-widget). It distinguishes itself from bind_widget_event by spelling out the key differences: full path resolution, variable promotion, and delegate binding.

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?

Explicitly says to use for precise UMG event wiring on named widget variables and contrasts with the legacy bind_widget_event route with concrete behavioral differences. Examples of delegate properties make the intended scenario unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bind_widget_eventB

Bind a widget event (e.g., OnClicked) to a function.

Args: widget_name: Widget Blueprint name widget_component_name: Component name (e.g., button name) event_name: Event to bind ("OnClicked", "OnHovered", "OnUnhovered", "OnPressed", "OnReleased") function_name: Target function name (auto-generated if empty)

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: bind_widget_event(widget_name="/Game/MCP_Test/WBP_Example", widget_component_name="/Game/MCP_Test/WBP_Example", event_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameYes
widget_nameYes
function_nameNo
widget_component_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?

There are no annotations, so the description carries the full behavioral burden. It discloses that function_name is auto-generated if empty, which is useful, but it does not mention that this mutates the Blueprint graph, whether existing bindings are replaced, or whether the target function must already 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?

The description is reasonably concise and well-structured with a purpose line, argument definitions, KB pointer, and example. The example is somewhat long and contains questionable values, which reduces its instructional value.

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?

It covers all parameters and provides a KB reference, and an output schema exists, so return values need not be explained. Still, it lacks clarity about the expected address format, the difference from bind_widget_component_event, and the prerequisites for the target Blueprint and component.

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 description compensates by defining all four parameters and enumerating accepted event_name values. However, the example is inconsistent: widget_component_name is shown as a full widget path and event_name is shown as 'ExampleName' rather than one of the documented event 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?

States a clear verb and resource: binding a widget event (OnClicked, etc.) to a function. It is specific enough to understand the tool's intent, though it does not differentiate itself from the near-identical sibling bind_widget_component_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?

No usage guidance is provided. It does not say when to use this tool instead of bind_widget_component_event, umg_add_widget_binding, or other event-binding tools. The KB link and example show invocation but not decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_add_call_interface_functionA

Add a Blueprint Interface message-call node to a Blueprint graph.

Use this when a graph should call an interface function on a target object without coupling to a concrete class. The returned node exposes the interface message pins; connect target and exec pins with bp_connect_pins.

Args: blueprint_name: Blueprint asset name or path that receives the node. interface_name: Blueprint Interface asset name or path. function_name: Interface function to call. node_position: Optional [X, Y] graph position.

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: bp_add_call_interface_function(blueprint_name="/Game/MCP_Test/BP_Example", interface_name="/Game/MCP_Test/BPI_Interactable", function_name="Interact")

ParametersJSON Schema
NameRequiredDescriptionDefault
function_nameYes
node_positionNo
blueprint_nameYes
interface_nameYes

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 behavioral disclosure. It does disclose the core mutation ('Add a ... node'), that the returned node 'exposes the interface message pins', and the expected next step. However, it does not cover side effects on the graph, failure cases, or whether the operation is undoable or transactional.

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 one-line purpose, followed by compact usage guidance, an Args block, a KB pointer, and a complete example. Every sentence earns its place and no filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a small 4-parameter tool, the description includes enough to invoke it: purpose, each parameter, an example, and a pointer to connect pins with bp_connect_pins. With an output schema present, return-value documentation is not necessary; absence of error semantics and sibling differentiation leaves a small 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%, and the Args block supplies the missing meaning: each parameter gets a type/role, including 'Optional [X, Y] graph position' and asset path semantics. Formats and defaults beyond node_position are not specified, but this is acceptable given the schema titles are uninformative.

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?

Description opens with 'Add a Blueprint Interface message-call node to a Blueprint graph', a specific verb+resource statement, and adds the loose-coupling rationale. It does not explicitly distinguish why this tool differs from sibling add_call_interface_function_node, 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'Use this when a graph should call an interface function on a target object without coupling to a concrete class' and gives a concrete follow-up action to connect pins with bp_connect_pins. It does not list exclusions or compare with sibling node-creation tools, so it fits 'clear context, no exclusions' 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.

bp_add_for_loop_with_break_nodeA

Add a ForLoopWithBreak macro node to a Blueprint graph.

Pins include execute, First Index, Last Index, Loop Body, Index, Break, and Completed. Use this when generated loop logic needs an early exit path instead of a fixed ForLoop.

Args: blueprint_name: Blueprint asset name or path. graph_name: Graph to mutate. Default EventGraph. first_index: Starting index default value. last_index: Ending index default value. node_position: Optional [X, Y] graph position.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_add_for_loop_with_break_node(blueprint_name="/Game/MCP_Test/BP_Example", graph_name="EventGraph", first_index=0, last_index=9)

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
last_indexNo
first_indexNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description labels graph_name as 'Graph to mutate,' making it clear that this is a write/mutation operation. However, with no annotations available, it does not disclose post-insertion behavior such as whether the node is added unconnected, whether the graph needs recompilation, or what the tool returns, leaving some behavioral detail to inference.

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, then uses compact labeled sections for pins, usage, args, KB, and example. No sentence is filler; the pin list and example earn their place by making the node structure and invocation concrete.

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-required-param node-adding tool, the description is nearly self-sufficient: it defines all optional params, gives a decision rule, and provides a complete call example. Since an output schema exists, the lack of explicit return-value prose is not a significant gap; the only real omission is the later wiring workflow for the added node.

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 Args section explains every parameter: blueprint_name as asset name/path, graph_name default EventGraph, index defaults, and node_position as optional [X, Y]. The example reinforces parameter ordering and invocation, so the description substantially compensates for the schema's missing annotations.

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 opening sentence names the exact operation and resource: adding a ForLoopWithBreak macro node to a Blueprint graph. The pin list and the phrase 'instead of a fixed ForLoop' further disambiguate it from adjacent node-adding tools such as add_blueprint_for_loop_node.

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 explicitly says to use this tool 'when generated loop logic needs an early exit path' and contrasts it with 'a fixed ForLoop,' giving an agent a clear decision rule against the most likely sibling. This is direct, actionable guidance rather than an implied or absent usage note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_add_functionA

Add a new function graph to a Blueprint.

Creates a named function inside the Blueprint's function list. The function starts with a single 'entry' node. After creation use bp_add_node / bp_connect_pins / bp_set_pin_default to build the function body, then bp_compile to validate.

Args: blueprint_name: Blueprint asset name (e.g. 'BP_MyActor') function_name: Name for the new function (e.g. 'TakeDamage') return_type: Return pin type (e.g. 'float', 'bool', 'FVector'). Leave empty for void functions. params: JSON array of parameter objects, each with keys 'name' (str) and 'type' (str). E.g.: '[{"name":"DamageAmount","type":"float"}, {"name":"DamageCauser","type":"AActor"}]' category: Editor category for Blueprint palette grouping. is_pure: True = pure function (no exec pins). Default False. description: Tooltip text shown in Blueprint editor.

Returns: JSON StructuredResult. outputs.function_name — Confirmed function name outputs.graph_name — Graph name to use in subsequent bp_add_node calls outputs.next_steps — Suggested follow-up actions

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_add_function(blueprint_name="/Game/MCP_Test/BP_Example", function_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo
is_pureNo
categoryNo
descriptionNo
return_typeNo
function_nameYes
blueprint_nameYes

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?

With no annotations, the description carries the full burden. It discloses that the function starts with an entry node, that subsequent steps are needed, and returns specific fields. However, it does not mention prerequisites (e.g., blueprint must exist), name uniqueness constraints, or error handling, which are important behavioral aspects 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized: a one-line summary, a brief workflow, a bulleted argument list with examples, return values, KB reference, and an example call. It is detailed but not redundant, and the essential purpose is front-loaded.

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 description covers purpose, workflow, parameters, return values, and references a KB doc. It lacks explicit error conditions or preconditions, but for a tool with 7 parameters and a clear output schema, it is largely complete. The only notable gap is the lack of discussion on failure scenarios or required blueprint path format beyond an example.

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 coverage is 0%, so the description must explain each parameter. It does so thoroughly: blueprint_name and function_name get examples, return_type explains void usage, params includes a full JSON example, and is_pure, category, description are clarified. This adds substantial meaning beyond the schema's bare titles.

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-resource pair: 'Add a new function graph to a Blueprint.' It further clarifies that it creates a named function in the Blueprint's function list, which is distinct from adding nodes or variables. The 'entry' node detail distinguishes it from generic graph creation tools.

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 provides a clear workflow sequence ('After creation use bp_add_node / bp_connect_pins / bp_set_pin_default... then bp_compile'), implying this is the first step in building a function. However, it does not explicitly mention alternative tools (e.g., add_custom_function, bp_create_graph) or state when not to use this tool, leaving the choice somewhat implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_add_nodeA

Add a node to a Blueprint graph and return its stable node_id.

This is the primary node-creation tool. It wraps the existing add_blueprint_event_node, add_blueprint_function_node, add_print_string_node, add_blueprint_branch_node, etc. behind a unified interface, and returns a structured result with the node_id for use in bp_connect_pins and bp_inspect_node.

node_type values (case-insensitive): event: — Event node (BeginPlay, Tick, Hit, etc.) function:: — Function call node print_string — PrintString node branch — Branch (if/else) node sequence — Sequence node variable_get: — Variable GET node variable_set: — Variable SET node delay — Delay node cast: — DynamicCast node macro: — Macro node (DoOnce, FlipFlop, Gate, etc.) math: — Math node (+, -, *, /, %, ==, !=, <, >, &&, ||) custom_event: — Custom Event node

node_params (optional dict): For function nodes: {"target_class": "Actor", "function_name": "SetActorHiddenInGame"} For event nodes: {"event_name": "BeginPlay"} For cast nodes: {"target_class": "MyCharacter"}

Returns: JSON string with StructuredResult. outputs.node_id — stable GUID to use in bp_connect_pins outputs.node_name — short object name (K2Node_...) outputs.node_type — confirmed type string outputs.pos_x, outputs.pos_y — node canvas position

Args: blueprint_name: Blueprint asset name node_type: Node type string (see above) graph_name: Target graph. Default 'EventGraph' node_params: Optional dict of extra params for the node type position_x: Canvas X position position_y: Canvas Y position

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_add_node()

ParametersJSON Schema
NameRequiredDescriptionDefault
node_typeNo
event_nameNo
graph_nameNoEventGraph
node_classNo
position_xNo
position_yNo
node_paramsNo
target_classNo
custom_paramsNo
function_nameNo
variable_nameNo
blueprint_nameNo
blueprint_pathNo

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 provided, the description carries the full burden. It clearly discloses that the tool creates a node (a mutation), returns a structured JSON result with specific output fields (node_id, node_name, node_type, pos_x, pos_y), and lists the supported node types. It does not mention potential prerequisites (e.g., blueprint existence, graph validity) or error behavior, but given it's a creation tool, the core side effects are transparent. This is good but not 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 long but well-organized with clear sections: purpose, node_type values, node_params examples, return values, and args. It front-loads the core purpose and uses bullet-like formatting for readability. It could be trimmed (e.g., the example ends with 'bp_add_node()' without arguments), but overall it is structured efficiently for the complexity it covers.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 parameters, many node types), the description is incomplete. It omits documentation for several parameters, leaves the relationship between node_params and individual fields unresolved, and provides a truncated example. The return value description is solid, and the KB reference adds context, but the gaps in parameter coverage make it insufficient for an agent to correctly invoke the tool in all cases.

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% and the description only documents 6 of the 13 schema properties (blueprint_name, node_type, graph_name, node_params, position_x, position_y). It leaves event_name, node_class, target_class, custom_params, function_name, variable_name, and blueprint_path unexplained. Moreover, it introduces a node_params dict with examples that overlap with individual schema fields (e.g., target_class, function_name) but doesn't clarify the relationship between the dict and those separate fields, creating ambiguity. The description fails to compensate for the schema's lack of documentation.

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 opens with a precise statement: 'Add a node to a Blueprint graph and return its stable node_id.' It then enumerates the supported node types and states it is the primary node-creation tool wrapping multiple specialized add_blueprint_* functions, which clearly distinguishes it from siblings like add_blueprint_event_node and add_branch_node.

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 identifies itself as the primary node-creation tool and explicitly names the wrapped alternatives (add_blueprint_event_node, add_blueprint_function_node, etc.), implying it should be used for general node creation. It also notes the returned node_id is for bp_connect_pins and bp_inspect_node, providing downstream context. However, it doesn't explicitly state when to prefer this over the specialized tools beyond being the unified interface, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_add_variableB

Add a member variable to a Blueprint with full type support.

After adding a variable, use bp_add_node with 'variable_get:VarName' or 'variable_set:VarName' to place GET/SET nodes in the graph.

Supported variable_type values: Boolean, Integer, Integer64, Float, Double, String, Name, Text, Vector, Rotator, Transform, Object/ (e.g. 'Object//Script/Engine.StaticMeshComponent')

Args: blueprint_name: Blueprint asset name variable_name: New variable name (e.g. 'Health', 'bIsAlive') variable_type: Type string (see above) default_value: Optional initial value string is_exposed: Expose in Details panel (BlueprintVisible + EditAnywhere) category: Category for Details panel grouping. Default 'Default'

Returns: JSON string with StructuredResult. outputs.variable_name, variable_type, is_exposed, default_value

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_add_variable(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", variable_type="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoDefault
is_exposedNo
default_valueNo
variable_nameYes
variable_typeYes
blueprint_nameYes

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 carries full burden. It implies mutation ('Add') but does not disclose side effects like asset modification, compilation, failure modes, or prerequisites. Returns JSON but lacks error details, duplicate variable behavior, or invalid type handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (purpose, types, args, returns, example), but is verbose and contains a misleading example: variable_type='ExampleName' which is not a valid type. It could be trimmed and corrected.

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?

Provides return format, KB reference, and an example, but lacks error handling, prerequisites (blueprint existence), and duplicate variable behavior. For a mutation tool with no annotations, more behavioral context is needed.

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 has 0% coverage, so the description is the sole source. It describes each parameter: blueprint_name, variable_name, variable_type with a full list of supported types, default_value, is_exposed with explanation of BlueprintVisible+EditAnywhere, and category with default. This adds significant meaning beyond 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 action 'Add a member variable to a Blueprint with full type support' with clear verb and resource. Lists supported types, which helps scope the operation. However, it does not differentiate from sibling tools like add_blueprint_variable, so it is not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives such as add_blueprint_variable, add_array_variable, or add_map_variable. The description only gives follow-up steps for placing nodes, not selection criteria. No exclusions or alternative mentions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_auto_format_graphA

Auto-arrange nodes in a Blueprint graph into a clean left-to-right layout.

Performs a topological sort of node execution order, then repositions nodes so execution flows left-to-right with consistent spacing. Data/reference nodes are placed below their consuming exec nodes.

This uses exec_python_transactional so the layout is undoable.

Layout rules:

  • Execution chain nodes are spaced x_spacing apart horizontally

  • Pure/getter nodes are placed below exec chain at y_spacing offset

  • Events (no exec-in) are anchored at start_x, start_y

  • Multiple disconnected chains are stacked vertically

Args: blueprint_name: Blueprint asset name graph_name: Graph to format. Default 'EventGraph' x_spacing: Horizontal spacing between exec nodes (default 350) y_spacing: Vertical spacing for data nodes (default 150) start_x: X position of first node (default -400) start_y: Y starting position (default 0)

Returns: JSON string with StructuredResult. outputs.nodes_repositioned — count of nodes moved outputs.layout_summary — list of {node_id, title, new_x, new_y}

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_auto_format_graph(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
start_xNo
start_yNo
x_spacingNo
y_spacingNo
graph_nameNoEventGraph
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full disclosure burden and meets it: it reveals the topological sort, the placement rules for data/reference nodes, anchoring of events, stacking of disconnected chains, and the use of exec_python_transactional making the layout undoable. It also documents the return contract via StructuredResult outputs.

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 longer than average but front-loaded with a one-sentence summary, then organized sections for layout rules, args, returns, KB, and example. The layout rules block repeats some of the summary's content, but every part earns its place; a small amount of redundancy keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter mutating layout tool with no annotations, this is complete: it covers all parameters, behavior, side effects (undoable), return values, a knowledge-base pointer, and an example invocation. The presence of an output schema doesn't hurt; the description still explains what the fields mean.

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?

The input schema has 0% description coverage, but the Args section compensates fully: every parameter (blueprint_name, graph_name, x_spacing, y_spacing, start_x, start_y) has a plain-language meaning and defaults. This gives an agent more than the schema's bare titles/defaults.

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 ('Auto-arrange') and resource ('nodes in a Blueprint graph'), and the one-sentence summary clearly distinguishes it from sibling tools like move_blueprint_node or bp_validate_graph by focusing on automatic left-to-right layout. The additional details (topological sort, spacing) reinforce the specific purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended usage is implied by the description — 'Auto-arrange nodes in a Blueprint graph' — but no explicit when-to-use or alternative tools are named. It doesn't state that manual per-node positioning should be done with move_blueprint_node or that validation is handled elsewhere. Clear context but no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_compileA

Compile a Blueprint and return structured errors/warnings.

Always run this after finishing a set of graph edits. The result includes had_errors, had_warnings, and a structured list of compile messages with category, message, and node reference where available.

Returns: outputs.had_errors — bool outputs.had_warnings — bool outputs.compile_messages — list of {category, message, node_name} outputs.error_count — int outputs.warning_count — int outputs.saved — bool (only if save_after_compile=True)

If had_errors is True, inspect compile_messages for the specific failure reason and which node is involved.

Args: blueprint_name: Blueprint asset name save_after_compile: Also save the Blueprint after successful compile. Default True.

Returns: JSON string with StructuredResult.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_compile(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
save_after_compileNo

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 full burden. It discloses the side effect of saving after successful compile, the default behavior of save_after_compile, and what the agent should do when had_errors is True. It could add more about failure modes or permissions, but for a compile/diagnostic tool the disclosed behavior is solid.

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 timing, then uses structured bullets for outputs and args. It is slightly redundant in repeating 'Returns:' twice and re-listing fields, but the overall organization is easy to scan and every major section earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter compile tool with an output schema, the description is complete: it states the action, the timing, the exact output fields, the side-effect behavior, the KB reference, and a realistic example. An agent has everything needed to select and 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 description coverage is 0%, but the Args section explains both parameters meaningfully: blueprint_name as the asset name and save_after_compile as an optional save-after-successful-compile flag with its default. The example reinforces the expected blueprint_name format.

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 first sentence names a specific verb ('Compile'), a specific resource ('a Blueprint'), and a differentiated outcome ('return structured errors/warnings'). The detailed field list (had_errors, had_warnings, compile_messages) makes clear this is the diagnostic-returning compile tool rather than the generic compile_blueprint sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit timing: 'Always run this after finishing a set of graph edits.' This tells the agent when to invoke the tool, but it does not name alternatives or state when not to use it, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_connect_pinsA

Connect an output pin on one Blueprint node to an input pin on another.

Pin names MUST be the exact strings returned by bp_inspect_node. Common exec pin names: 'then' (output), 'execute' (input). Common data pin names: 'ReturnValue', 'Target', 'Value', etc.

If the connection fails due to type mismatch or schema rejection, the error field explains why so the agent can diagnose the issue without guessing.

Returns: outputs.source_node_id, source_pin, target_node_id, target_pin outputs.connection_verified — bool (True if UE5 confirmed success) errors[] — schema rejection reason if failed

Args: blueprint_name: Blueprint asset name source_node_id: GUID or name of the source node (has the output pin) source_pin: Output pin name on the source node target_node_id: GUID or name of the target node (has the input pin) target_pin: Input pin name on the target node graph_name: Graph name. Default 'EventGraph'

Returns: JSON string with StructuredResult.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_connect_pins(blueprint_name="/Game/MCP_Test/BP_Example", source_node_id="Example", source_pin="Exec", target_node_id="Example", target_pin="Exec")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
source_pinYes
target_pinYes
blueprint_nameYes
source_node_idYes
target_node_idYes

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?

No annotations are provided, so the description carries the full burden. It discloses error behavior ('error field explains why') and success verification ('connection_verified — bool'), which is good. However, it does not explicitly state that the operation mutates the blueprint graph or any side effects, reversibility, or permissions. The 'Connect' action implies mutation, but the description could be more explicit about the impact on the graph.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (intro, pin name note, error handling, returns, args, example, KB reference). It front-loads the core purpose and gets into details. However, 'Returns' is listed twice, which is a minor redundancy. Overall, it is efficient for the complexity of the 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?

The description includes an example, a KB link, return structure, and error handling, which covers most needs. It implies the prerequisite of calling bp_inspect_node but does not explicitly state 'call bp_inspect_node first.' For a 6-parameter tool, this is fairly complete; the only gap is making the prerequisite more explicit.

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% (no parameter descriptions in the schema), so the description must fully compensate. It does: the 'Args' section explains every parameter, including what each node ID refers to and the source/target pin roles. It also provides an example call. This fully clarifies the semantics beyond the bare names in 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?

The description clearly states the tool's function: 'Connect an output pin on one Blueprint node to an input pin on another.' It names the specific resource (Blueprint pins) and the action (connect), which is unambiguous. It also distinguishes itself from siblings like 'bp_disconnect_pin' and 'connect_blueprint_nodes' by its specificity and parameter set.

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 crucial usage guidance: pin names must come from bp_inspect_node, and it lists common exec and data pin names. It also explains error handling. However, it does not explicitly mention when to use this tool instead of similar siblings like 'connect_blueprint_nodes' or mention any exclusions. The guidance is strong for how to use, but lacks direct comparison to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_copy_componentA

Copy an SCS component from one Blueprint to another.

The native route creates a new component node with the same component class, copies editable template properties, preserves a matching parent component when present, and marks the destination Blueprint dirty using the plugin's deferred dirty-marking path.

Args: source_bp: Source Blueprint asset name or path. dest_bp: Destination Blueprint asset name or path. component_name: SCS component variable name to copy. new_component_name: Optional destination component name. Defaults to component_name.

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: bp_copy_component(source_bp="/Game/MCP_Test/BP_Source", dest_bp="/Game/MCP_Test/BP_Dest", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
dest_bpYes
source_bpYes
component_nameYes
new_component_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 burden. It discloses the mutation behavior (creates a new node, copies properties, marks dirty), the preservation of parent components, and the deferred dirty-marking path. It does not mention failure modes, permissions, or reversibility, but the core behavioral traits are well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a clear first sentence, a behavior paragraph, an Args list, a KB reference, and an example. It is slightly longer than strictly necessary but every section earns its place, and the key behavior is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, no annotations, and an output schema exists. The description covers the operation's behavior, parameters, and provides an example. It lacks explicit error/edge-case handling (e.g., what happens if the component doesn't exist), but for a copy operation with this parameter set, it 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. It explains source_bp, dest_bp, component_name, and new_component_name (including the default behavior). The example clarifies the expected path format. This is strong compensation for the schema's lack of descriptions.

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 ('Copy'), a specific resource ('an SCS component from one Blueprint to another'), and details the exact behavior: creates a new component node with the same class, copies editable template properties, preserves a matching parent component, and marks the destination dirty. This clearly distinguishes it from sibling tools like add_component_to_blueprint or set_component_property.

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 explains what the native route does and provides an example call, which implies when to use it (copying an existing SCS component between blueprints). It does not explicitly state when not to use it or name alternative tools, but the behavior details and example give clear context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_create_graphA

Add a new function or macro graph to an existing Blueprint.

Use this to create new function graphs that can be called from the EventGraph or other functions. After creation, use bp_add_node to populate it with nodes.

Note: 'EventGraph' already exists in every Blueprint — do not create it. Use bp_create_graph for custom function graphs (e.g. 'InitPlayer', 'CalculateDamage') or macro graphs.

Args: blueprint_name: Blueprint asset name (e.g. 'BP_MyActor') graph_name: Name for the new graph (e.g. 'InitPlayer') graph_type: 'function' (default) or 'macro'

Returns: JSON string with StructuredResult. outputs.graph_name — confirmed graph name created

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_create_graph(blueprint_name="/Game/MCP_Test/BP_Example", graph_name="EventGraph")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameYes
graph_typeNofunction
blueprint_nameYes

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 behavioral disclosure burden. It does disclose that this is a mutating operation ('Add', 'create'), requires an existing Blueprint, and returns a StructuredResult with outputs.graph_name. However, it does not explain what happens when a graph with the same name already exists, whether compilation/saving is required, or what failure modes look like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized with Args, Returns, KB, and Example sections, and the main purpose is front-loaded. But the second sentence largely repeats the first, and the example uses graph_name='EventGraph', which directly contradicts the note saying EventGraph must not be created. The structure is useful but contains redundant and misleading content.

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 graph-creation tool, the description covers purpose, parameters, return value, follow-up workflow, and a KB reference. However, it is not fully complete because the blueprint_name format is inconsistent and the only concrete example demonstrates a forbidden EventGraph creation. With no annotations and no schema descriptions, these gaps are not compensated elsewhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description manually documents all three parameters because the schema has 0% description coverage. It gives values and default for graph_type and examples for graph_name and blueprint_name. However, blueprint_name is ambiguous: the Args section says 'Blueprint asset name (e.g. BP_MyActor)' while the example uses a full asset path '/Game/MCP_Test/BP_Example', leaving the agent uncertain which format is actually required.

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 opens with a specific verb and resource: 'Add a new function or macro graph to an existing Blueprint.' It further clarifies scope by saying the graphs are custom function/macro graphs and warns that EventGraph already exists and should not be created. This clearly distinguishes it from node-adding tools like bp_add_node, which the description explicitly points to as the next step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear use case: 'Use this to create new function graphs that can be called from the EventGraph or other functions,' and it names the follow-up tool bp_add_node. It also includes an explicit when-not: 'EventGraph already exists in every Blueprint — do not create it.' However, it does not explicitly compare against sibling tools such as bp_add_function or add_custom_macro, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_disconnect_pinA

Break one or all connections on a specific pin.

Two modes: • Break ALL connections on a pin — supply only node_id + pin_name. • Break ONE specific connection — also supply target_node_id + target_pin_name to break just that link.

This is the inverse of bp_connect_pins. Use bp_inspect_node first to confirm the exact pin names and their current connections.

Args: blueprint_name: Blueprint asset name node_id: GUID of the node that owns the pin pin_name: Exact pin name (case-sensitive) graph_name: Graph containing the node. Default 'EventGraph'. target_node_id: (optional) GUID of the other node — if supplied, only the link to this node is broken. target_pin_name: (optional) Pin on the target node — required when target_node_id is supplied.

Returns: JSON StructuredResult. outputs.node_id — GUID of the node whose pin was modified outputs.pin_name — Pin that was disconnected outputs.mode — 'break_all' or 'break_one'

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_disconnect_pin(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example", pin_name="Exec")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
pin_nameYes
graph_nameNoEventGraph
blueprint_nameYes
target_node_idNo
target_pin_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description must carry the behavioral burden. It does: it reveals the destructive scope, the conditional target-link behavior, and the returned outputs. It stops short of detailing edge cases such as no-op on unconnected pins or whether breaking all connections is reversible, so a small transparency gap remains.

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 with a one-line purpose, then cleanly organized into modes, args, returns, KB reference, and example. Each section 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?

For a six-parameter mutation with no annotations and an output schema, this description is complete: it explains mode selection, parameter semantics, post-condition, return shape, a prerequisite inspection step, and gives a realistic example. Nothing required for correct invocation is missing.

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?

Input schema has 0% description coverage, and the description compensates fully: every one of the six parameters is explained in the Args block, including optionality, the default graph, the case-sensitive pin-name requirement, and the conditional dependency between target_node_id and target_pin_name.

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 opens with a specific verb and resource: 'Break one or all connections on a specific pin.' It clearly distinguishes the two modes and explicitly frames the tool as the inverse of bp_connect_pins, so an agent can separate it from the most similar sibling.

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?

It states exactly when to use each mode ('supply only node_id + pin_name' vs 'also supply target_node_id + target_pin_name') and instructs agents to run bp_inspect_node first to confirm pin names and connections. This is concrete routing guidance, not just a vague context hint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_find_disconnected_pinsA

Find all disconnected exec or input pins in a Blueprint graph.

Args: blueprint_path: Full asset path or plain name graph_name: Graph to inspect (default 'EventGraph') pin_type_filter: 'exec', 'input', or 'all'

Returns: StructuredResult with outputs: disconnected_pins[] — list of {node_guid, node_title, pin_name, pin_type, direction, severity} total_disconnected — int

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_find_disconnected_pins(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
blueprint_pathYes
pin_type_filterNoexec

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does document the return shape (disconnected_pins[] with fields and total_disconnected), but it never explicitly states that this is a read-only diagnostic or mentions prerequisites such as the Blueprint being loaded or whether it triggers a compile. The read-only nature is only inferred from 'Find all...'.

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 well-organized with Args, Returns, KB, and Example sections, all information-dense and free of filler. The core action is front-loaded in the opening sentence, and each section adds practical value such as path format, return fields, and an invocation example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and all three parameters plus return fields are documented, an agent has enough information to call the tool correctly. The main gap is the absence of explicit when-to-use/alternative guidance, but that is covered in the usage dimension; otherwise the definition is complete for a read-only diagnostic.

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%, but the Args block fully compensates: blueprint_path is documented as 'Full asset path or plain name', graph_name gets its default value, and pin_type_filter is explicitly enumerated as 'exec', 'input', or 'all'. Every parameter receives meaningful semantics beyond the bare titles in 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?

The description uses a specific verb ('Find') and resource ('disconnected exec or input pins in a Blueprint graph'), and even lists the exact output fields. It is clearly differentiated from sibling diagnostics like bp_find_unreachable_nodes or bp_find_orphaned_nodes because the target resource—pins—is 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?

The description gives no explicit guidance on when to use this tool versus the many related diagnostics in the sibling list, such as bp_find_unreachable_nodes, bp_find_orphaned_nodes, or bp_validate_graph. The intended usage is only implied by the name and example, with no stated exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_find_orphaned_nodesA

Find nodes in a Blueprint graph that have zero connections of any kind.

Orphaned nodes have no input or output links. They are safe to remove and are a common byproduct of incomplete graph edits.

Args: blueprint_path: Full asset path or plain name graph_name: Graph to inspect

Returns: StructuredResult with outputs: orphaned_nodes[] — {node_guid, node_title, reason, auto_repairable} total_orphaned — int

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_find_orphaned_nodes(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
blueprint_pathYes

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?

No annotations are provided, so the description carries the burden. It discloses that the tool returns a structured result with orphaned_nodes and total_orphaned, and indicates nodes are 'safe to remove,' which subtly implies an advisory purpose. However, it does not explicitly state whether the operation has side effects (e.g., loading assets, requiring compilation), nor does it mention error conditions or permission requirements. For a find operation, the read-only nature is implied by 'Find' but not explicitly confirmed.

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 structured with Args, Returns, KB, and Example sections, each serving a distinct purpose. It is not excessively long and front-loads the core definition. The inclusion of return structure duplicates what the output schema presumably provides, but this is 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?

Given the low complexity (two parameters, one required) and presence of an output schema, the description covers all essentials: parameter meaning, example invocation, and KB reference for deeper context. It lacks an explicit mention of required vs. optional parameters, but that is encoded in the schema. Overall, an agent can confidently invoke this 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?

Since schema coverage is 0%, the description must compensate, and it does by defining blueprint_path as 'Full asset path or plain name' and graph_name as 'Graph to inspect,' providing more meaning than the bare schema. It also gives a concrete example that demonstrates parameter usage. However, it omits details like the default of graph_name (EventGraph) or how 'plain name' is resolved, though defaults are present in 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?

The description uses the specific verb 'Find' with a precise resource ('nodes in a Blueprint graph that have zero connections of any kind') and further clarifies orphaned nodes as having no input or output links. This distinguishes it from sibling tools like bp_remove_orphaned_nodes (which removes rather than finds) and other find/audit tools. It unambiguously states the tool's function without any ambiguity.

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 gives implied usage context by noting orphaned nodes are 'a common byproduct of incomplete graph edits,' suggesting this tool is useful during cleanup workflows. However, it does not explicitly state when to use this tool versus alternatives (e.g., bp_find_disconnected_pins), nor does it mention any exclusion conditions. There is no direct comparison to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_find_unreachable_nodesA

Find nodes in a graph that have no incoming exec path from an event node.

A node is unreachable if it has exec pins but no incoming exec connection and is not itself an event/entry node.

Args: blueprint_path: Full asset path or plain name graph_name: Graph to inspect

Returns: StructuredResult with outputs: unreachable_nodes[] — {node_guid, node_title, reason} total_unreachable — int

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_find_unreachable_nodes(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
blueprint_pathYes

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 burden of behavioral disclosure. It transparently explains the unreachability rule and the returned outputs, and the verb 'Find' implies a read-only diagnostic operation. However, it never explicitly states that the tool does not modify the blueprint or what happens when no unreachable nodes are found.

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 well-organized and front-loaded with the core purpose, followed by a compact definition, parameter list, return format, KB reference, and example. No sentence 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?

The description covers the algorithm, parameters, output structure, and provides an example and KB pointer. It is nearly complete for a diagnostic tool, though it could explicitly state that the operation is read-only and how it differs from related validation 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 does explain blueprint_path as 'Full asset path or plain name' and graph_name as 'Graph to inspect'. It does not mention that graph_name defaults to EventGraph, but the schema provides that default.

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 names a specific verb and resource: find nodes in a graph with no incoming exec path from an event node. It also gives a precise definition of 'unreachable', which distinguishes this tool from siblings like bp_find_orphaned_nodes and bp_find_disconnected_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?

No explicit guidance on when to use this tool versus alternatives such as bp_find_orphaned_nodes or bp_find_disconnected_pins. The intended use is implied by the definition, but there are no when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_find_unused_variablesA

Find Blueprint variables declared but not referenced in any graph.

Important: Variables that are instance-editable or exposed on spawn without graph usage are reported as 'possibly_unused' (not definitely unused) to prevent false positives.

Args: blueprint_path: Full asset path or plain name safe_mode: If True, mark instance-editable vars as 'possibly_unused' rather than 'unused' (default True — safer)

Returns: StructuredResult with outputs: unused_variables[] — list of variable issue items all_variables[] — all declared variable names variables_checked — int

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_find_unused_variables(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
safe_modeNo
blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 burden. It explains the tool reports 'possibly_unused' vs 'unused' based on safe_mode, which adds important behavior not inferable from the schema. However, it doesn't mention whether the tool has side effects (e.g., modifying the blueprint) or performance impact, but likely it's read-only. The description covers the key behavioral nuance but could be more explicit about read-only nature.

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 fairly concise, with a clear opening line, an important note, and then args/returns sections. The KB link and example add some length but are useful. It's well-structured with headers, though the args/returns sections could be considered verbose. It's appropriately detailed for a tool with two parameters.

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?

There is an output schema, so return values are partially self-explanatory, but the description additionally lists the outputs (unused_variables[], all_variables[], variables_checked), which is helpful. It also provides an example call and a KB reference for deeper guidance. The only missing piece could be error handling or edge cases (e.g., what if no variables are found), but overall it's complete for an agent to call it correctly.

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?

The schema has zero description coverage, so the description must explain both parameters. It gives full arg docstrings: blueprint_path as full asset path or plain name, and safe_mode with its boolean meaning and default. This goes beyond the schema's field 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?

The description clearly states the tool finds Blueprint variables declared but not referenced in any graph. It specifies the action, resource, and the nuance between 'unused' and 'possibly_unused'. This distinguishes it from sibling tools like bp_find_disconnected_pins or bp_find_orphaned_nodes.

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 explicitly warns about instance-editable variables and provides a safe_mode parameter to control this behavior. It gives a clear rule: use safe_mode=True to avoid false positives. This is practical guidance for when to use the tool and how to adjust its behavior.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_get_compile_diagnosticsA

Get compiler-derived diagnostics for a Blueprint in structured format.

Compiles the Blueprint (or reads existing compile status) and returns a structured list of errors and warnings — NOT just a raw string.

Each diagnostic item contains: severity, category, code, message, asset_path, graph_name, node_guid, node_title, pin_name, suggested_fix, auto_repairable

Args: blueprint_path: Full asset path (e.g. '/Game/Blueprints/BP_HealthSystem') or plain name ('BP_HealthSystem') include_warnings: Include warning-level items (default True) include_info: Include info-level items (default False)

Returns: StructuredResult with outputs: compile_clean — bool errors[] — structured error items warnings[] — structured warning items compile_time_ms — int compiler_summary — human-readable one-line summary

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_get_compile_diagnostics(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
include_infoNo
blueprint_pathYes
include_warningsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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 does so well: it discloses that the tool may compile the Blueprint or reuse existing status, that results are structured rather than raw strings, and that each diagnostic item has a defined set of fields. It does not mention potential side effects of compilation, but the compile trigger is explicitly stated.

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, then uses compact structured sections for diagnostic fields, arguments, returns, KB reference, and a real example. There is no fluff or repetition; each section earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with an output schema, the description is complete: it documents input formats and defaults, explains the structured result shape, discloses the compile/read behavior, and provides an example call. The KB pointer adds further context without bloating the description.

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 fully does: blueprint_path is documented with both full-path and plain-name examples, include_warnings and include_info are explained with defaults. This adds meaning beyond the bare boolean/string schema definitions.

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 opens with a specific verb+resource: 'Get compiler-derived diagnostics for a Blueprint in structured format.' It also distinguishes itself from raw-string compilation tools by emphasizing 'NOT just a raw string,' and the sibling list includes mat_get_compile_diagnostics, so the 'for a Blueprint' scope helps an agent pick the correct variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on what the tool does and how it behaves: it compiles or reads existing compile status and returns structured diagnostics. It does not explicitly enumerate when-not-to-use it or name alternatives such as compile_blueprint, but the read-oriented intent and structured-result emphasis make selection fairly unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_get_graph_detailA

Return full paginated node detail for a single Blueprint graph.

This is the precision tool for large graphs — use instead of bp_get_graph_summary when a graph has many nodes or when include_pin_defaults=False is needed for token budget.

The TakeDamage function graph (9 nodes) fits in <1800 tokens with include_pin_defaults=False.

Output format (data dict): blueprint_path: str — Full package path or asset name graph_name: str — Graph queried graph_type: str — 'EventGraph' | 'Function' | 'Macro' total_nodes: int — Total nodes in graph page: int — 0-based page index returned total_pages: int nodes: list — [{guid, title, class, position:[x,y], pins:[...]}] token_estimate: int — Rough token budget for this page

Also returned in top-level meta: tool, duration_ms, token_estimate, page, total_pages.

Args: blueprint_path: Full path OR bare name (e.g. '/Game/Blueprints/BP_HealthSystem' or 'BP_HealthSystem'). graph_name: Graph to detail (e.g. 'TakeDamage', 'EventGraph'). page: 0-based page. Default 0. page_size: Nodes per page (1–200). Default 50. include_pin_defaults: Include pin default values. False saves ~30% tokens.

Returns: JSON string with StructuredResult.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_get_graph_detail(blueprint_path="/Game/MCP_Test/BP_Example", graph_name="EventGraph")

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
graph_nameYes
blueprint_pathYes
include_pin_defaultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations available, the description carries the full burden and succeeds. It discloses pagination semantics, the output data dictionary, top-level meta fields, token estimation, and the token savings of include_pin_defaults=False. This gives an agent an accurate model of what the tool does and what to expect back.

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 long but tightly organized: purpose, usage guidance, output shape, args, example, and KB pointer. It is front-loaded and every section earns its place, especially the token-budget example and pagination explanation, which are both actionable and non-obvious.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paginated detail tool with five parameters and no schema parameter documentation, the description covers everything needed to call it correctly. It includes required params, optional params with defaults, output structure, token behavior, and a live invocation example, leaving no material gap.

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%, but the description compensates fully. It explains blueprint_path accepts either a full package path or bare name, gives examples for graph_name, defines page as 0-based, limits page_size to 1–200, and quantifies include_pin_defaults behavior. Every parameter gains meaning beyond the raw 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?

The description opens with a specific verb-resource pair: 'Return full paginated node detail for a single Blueprint graph.' It also distinguishes itself from bp_get_graph_summary by calling itself the 'precision tool for large graphs,' so an agent can tell which sibling to select without additional inference.

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 explicitly states when to prefer this tool: 'use instead of bp_get_graph_summary when a graph has many nodes or when include_pin_defaults=False is needed for token budget.' It also gives a concrete token-budget example, so selection is not left to guesswork.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_get_graph_summaryA

Get a compact, AI-readable summary of a Blueprint graph.

V5 enhancements over V4.1:

  • Always returns top-level variables[], function_graphs[], event_graphs[]

  • Pagination when include_nodes=True (page / page_size)

  • include_nodes=False returns only metadata (variables, graphs) — very compact

Output format (outputs dict): blueprint: str — Blueprint asset name graph: str — Graph name queried node_count: int — Total nodes in this graph page: int — Current page (0-based) total_pages: int — Total pages variables: list — [{name, type}] — all Blueprint member variables function_graphs: list — [{name, type:'function'}] event_graphs: list — [{name, type:'event'}] nodes: list — Node entries (empty when include_nodes=False) summary_text: str — Compact one-liner per node

Args: blueprint_name: Blueprint asset name (e.g. 'BP_HealthSystem') graph_name: Graph to inspect. Default 'EventGraph'. include_pin_defaults: Include pin default values. Default True. include_positions: Include node canvas positions. Default True. include_nodes: Include node list. Set False for metadata-only. Default True. page: 0-based page index when include_nodes=True. Default 0. page_size: Nodes per page. Default 50.

Returns: JSON string with StructuredResult.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_get_graph_summary(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo
graph_nameNoEventGraph
include_nodesNo
blueprint_nameYes
include_positionsNo
include_pin_defaultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It explicitly discloses always-returned arrays, pagination behavior, the effect of include_nodes, the complete output dict, and the JSON string return format. This goes well beyond what the schema alone conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with clear sections for output format, args, returns, KB reference, and an example. It is dense but not bloated; the only minor trimming opportunity is the 'V5 enhancements over V4.1' framing, which adds historical context but is not essential for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters and no schema-level descriptions, this definition is exceptionally complete: it documents all parameters, their defaults, the output contract field-by-field, and an example call. An agent can confidently select and invoke this tool without needing additional context.

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?

The schema has 0% description coverage, but the tool description compensates fully by explaining every parameter in plain language, including defaults and special notes like 'Set False for metadata-only' and '0-based page index.' Each parameter's purpose is clear enough to invoke the tool correctly.

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 opens with a specific verb and resource: 'Get a compact, AI-readable summary of a Blueprint graph.' It clearly distinguishes this from sibling inspection tools like bp_get_graph_detail by emphasizing the compact, graph-level summary nature and listing the exact output sections.

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, such as when to set include_nodes=False for metadata-only results and how pagination works. However, it does not explicitly contrast this tool with alternatives like bp_get_graph_detail or get_blueprint_graphs, so the when-to-use guidance is implicit rather than comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_inspect_nodeA

Get full pin and connection details for a single Blueprint node.

Use this after bp_add_node to see the exact pin names before calling bp_connect_pins. Pin names returned here are the exact strings you must pass to bp_connect_pins.

Returns a StructuredResult with: outputs.node_id — the node's GUID outputs.node_name — short object name outputs.node_type — type string outputs.title — human-readable title outputs.pos_x, pos_y — canvas position outputs.pins — list of all pins: pin_name — exact name to use in bp_connect_pins direction — 'input' | 'output' pin_type — type string (exec, bool, float, object, etc.) default_value — current default value (empty if not set) linked_to — list of {node_id, pin_name} for connected pins

Args: blueprint_name: Blueprint asset name node_id: GUID or short object name from bp_add_node graph_name: Graph containing the node. Default 'EventGraph' include_hidden_pins: Include internal pins. Default False.

Returns: JSON string with StructuredResult.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_inspect_node(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
graph_nameNoEventGraph
blueprint_nameYes
include_hidden_pinsNo

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 present, so the description carries the burden; it compensates by fully enumerating the StructuredResult fields and pin subfields, including pin direction, type, default value, and linked connections. It does not explicitly declare that the operation is read-only, but the 'Get' verb and output-only framing make side effects unlikely.

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 and well-organized with Args, Returns, KB, and Example sections. It is fairly long, but each section adds value; the only minor redundancy is the 'Returns: JSON string with StructuredResult' line repeating the earlier structured result list.

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?

The description is complete for invocation: it explains the exact workflow, all parameters and defaults, the output structure, a KB reference, and a concrete example. An agent can correctly select and call this tool without needing additional context.

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?

Despite 0% schema coverage, the Args section gives every parameter meaningful guidance beyond the schema: blueprint_name includes an example asset path, node_id explains accepted GUID or short object name from bp_add_node, graph_name provides default context, and include_hidden_pins clarifies internal pins. This fully compensates for 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?

The description opens with a specific verb and resource: 'Get full pin and connection details for a single Blueprint node.' It clearly distinguishes this from sibling node-listing and graph-summary tools by emphasizing the pin-level detail and connection data.

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 explicitly places the tool in a workflow: after bp_add_node and before bp_connect_pins, and states that returned pin names are the exact strings to pass. It does not name alternatives or state when-not-to-use, so it falls just short of the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_remove_nodeA

Remove a node from a Blueprint graph by its node_id (GUID).

Breaks all pin connections on the node before removing it so the graph is left in a valid (though possibly uncompiled) state. The operation is NOT wrapped in a transaction on the Python side — the C++ bridge performs its own undo-mark.

Use bp_get_graph_summary first to confirm the node_id you want to delete, then run bp_compile after removal to verify the graph is clean.

Args: blueprint_name: Blueprint asset name (e.g. 'BP_MyActor') node_id: Stable GUID of the node to delete (from bp_get_graph_summary or bp_add_node outputs) graph_name: Graph containing the node. Default 'EventGraph'.

Returns: JSON StructuredResult. outputs.deleted_node_id — GUID of the removed node outputs.deleted_node_name — Object name of the removed node outputs.next_steps — Suggested follow-up actions

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_remove_node(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
graph_nameNoEventGraph
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the behavioral burden: it discloses side effects (breaks all pin connections), postcondition (valid though possibly uncompiled), transaction behavior (not wrapped on Python side, C++ bridge does undo-mark), and expected next steps. This is exceptional detail for a mutating 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 structured into behavior, workflow, args, returns, KB reference, and example sections. It is information-dense yet every sentence earns its place; no filler or redundant restating of the tool name.

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?

The description is self-sufficient for invoking this tool correctly: it specifies all inputs, output fields, side effects, and verification workflow. The KB pointer and example add extra context beyond what the schema or annotations provide.

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 coverage is 0%, and the description compensates by explaining all three parameters: blueprint_name format, node_id provenance as a stable GUID from bp_get_graph_summary or bp_add_node outputs, and graph_name defaulting to EventGraph. Examples further ground the expected values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the exact operation (remove a node from a Blueprint graph), the identifying input (node_id GUID), and the resulting state (pin connections broken). It is unambiguous about what the tool does, though it does not explicitly contrast with the similarly named sibling delete_blueprint_node.

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 a clear workflow: use bp_get_graph_summary first to confirm node_id, then run bp_compile after removal to verify the graph is clean. It lacks explicit exclusion criteria or alternative-tool comparison, but the contextual guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_remove_orphaned_nodesA

Remove confirmed orphaned nodes from a Blueprint graph.

Only nodes whose GUIDs are explicitly listed are removed. Event/entry nodes are always skipped even if listed.

Args: blueprint_path: Full asset path or plain name graph_name: Graph to modify node_guids: List of node GUIDs confirmed orphaned by bp_find_orphaned_nodes or bp_validate_graph

Returns: StructuredResult with outputs: removed_count — int removed_nodes[] — [{name, guid}] skipped_nodes[] — [{name, reason}] repairs_applied[] — list of repair records safe_to_continue — bool

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_remove_orphaned_nodes(blueprint_path="/Game/MCP_Test/BP_Example", graph_name="EventGraph", node_guids=[])

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameYes
node_guidsYes
blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and delivers substantial behavioral detail: only explicitly listed GUIDs are removed, event/entry nodes are always skipped, and the structured result includes removed_nodes, skipped_nodes with reasons, repairs_applied, and a safe_to_continue flag. These disclosures go well beyond a bare mutation statement.

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 well-organized with a core sentence, scoping caveat, Args, Returns, KB reference, and example. Every section adds necessary context without redundant filler, and key constraints are front-loaded before parameter details.

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 description covers the operation, preconditions, parameter semantics, return structure, and a concrete example, plus a KB pointer for deeper context. Minor gaps exist around failure modes and whether edits are persisted or compiled, but the detailed output schema and KB reference keep the tool sufficiently self-contained.

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?

The input schema has 0% description coverage, but the Args section compensates fully: blueprint_path is 'Full asset path or plain name', graph_name is 'Graph to modify', and node_guids is 'List of node GUIDs confirmed orphaned by bp_find_orphaned_nodes or bp_validate_graph.' Each parameter receives meaningful semantics beyond its title.

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 opens with a specific verb and resource: 'Remove confirmed orphaned nodes from a Blueprint graph.' It further narrows behavior with 'Only nodes whose GUIDs are explicitly listed are removed' and the event/entry-node skip rule, which clearly differentiates it from generic deletion tools like bp_remove_node.

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 tool's usage context is made clear through the node_guids parameter: GUIDs must be 'confirmed orphaned by bp_find_orphaned_nodes or bp_validate_graph.' This implies a find-then-remove workflow, but explicit when-not-to-use guidance or named alternatives (e.g., bp_remove_node for arbitrary deletion) are not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_repair_exec_chainA

Reconnect a broken exec chain between two named nodes in a Blueprint graph.

This is a deterministic repair: it only connects exec pins. It will NOT create new nodes or rearrange data connections.

Args: blueprint_path: Full asset path or plain name graph_name: Graph containing the nodes source_node_name: Partial/full name of the upstream node (exec-output side) destination_node_name: Partial/full name of the downstream node (exec-input side)

Returns: StructuredResult with outputs: connected — bool repair_detail — description of what was connected repairs_applied[] — list of repair records repairs_skipped[] — list of skipped records safe_to_continue — bool

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_repair_exec_chain(blueprint_path="/Game/MCP_Test/BP_Example", graph_name="EventGraph", source_node_name="ExampleName", destination_node_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameYes
blueprint_pathYes
source_node_nameYes
destination_node_nameYes

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?

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose that it is deterministic, only affects exec pins, and does not create nodes or rearrange data connections. It also describes the return structure. However, it does not mention potential failure modes, whether the operation is reversible, or if it triggers compilation or saving, which are important for a mutation tool. The disclosure is adequate but not comprehensive.

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 moderately long but well-structured: it leads with the core purpose, then lists arguments and returns, includes a KB reference and an example. The information is dense and each section earns its place. It could be slightly trimmed (e.g., the example is helpful but not essential), but it remains efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 4 parameters, all are fully described. The return structure is explained with field names and types. The example clarifies usage. It doesn't cover edge cases like handling of missing nodes or duplicate names, but for a repair tool this is reasonably complete. The KB reference offers further context. It is more complete than most tool descriptions, though not exhaustive.

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 schema has zero parameter descriptions (0% coverage), so the description must compensate. It does provide a clear explanation for each parameter: blueprint_path (full asset path or plain name), graph_name, source_node_name (exec-output side), destination_node_name (exec-input side). It also clarifies the direction of exec connections, which adds critical semantics beyond the schema's bare names. This is solid compensation for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('reconnect'), a specific resource ('broken exec chain between two named nodes'), and the scope ('only connects exec pins'). It explicitly distinguishes itself from generic connection tools by emphasizing deterministic repair and no node creation or data rearrangement, which sets it apart from siblings like connect_blueprint_nodes and bp_connect_pins.

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 implies when to use it: when there is a broken exec chain. It explicitly states what it will NOT do (create nodes, rearrange data connections), which guides against using it for those purposes. However, it does not explicitly mention alternative tools or conditions when not to use it, so it falls short of fully explicit guidance, but the intent is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_run_post_mutation_verifyA

Run the standard verification pack immediately after a Blueprint mutation.

This is the default evidence block that higher-order skills should include after any edit. Runs compile diagnostics + graph validation in one call.

Args: blueprint_path: Full asset path or plain name changed_graphs: List of graph names to validate (default: ['EventGraph'])

Returns: StructuredResult with outputs: compile_status — 'clean' | 'errors' | 'warnings_only' | 'unknown' error_count — int warning_count — int health_score — int 0-100 top_issues[] — first 5 most critical issues safe_to_continue — bool (no compile errors) auto_repair_recommended — bool (auto_repairable issues exist) full_issues[] — all issues

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_run_post_mutation_verify(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_pathYes
changed_graphsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is detailed despite no annotations. It enumerates the exact outputs (compile_status, error_count, health_score, etc.) and their meanings (e.g., 'safe_to_continue' defined as no compile errors). It also references a knowledge base entry, adding valuable context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose, parameter list, returns list, and example. It is somewhat verbose (e.g., listing all outputs in detail) but that detail is useful. Front-loads the core purpose.

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 complexity (returns rich structured data) and low schema coverage, the description covers what the tool does, when to use it, parameters, outputs, and even an example. Nothing critical is missing for an agent to call 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. It explains 'blueprint_path' as 'full asset path or plain name' and 'changed_graphs' as 'graph names to validate' with a default, adding meaning beyond raw string/array 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?

The description clearly states it runs a 'standard verification pack' after Blueprint mutations, combining compile diagnostics and graph validation. It is distinct from sibling tools like 'mat_get_compile_diagnostics' or 'bp_get_compile_diagnostics' by positioning itself as a post-mutation verification step.

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?

It explicitly says it is the 'default evidence block' that higher-order skills should include after edits, giving clear when-to-use context. It does not explicitly name alternatives, but the purpose is unambiguous enough; the absence of exclusions is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_set_pin_defaultA

Set the default/literal value for an unconnected input pin.

Use this to set constant values on node pins — for example, setting the 'Duration' on a Delay node, or the 'In String' on PrintString.

Only works on unconnected input pins. If the pin is already connected to another node, set_node_pin_value will be rejected by UE5 (the connected value overrides the default).

Value formats: bool: 'true' or 'false' int: '42' float: '3.14' string: 'Hello World' vector: '(X=1.0,Y=2.0,Z=3.0)' rotator: '(Pitch=0,Yaw=90,Roll=0)' enum: 'EnumValue' (exact enum string value)

Args: blueprint_name: Blueprint asset name node_id: GUID or short name of the node pin_name: Exact pin name (from bp_inspect_node output) default_value: Value string to set graph_name: Graph name. Default 'EventGraph'

Returns: JSON string with StructuredResult. outputs.node_id, pin_name, previous_value, new_value

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_set_pin_default(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example", pin_name="Exec", default_value=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
pin_nameYes
graph_nameNoEventGraph
default_valueYes
blueprint_nameYes

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. It discloses the key behavioral constraint (unconnected pins only, rejection if connected), provides value formats for various types, and states the return format (JSON string with StructuredResult and output fields). It does not cover all potential failure modes (e.g., invalid value syntax, non-input pins), but it covers the most important behaviors for successful use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized: purpose, usage, value formats, args, return, KB reference, and example. It is front-loaded with the core purpose. While a bit long, every section earns its place—value formats and the example are not filler. It could be tightened slightly, but the structure is logical and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, no annotations, and an output schema, the description is remarkably complete. It explains all parameters, gives value formats for all supported types, describes return structure, includes a knowledge-base reference and a working example. An agent has everything needed to call it correctly without referring to external docs.

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 fully. It does: each parameter is explicitly described in the Args block (blueprint_name, node_id, pin_name, default_value, graph_name), with hints like 'Exact pin name (from bp_inspect_node output)' and formats for default_value. This goes well beyond the bare schema titles, giving the agent everything needed to populate values correctly.

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 starts with a specific verb+resource: 'Set the default/literal value for an unconnected input pin.' It gives concrete examples (Duration on Delay, In String on PrintString) and explicitly contrasts with the sibling tool set_node_pin_value by stating the unconnected-pin restriction, making it unmistakable what this tool does and how it differs.

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 clearly states 'Only works on unconnected input pins' and explains why (if connected, set_node_pin_value will be rejected by UE5). It provides use cases with examples. However, it does not explicitly name an alternative tool for connected pins (set_node_pin_value is mentioned only in the rejection context), leaving the agent to infer that a different tool handles connected pins.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_validate_blueprintA

Top-level Blueprint validator: compile + graph structure + variable usage.

Aggregates compile diagnostics, graph-level validation, and variable usage into a single health score with an actionable recommendation block.

Args: blueprint_path: Full asset path or plain name include_graph_validation: Also run per-graph structural checks include_variable_check: Also check for unused variables

Returns: StructuredResult with outputs: blueprint_path — str compile_clean — bool health_score — int 0-100 graphs_checked — int error_count — int warning_count — int issues[] — all issues combined recommended_actions[] — actionable strings

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_validate_blueprint(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_pathYes
include_variable_checkNo
include_graph_validationNo

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 of behavioral disclosure. It mentions aggregating compile diagnostics and returning a health score but does not state whether invoking the validator triggers an actual compilation, whether it modifies any assets, or whether it is read-only. The name 'validate' suggests non-destructive behavior, but the description does not explicitly confirm this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with distinct sections for purpose, args, returns, KB reference, and an example. It is longer than minimal but each part adds value – the argument explanations, output specification, and example usage are all useful. Minor redundancy exists (e.g., 'compile diagnostics' repeated in the opening and returns), but overall it is efficient.

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?

The description is complete for the tool's complexity. It specifies all three parameters with semantics, details the full return structure (including types and meaning), provides a concrete usage example, and references a KB doc. Given an output schema exists (the description itself serves as the output schema), nothing critical is missing for an agent to use it correctly.

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?

The schema has zero description coverage across all three parameters. The description compensates fully with an 'Args' section explaining each parameter: blueprint_path (full asset path or plain name), include_graph_validation (run per-graph structural checks), and include_variable_check (check for unused variables). This adds meaningful semantic context beyond the bare type information in 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?

The description opens with a specific verb and resource: 'Top-level Blueprint validator: compile + graph structure + variable usage.' It clearly states it aggregates these three categories into a health score, which distinguishes it from narrower siblings like bp_validate_graph (graph only), bp_get_compile_diagnostics (compile only), and bp_find_unused_variables (variable check only).

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 labels itself 'Top-level' and implies a comprehensive check, but it does not explicitly state when to use this tool versus individual validators. There is no mention of alternatives or conditions like 'use this for a holistic health overview, or use bp_validate_graph for structural-only checks.' The usage is implied rather than explicit, leaving the agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bp_validate_graphA

Inspect one Blueprint graph for structural health issues.

Checks exec-chain continuity, orphaned nodes, disconnected required inputs, and unreachable nodes — independent of compile status.

Args: blueprint_path: Full asset path or plain name graph_name: Graph to inspect (default 'EventGraph')

Returns: StructuredResult with outputs: graph_health_score — int 0-100 issue_count — int issues[] — structured issue items nodes_checked — int

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: bp_validate_graph(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the safety burden and clearly labels the operation as 'Inspect' (read-only). It is transparent about what is checked, that results are independent of compile status, and what StructuredResult will contain; it does not claim any mutation or side effects. It does not discuss permissions or failure modes, but that is not critical for a validation 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 purpose, then checks, args, returns, KB pointer, and example in clearly labeled sections. Every section adds orienting information and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter inspection tool with an output schema, the description is largely complete: parameters, expected output fields, a KB reference, and a call example are all present. It would be more complete with explicit routing to sibling diagnostic tools, but an agent can safely select and invoke this tool from the information provided.

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 description partially compensates: blueprint_path is clarified as 'Full asset path or plain name' and an example is given. graph_name only restates the schema's title/default ('Graph to inspect (default 'EventGraph')'), so added meaning is thin for that parameter.

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 opening sentence names the specific operation ('Inspect one Blueprint graph'), the resource, and the focus ('structural health issues'), and the next sentence enumerates concrete checks. This distinguishes it from per-issue siblings like bp_find_orphaned_nodes and from compile-oriented tools via 'independent of compile status.'

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 use for structural-health validation of a single graph and notes it is useful even when the graph doesn't compile, but it does not say when to prefer this aggregate check over bp_validate_blueprint, bp_find_disconnected_pins, bp_find_unreachable_nodes, or bp_find_orphaned_nodes. There are no when-not-to-use or alternative routing statements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bridge_descriptor_summaryC

Summarize the TCP bridge command registry as native-alignment metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
registry_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/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. 'Summarize' implies a read-only operation, but the description never confirms side effects, permissions, failure modes, or what 'native-alignment metadata' means as an observable output. It adds almost no behavioral context beyond the verb itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words, which is appropriate for a simple tool. It is not overlong, though the compressed 'native-alignment metadata' phrase sacrifices clarity for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, which reduces the need to document return values. However, the remaining context—what the TCP bridge command registry is, what native-alignment metadata looks like, and how the optional parameter should be used—is missing, leaving the agent under-informed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, but it makes no mention of registry_path, its format, or its role in locating the registry. The parameter name and default are partially self-explanatory, but the description adds no additional meaning or usage detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('summarize') and resource ('TCP bridge command registry'), so it is not a tautology. However, 'native-alignment metadata' is domain jargon that does not clearly explain what form or content the summary takes, and it does not differentiate this from nearby registry/bridge tools like list_bridge_toolsets or server_protocol_contract.

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 related bridge-registry, descriptor, or summary tools. The optional registry_path parameter has no explanation of when it should be supplied or omitted, so an agent has little to select this tool on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bt_add_run_eqs_serviceA

Attach or update a built-in Run EQS service on a Behavior Tree node.

The service runs an EQS query while its parent branch is active and writes the selected result into a Blackboard key.

Args: behavior_tree_name: Existing Behavior Tree asset name query_path: EQS query path or unique asset name result_key: Blackboard key that receives the query result parent_node_index: 0-based non-root BT node index; -1 targets first non-root node run_mode: single_result, random_best_5_pct, random_best_25_pct, or all_matching update_bb_on_fail: Whether failed queries also update the Blackboard interval: Service tick interval in seconds update_existing: Update an existing Run EQS service on the parent if present

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: bt_add_run_eqs_service(behavior_tree_name="ExampleName", query_path="/Game/MCP_Test/Example", result_key="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
intervalNo
run_modeNosingle_result
query_pathYes
result_keyYes
update_existingNo
parent_node_indexNo
update_bb_on_failNo
behavior_tree_nameYes

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 provided, the description carries the full burden, and it does substantial work: it discloses the mutation ('Attach or update'), the runtime trigger (while the parent branch is active), and the side effect (writes the selected result into a Blackboard key), plus the update_existing semantics. It stops short of stating whether the BT asset is persisted/saved or whether a recompile is required afterward, so it is strong but not 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 longer than minimal, but every section earns its place given 0% schema coverage: the lead states purpose and behavior, the Args block supplies necessary parameter semantics, and the KB pointer plus example anchor the usage. The structure front-loads purpose before details and avoids 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 mutation tool with 8 parameters, no annotations, and only 3 required fields, the description covers the essential ground: what it does, when it takes effect, what every parameter means, and a concrete example. An output schema exists, so return-value documentation is not its job. The only gaps are explicit failure modes and whether the asset modification is saved or compiled.

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%, and the Args block fully compensates by documenting every one of the 8 parameters with meaningful semantics: valid run_mode values are enumerated, parent_node_index's -1 sentinel is explained, and both booleans (update_bb_on_fail, update_existing) get a plain-language meaning. This adds exactly the value the raw schema lacks.

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 opening sentence names a specific verb and resource — 'Attach or update a built-in Run EQS service on a Behavior Tree node' — which clearly separates it from siblings like create_bt_service (which creates service assets) and eqs_add_test (which edits EQS queries). The behavioral follow-up (runs while the parent branch is active, writes the result into a Blackboard key) further pins down exactly what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the right context — you use this when a BT branch should run an EQS query and store the result in a Blackboard key — but it never explicitly names alternatives or states when not to use it. An agent must infer the distinction from sibling names like create_bt_service, eqs_add_query, or add_bt_node rather than being told.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bt_add_selector_waitA

Quick-build: add a root Selector with a single Wait task.

This is a shortcut for the most basic "idle" behavior tree structure: Root → Selector → Wait(wait_time)

Use build_behavior_tree for full tree construction. This is a convenience tool for testing or placeholder BTs.

Args: behavior_tree_name: Name of the existing BT asset wait_time: Wait duration in seconds (default 1.0)

Returns: Dict with 'success', 'behavior_tree'

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: bt_add_selector_wait(behavior_tree_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
wait_timeNo
behavior_tree_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 burden. It discloses the structural behavior (creates Root → Selector → Wait), the default wait_time, and the return dict keys. However, it doesn't state whether the tool modifies an existing BT asset in place, whether it overwrites existing nodes, or what happens if the named BT doesn't exist. The description adds some behavioral context but leaves important mutation semantics unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-line summary, a structural diagram, a clear alternative pointer, an Args section, a Returns section, a KB reference, and an example. Every section earns its place and the most important information (what it does and when to use it) is front-loaded.

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 convenience tool with an output schema, the description covers the essential context: what it builds, when to use it, the parameters, and the return shape. The KB reference adds depth. It's slightly incomplete on edge-case behavior (e.g., what happens if the BT asset doesn't exist or already has nodes), but for a quick-build utility this is a minor 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. It does: it explains behavior_tree_name as 'Name of the existing BT asset' and wait_time as 'Wait duration in seconds (default 1.0)'. This adds meaning beyond the raw schema types. The only minor gap is not clarifying whether wait_time must be a float or can be an integer, but the schema's number type plus the description's 'seconds' is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'add a root Selector with a single Wait task' and explicitly frames it as a shortcut for the basic idle behavior tree structure. It distinguishes itself from build_behavior_tree by naming it as the full-construction alternative. The verb 'add' and resource 'root Selector with a single Wait task' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use build_behavior_tree for full tree construction' and positions this tool as 'a convenience tool for testing or placeholder BTs.' This gives clear when-to-use guidance and names the alternative. The KB reference and example further reinforce usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bt_get_infoA

Inspect a Behavior Tree graph using the native bridge alias.

This read-only wrapper is useful for discovery-before-mutation flows: call it before and after changing BT structure or Blackboard assignment so the IDE companion can prove what changed and keep AI state readable.

Args: behavior_tree_name: Name of the BT asset to inspect

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: bt_get_info(behavior_tree_name="BT_EnemyAI")

ParametersJSON Schema
NameRequiredDescriptionDefault
behavior_tree_nameYes

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?

No annotations are provided, so the description carries full burden. It explicitly states 'read-only wrapper', which is a critical behavioral trait. It also adds context about 'proving what changed and keeping AI state readable', which is useful. It does not describe return format or potential errors, but for a read-only inspection tool, this is adequate.

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 well-structured and concise: a one-line purpose, a usage context paragraph, a clear Args section, a KB reference, and an example. Every sentence earns its place, and the formatting is ideal for an agent to parse quickly.

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?

The tool has a simple single-parameter interface and an output schema (as indicated by 'has output schema: true'), so the description does not need to explain return values. The example usage and KB pointer provide sufficient context for correct invocation. Nothing essential is missing.

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?

The input schema provides no description for the parameter (schema coverage 0%), but the description explicitly explains 'behavior_tree_name: Name of the BT asset to inspect'. This fully compensates for the schema's lack of documentation and gives the agent precise meaning.

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 ('Inspect') and resource ('Behavior Tree graph'), making the tool's purpose clear. It does not explicitly differentiate from the sibling tool 'get_bt_graph_info', which might have overlapping functionality, but the action is unambiguous on its own.

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 a concrete usage context: 'discovery-before-mutation flows' and explains when to call it (before and after changing BT structure or Blackboard assignment). However, it does not mention any alternative tools or exclusions, so the guidance is clear but not comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_behavior_treeA

Build an entire Behavior Tree graph from a JSON description in one call.

This is the primary tool for creating BT logic. Pass the full tree as a nested JSON object and the C++ plugin will build every node, link pins, attach decorators/services, and save the asset.

Node type strings (case-insensitive): Composites : "Selector", "Sequence" Tasks : "Wait", "MoveTo" Custom : full class name e.g. "BTTask_MyCustomTask" or Blueprint path

Tree format: { "type": "Selector", "children": [ { "type": "Sequence", "decorators": [{"type": "BTDecorator_Blackboard", "properties": {...}}], "services": [{"type": "BTService_DefaultFocus"}], "children": [ {"type": "MoveTo", "properties": {"AcceptableRadius": "50.0"}}, {"type": "Wait", "properties": {"WaitTime": "2.0"}} ] } ] }

Args: behavior_tree_name: Name of an EXISTING BT asset (create_behavior_tree first) tree: Root node JSON object (see format above) clear_existing: If True (default), remove all non-root nodes first

Returns: Dict with 'success', 'behavior_tree', 'nodes_created', 'nodes' list

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: build_behavior_tree(behavior_tree_name="ExampleName", tree=[])

ParametersJSON Schema
NameRequiredDescriptionDefault
treeYes
clear_existingNo
behavior_tree_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden and handles it well. It states the C++ plugin will build every node, link pins, attach decorators/services, and save the asset, and it explicitly warns that clear_existing (default True) removes all non-root nodes first. It also documents the return dict. These are the key behavioral and side-effect details an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and then organized into node types, tree format, arguments, returns, KB reference, and example. It is longer than average, but the tool's open JSON input justifies the detail. The empty-array example conflicts with the documented object format, which slightly hurts the otherwise clean structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an open-object tree parameter, nested objects, zero parameter descriptions, and no annotations, the description provides a strong schema substitute: supported node types, decorator and service placement, a concrete tree example, the prerequisite create_behavior_tree step, and clear_existing semantics. It is nearly complete, though it does not fully specify the valid type/property conventions for decorators and services beyond the two examples.

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 define the parameters itself. It does: behavior_tree_name is an EXISTING asset, tree is a nested root-node JSON object with a detailed format, and clear_existing has a default and destructive semantics. The included node-type taxonomy and tree format example add significant meaning beyond the bare schema. The only blemish is the example showing tree=[] even though tree is documented as a root JSON object.

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 opens with a specific operation: 'Build an entire Behavior Tree graph from a JSON description in one call.' It identifies the resource (Behavior Tree graph) and the delivery mechanism (nested JSON object) precisely. Naming it 'the primary tool for creating BT logic' also separates it from sibling tools such as add_bt_node, create_blackboard, and repair_behavior_tree.

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 clearly states this is the primary whole-tree creation tool and explicitly tells the agent that behavior_tree_name must be an existing BT asset created by create_behavior_tree first. It also documents clear_existing's default destructive behavior. It does not explicitly enumerate when to prefer add_bt_node or repair_behavior_tree instead, so it stops just short of a full when-not/alternatives statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_complete_blueprint_graphA

Build an entire Blueprint graph from a definition dict.

This is a high-level helper that creates nodes and connects them based on a declarative definition.

Args: blueprint_name: Blueprint name graph_definition: Dict describing the graph: { "nodes": [ {"id": "begin_play", "type": "event", "event": "ReceiveBeginPlay", "pos": [0, 0]}, {"id": "print", "type": "function", "target": "UKismetSystemLibrary", "function": "PrintString", "params": {"InString": "Hello!"}, "pos": [300, 0]} ], "connections": [ {"from": "begin_play", "from_pin": "then", "to": "print", "to_pin": "execute"} ] }

Returns: Dict with results for each node and connection

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: build_complete_blueprint_graph(blueprint_name="/Game/MCP_Test/BP_Example", graph_definition="EventGraph")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
graph_definitionYes

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 the burden. It discloses that this is a high-level helper that creates nodes and connects them, and that it returns results for each node and connection. However, it doesn't disclose failure behavior, whether it replaces/overwrites an existing graph, whether it compiles the blueprint, or whether partial failures roll back. The KB reference adds context but doesn't cover these behavioral specifics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear summary, Args section, Returns section, KB reference, and Example. It's somewhat long but every section earns its place given the complex nested parameter. The example is valuable and the KB pointer is useful. Minor redundancy: 'Dict describing the graph' plus the example could be slightly 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?

Given the tool's complexity (nested graph_definition with nodes and connections), the description covers the core input structure, return value, and provides a working example. It lacks details on supported node types, pin naming conventions, and error handling, but the KB reference and example mitigate this. An output schema exists, so return values don't need full documentation.

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 blueprint_name is the Blueprint name and provides a detailed example of graph_definition with nodes and connections structure, including node types, target, function, params, and pin names. This is substantial added meaning beyond the bare schema. It doesn't document every possible node type, but the example is enough for common cases.

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: 'Build an entire Blueprint graph from a definition dict.' It explains this is a high-level helper that creates nodes and connects them based on a declarative definition. It distinguishes itself from lower-level node-by-node tools like add_blueprint_function_node or connect_blueprint_nodes, though it doesn't explicitly name a sibling alternative.

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: use this when you have a declarative graph definition dict and want to build the whole graph at once. It doesn't explicitly state when NOT to use it or name alternatives like bp_add_node or add_blueprint_function_node for incremental construction. The example shows a typical call but doesn't clarify trade-offs versus step-by-step tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_trace_interaction_blueprintA

Build a complete trace-based interaction system from Ch.14.

Creates the full example from the book:

  1. Adds a 'Trace Locations' macro (camera position + range ahead)

  2. Adds keyboard input event (default: E key)

  3. Adds LineTraceByChannel connected to the macro outputs

  4. Adds Break Hit Result to access the Hit Actor

  5. Compiles the Blueprint

Args: blueprint_name: Target Blueprint (usually FirstPersonCharacter) trace_range: How far the trace reaches in cm (default 300cm) trace_channel: Trace channel to use input_key: Key to trigger interaction (default "E")

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#overview Example: build_trace_interaction_blueprint()

ParametersJSON Schema
NameRequiredDescriptionDefault
input_keyNoE
trace_rangeNo
trace_channelNoVisibility
blueprint_nameNoBP_TraceInteractor

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/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 disclosure burden. It explicitly discloses the mutations: adds a macro, adds a keyboard event, adds LineTraceByChannel, adds Break Hit Result, and compiles the Blueprint. It does not state prerequisites like whether the target Blueprint must already exist, but its main side effects are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-line purpose, a numbered step list, and a compact Args block. It is scannable and front-loaded, though the KB pointer and example add only marginal value and could be trimmed.

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 multi-step mutation tool, it covers all five build steps and all four parameters, and provides a no-arg example, so an agent can invoke it confidently. Still, it lacks prerequisites and failure context—such as what happens if the named Blueprint does not exist—and the KB reference is terse and not clearly tied to the trace-interaction content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The Args block adds useful meaning beyond the schema, such as blueprint_name being the target Blueprint and trace_range measured in cm. However, with 0% schema description coverage, it only partially compensates: trace_channel just says 'trace channel to use' with no accepted values, and input_key lacks a key-name format.

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 action—building a complete trace-based interaction system—and enumerates five concrete blueprint construction steps. It is clearly distinct from single-node sibling tools like add_line_trace_by_channel_node, though it never explicitly names or contrasts 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 'Build a complete...' phrasing and the numbered steps imply this is intended for full Ch.14 setup rather than individual node operations. However, there is no explicit when-to-use guidance, alternative routing, or statement of what should be used instead when only a single node is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

call_bridge_commandB

Plan or execute one Ghost TCP bridge command through descriptor gates.

This is a clean-room ToolsetRegistry-style adapter over Ghost's own TCP bridge. It is dry-run by default; mutating commands require allow_mutation=true before execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo
dry_runNo
params_jsonNo
command_nameYes
allow_unknownNo
registry_pathNo
allow_mutationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the safety burden. It clearly discloses two key behavioral traits: it is dry-run by default, and mutating commands require allow_mutation=true. This meaningfully explains the execution model beyond the schema, though it does not detail side effects or failure modes.

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 only three sentences with no redundant filler. The core action is front-loaded and the safety qualifier (dry-run default, mutation flag) follows naturally. The 'clean-room ToolsetRegistry-style adapter' sentence adds minor context but is not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, no annotations, and no schema descriptions, the description is under-specified. It does not explain how to discover valid command names, what descriptor gates validate, how params should be structured, or what registry_path means. The output schema partially compensates, but the invocation path remains unclear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 7 parameters, the description needed to compensate but only touches on allow_mutation and dry_run. It does not explain command_name, params, params_json, allow_unknown, or registry_path, leaving most invocation details to inference.

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 action (plan or execute) and a specific resource (one Ghost TCP bridge command through descriptor gates). It is distinct enough from generic siblings like call_tool and from discovery tools like search_bridge_commands, though 'descriptor gates' is jargon that is not fully explained.

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 context about dry-run behavior and mutation requirements, but it never says when to use this tool versus alternatives like describe_bridge_toolset or search_bridge_commands. There are no explicit exclusions or routing conditions to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

call_custom_eventA

Add a call node for a Custom Event defined on another Blueprint.

Use this after creating or verifying the target custom event. The native route resolves the target Blueprint generated class and returns visible pins for follow-up wiring.

Args: blueprint_name: Blueprint that receives the call node. target_blueprint: Blueprint that owns the custom event. event_name: Custom event name to call. node_position: Optional [X, Y] graph position.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#events-and-dispatch Example: call_custom_event(blueprint_name="/Game/BP_Button", target_blueprint="/Game/BP_Door", event_name="OpenDoor")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameYes
node_positionNo
blueprint_nameYes
target_blueprintYes

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 behavioral burden. It explains what happens internally: 'resolves the target Blueprint generated class and returns visible pins for follow-up wiring.' It also implies mutation through 'Add a call node.' It could disclose more about failure modes or whether compilation/saving is required, but it provides meaningful behavior beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded: purpose, usage timing, behavior, arguments, knowledge-base pointer, and example. Every section earns its place, and there is no redundant filler or repetition of schema titles.

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 combination of purpose, argument documentation, example, and cross-reference is enough for a 4-parameter graph-editing tool, especially with an output schema present. The main missing piece is a direct comparison to related siblings like call_event_dispatcher or add_blueprint_event_node, but the core invocation context is well covered.

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 fully compensates. Every parameter is explained in the Args section: blueprint_name as receiver, target_blueprint as owner, event_name as the custom event, and node_position as optional [X, Y]. The example also clarifies expected path formats and optionality.

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: 'Add a call node for a Custom Event defined on another Blueprint.' This clearly distinguishes it from siblings like add_custom_event (which defines an event) and call_event_dispatcher (which calls a dispatcher, not a custom event). An agent can infer what the 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 explicit usage context: 'Use this after creating or verifying the target custom event.' This gives a clear prerequisite and ordering constraint. It does not explicitly mention alternatives or exclusions relative to similar node-adding tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

call_event_dispatcherA

Add a 'Call [EventDispatcher]' node to the Blueprint's Event Graph.

Args: blueprint_name: Blueprint containing the dispatcher dispatcher_name: Name of the event dispatcher node_position: Optional [X, Y] graph position

Returns: Dict with 'node_id'

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: call_event_dispatcher(blueprint_name="/Game/MCP_Test/BP_Example", dispatcher_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
dispatcher_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 behavioral disclosure burden. It states the action is additive ('Add a node') and describes the returned dict with 'node_id', which is useful. However, it does not mention prerequisites such as the dispatcher needing to exist, potential compile requirements, or any side effects beyond the node addition, leaving some behavioral uncertainty 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 well organized with a one-sentence summary, Args, Returns, KB link, and a concrete example. Every section serves a purpose and there is no filler. It is slightly more verbose than the minimum needed, but the structure makes the extra detail easy to scan.

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 straightforward node-addition tool, the description covers the core invocation details: the action, all parameters, the optional argument, the return value, and an example. It also points to a knowledge base section for deeper blueprint communication context. It could be more complete with explicit error conditions or prerequisite checks, but nothing essential for a basic call is missing.

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 fully compensates. It explains blueprint_name as 'Blueprint containing the dispatcher', dispatcher_name as 'Name of the event dispatcher', and node_position as 'Optional [X, Y] graph position'. The example call with a full '/Game/...' path adds practical format guidance that the schema does not provide.

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 starts with a specific verb and resource: 'Add a 'Call [EventDispatcher]' node to the Blueprint's Event Graph.' This clearly identifies the operation and distinguishes it from sibling tools like add_event_dispatcher, which creates the dispatcher, and bind_event_to_dispatcher/unbind_event_from_dispatcher, which manage event bindings. The one-line summary leaves no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the main use case clear: you use this when you need to place a Call EventDispatcher node in a Blueprint. However, it does not explicitly state when to prefer this over alternatives or when not to use it, aside from the implicit contrast with adding or binding dispatchers. The KB reference provides context but no direct 'use this instead of X' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

call_toolB

Call a tool discovered through list_toolsets or describe_toolset.

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsNo
tool_nameYes
toolset_nameNo

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 must itself disclose behavioral traits. It only says 'call', which implies execution but gives no detail about side effects, return values, error handling, or whether the operation is safe or potentially destructive. For a meta-tool that can invoke arbitrary tools, this is a significant omission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is efficient and front-loads the verb and resource. However, it is under-specified: conciseness is not the issue, but the structure omits crucial information about parameters and behavior. It earns a pass for being brief and orderly, but fails to use its brevity wisely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic tool-calling tool with no output schema and no annotations, the description is incomplete. It references the discovery tools that likely provide schemas, which is a good pointer, but it does not explain what arguments should look like, whether toolset_name is required for disambiguation, or what the response contains. An agent would need additional context from list_toolsets or describe_toolset to use this correctly, but the description alone is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention any of the three parameters (tool_name, toolset_name, arguments) at all. The agent is left to infer everything from parameter names and the generic phrase 'through list_toolsets or describe_toolset'. This is inadequate for a tool where arguments are free-form and toolset_name is optional but not explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('call') and a precise resource ('a tool discovered through list_toolsets or describe_toolset'). It clearly distinguishes this tool from other invoked tools in the sibling list (e.g., ghostrigger_call_mcp_tool, call_bridge_command) by tying it to the discovery mechanism. This is far from a tautology and leaves no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear context for use: when you have a tool that was discovered via list_toolsets or describe_toolset. While it does not explicitly mention alternatives or exclusions, the reference to those specific discovery tools is a strong signal that this is the intended calling path for tools obtained that way. The guidance is clear enough even without an explicit 'when not to use' clause.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chaos_configure_cloth_componentC

Configure cloth simulation on a SkeletalMeshComponent.

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#mcp-chaos-and-cloth-tools Example: chaos_configure_cloth_component(actor_name="BP_CloakedHero_0", update_in_editor=True, cloth_max_distance_scale=1.0, force_reset=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
suspendNo
actor_nameYes
force_resetNo
component_nameNo
force_teleportNo
recreate_actorsNo
update_in_editorNo
allow_cloth_actorsNo
cloth_blend_weightNo
wait_for_parallel_taskNo
cloth_max_distance_scaleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 disclosing behavior. It implies a mutating operation ('Configure') but does not mention side effects, whether existing cloth settings are replaced, editor-only behavior, performance implications, or failure conditions. The KB reference hints that more details exist but does not make them available to the agent directly.

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 core purpose, followed by a useful example and a KB pointer. The example earns its place by demonstrating the calling convention and common arguments. It is compact and not padded with filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 parameters, 0% schema coverage, no annotations), the description is clearly insufficient for correct invocation. The KB reference and example provide some orientation but do not document the majority of parameters, expected behavior, or prerequisites. An agent would likely need to consult external documentation to call this tool reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description lists only a few parameter names in an example (actor_name, update_in_editor, cloth_max_distance_scale, force_reset) without explaining their meaning or valid ranges. This is minimal compensation for a tool with 11 undocumented parameters. Most parameters remain semantically 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?

The description states a specific verb ('Configure') and a precise resource ('cloth simulation on a SkeletalMeshComponent'), which distinguishes it from sibling Chaos tools that target solvers or geometry collections. The example reinforces the intended use case. It is clear but not as sharply scoped as it could be about what specific cloth aspects are affected.

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 does not state when to use this tool versus alternatives, and there are no preconditions, exclusions, or 'use X instead' guidance. The KB link is a pointer to external reference material, not inline usage guidance. An agent would have to infer context from the tool name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chaos_configure_geometry_collectionC

Configure a Geometry Collection component for Chaos destruction.

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#mcp-chaos-and-cloth-tools Example: chaos_configure_geometry_collection(actor_name="GC_Barrier_A", simulate_physics=True, notify_breaks=True, damage_thresholds=[500000, 50000, 5000])

ParametersJSON Schema
NameRequiredDescriptionDefault
actor_nameYes
solver_actorNo
notify_breaksNo
gravity_enabledNo
simulate_physicsNo
damage_thresholdsNo
enable_clusteringNo
max_cluster_levelNo
notify_collisionsNo
cluster_group_indexNo
max_simulated_levelNo
enable_damage_from_collisionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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. 'Configure' implies mutation, but the description does not disclose side effects, whether an existing actor is required, whether runtime settings persist, or what happens when parameters are omitted. The example offers some behavioral hints but leaves major traits undisclosed.

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, and the example is actionable without bloating the text. A little more structure would help, but overall it is scannable and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite high parameter count and zero annotation coverage, the description provides only a minimal definition and partial example. It lacks parameter semantics, behavioral details, and usage context, making it insufficient for reliable tool selection and invocation, especially among many Chaos and configuration siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% with 12 parameters, so the description must compensate. The example clarifies simulate_physics, notify_breaks, and damage_thresholds, but the remaining nine parameters—such as solver_actor, enable_clustering, max_cluster_level, and notify_collisions—are left entirely without semantic explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures a Geometry Collection component for Chaos destruction, which is a specific verb and resource. It separates itself from similar Chaos tools like chaos_configure_solver_actor and chaos_configure_cloth_component, though it does not explicitly distinguish itself from the sibling inspect tool chaos_inspect_geometry_collection.

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 chaos_inspect_geometry_collection or other Chaos configuration tools. The example demonstrates a call, but no context is given for prerequisites, exclusions, or selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chaos_configure_solver_actorC

Configure a Chaos Solver actor's core simulation and event settings.

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#mcp-chaos-and-cloth-tools Example: chaos_configure_solver_actor(actor_name="ChaosSolver_Destruction", generate_break_data=True, optimize_runtime_memory=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNo
has_floorNo
actor_nameYes
floor_heightNo
generate_break_dataNo
position_iterationsNo
set_as_world_solverNo
velocity_iterationsNo
projection_iterationsNo
generate_trailing_dataNo
generate_collision_dataNo
optimize_runtime_memoryNo
per_advance_breaks_allowedNo
per_advance_breaks_reschedule_limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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. 'Configure' implies an in-place mutation, but the description does not state that it modifies an existing actor, whether settings can be safely reapplied, or what side effects the settings have on simulation. The KB reference may help, but the description itself does not disclose these traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-sentence purpose, a KB pointer, and a concrete call example. Every element earns its place and the example is genuinely illustrative. It is not overly verbose, though it could afford more substance without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex 14-parameter tool with no annotations and no parameter descriptions. The description does not cover prerequisites, setting semantics, or behavioral context, and the output schema is not described. The KB link is helpful but external; the description itself is not complete enough for an agent to confidently invoke this tool in varied scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there are 14 parameters, so the description must compensate. It only mentions three parameters in the example (actor_name, generate_break_data, optimize_runtime_memory) and provides no meaning for the remaining 11. The property titles are self-explanatory to a degree, but this is insufficient for a parameter-heavy 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 action and resource: 'Configure a Chaos Solver actor's core simulation and event settings.' The verb 'configure' clearly distinguishes it from sibling tools like chaos_create_solver_actor, and naming the 'Chaos Solver actor' separates it from chaos_configure_geometry_collection and chaos_configure_cloth_component. It doesn't explicitly call out alternatives, but the target resource is specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool vs. alternatives such as chaos_create_solver_actor or when the solver actor must already exist. The KB pointer and example imply usage context but do not state prerequisites or conditions. This leaves the agent to infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chaos_create_solver_actorC

Create a Chaos Solver actor in the active editor world.

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#mcp-chaos-and-cloth-tools Example: chaos_create_solver_actor(actor_name="ChaosSolver_Destruction", set_as_world_solver=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNo
rotationNo
overwriteNo
actor_nameNoChaosSolver_MCP
set_as_world_solverNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/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 burden of behavioral disclosure. It only states that it creates an actor, but does not mention side effects like overwriting existing solvers, whether the operation is destructive, or any permissions required. The presence of an 'overwrite' parameter suggests potential destructive behavior, but the description does not disclose it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loads the core purpose, but it includes a KB reference and an example that are not structured. It is not overly verbose, but it sacrifices completeness for brevity. The example is useful but does not substitute for parameter documentation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters with zero schema descriptions, a creation tool with potential side effects, and an output schema that is not described, the description is inadequate. It does not explain return values, error conditions, or the impact of the overwrite flag. The KB reference might help, but it is not embedded in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not compensate. It never explains location, rotation, overwrite, actor_name, or set_as_world_solver beyond a single example that only illustrates two of them. The agent has no way to know the meaning or format of these parameters from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Create a Chaos Solver actor in the active editor world.' This distinguishes it from sibling tools like chaos_configure_solver_actor (which configures an existing solver) and chaos_inspect_geometry_collection (inspection). However, it does not explicitly call out the distinction, 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 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 does not mention prerequisites, when a Chaos Solver actor is needed, or when one might prefer a configuration tool instead. The KB reference hints at context but is not actionable in the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chaos_inspect_geometry_collectionC

Inspect a Geometry Collection actor/component or asset.

KB: see knowledge_base/26_CHAOS_PHYSICS_AND_DESTRUCTION.md#mcp-chaos-and-cloth-tools Example: chaos_inspect_geometry_collection(actor_name="BP_DestructibleBarrier_0")

ParametersJSON Schema
NameRequiredDescriptionDefault
assetNo
actor_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden, but it only says 'Inspect' and gives an example; the read-only nature and absence of side effects are implied rather than explicit. It does not describe what gets returned or what happens when neither actor_name nor asset is supplied.

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 core operation before the KB pointer and example. There is no redundant prose, though the KB link includes a long path that could perhaps be trimmed.

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 details are not the main gap, but the description is still incomplete for a tool with two optional parameters and zero annotation coverage. It does not cover what distinguishes actor/component inspection from asset inspection or how the tool resolves when both are provided.

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 descriptions cover 0% of parameters, so the free-text description must explain them. It offers one actor_name example and implies asset refers to an asset, but it never defines the parameters, their relationship, precedence, or default behavior.

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 action ('Inspect') and a specific resource type ('Geometry Collection actor/component or asset'), making the tool's basic purpose clear. It does not explicitly differentiate from overlapping inspection tools like get_actor_properties or ue_describe_asset, but the Geometry Collection focus narrows it enough.

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 prefer this tool over alternatives such as chaos_configure_geometry_collection or inspect_static_mesh_sections, nor any explanation of when to use actor_name versus asset. The KB link and example show mechanical usage but do not state selection conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_get_cockpit_ledger_detailA

Return bounded IDE companion ledger detail for the MCP Chat cockpit.

The packet includes recent ledger events, per-event artifacts, artifact kinds, phase index data, latest status, and latest work order. It only reads local IDE companion ledger JSON files and never mutates Unreal, calls providers, or spends credits.

Args: session: Chat/companion session name to match when ledger_path is omitted. ledger_path: Optional ledger path from a cockpit overview or session list. event_index: Optional 1-based event index for single-event drilldown. limit: Maximum recent events to return when event_index is omitted. artifact_limit: Maximum artifacts to return per event.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d27-chat-cockpit-ledger-detail Example: chat_get_cockpit_ledger_detail(session="ide-companion")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sessionNo
event_indexNo
ledger_pathNo
artifact_limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the behavioral transparency burden, and it does so exceptionally: it explicitly states the tool 'only reads local IDE companion ledger JSON files and never mutates Unreal, calls providers, or spends credits.' This clearly sets safety expectations and bounds 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?

The description is well-structured and front-loaded: the one-sentence summary leads, followed by packet contents, safety guarantees, structured Args, KB reference, and an example. Every section earns its place, and the text avoids filler or redundancy.

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?

All five optional parameters are documented with usage conditions, the read-only/no-cost behavior is disclosed, the output schema exists so return values are covered, and a KB pointer and example are included. For a read-only ledger query tool with no annotations, this is complete and actionable.

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?

The input schema provides only titles and defaults (0% description coverage), so the description must fully compensate. It does: each parameter is explained with meaningful conditions, such as 'session: Chat/companion session name to match when ledger_path is omitted' and 'limit: Maximum recent events to return when event_index is omitted.' This adds semantic value 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?

The description opens with a specific verb and resource: 'Return bounded IDE companion ledger detail for the MCP Chat cockpit.' It further lists the packet contents (recent ledger events, artifacts, artifact kinds, phase index data, latest status, and latest work order), making the tool's function concrete and distinct from broader chat or cockpit 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?

The description does not explicitly state when to use this tool versus alternatives such as chat_get_cockpit_overview or chat_poll_messages. The session/ledger_path parameter notes hint at a workflow ('from a cockpit overview or session list'), but no explicit inclusion/exclusion guidance or alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_get_cockpit_overviewB

Return a display-ready MCP Chat cockpit overview packet.

The packet combines saved chat sessions, recent messages, matching IDE companion ledger evidence, queued editor actions, blockers, cards, and suggested next actions. It only reads local JSON files.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d22-chat-cockpit-overview Example: chat_get_cockpit_overview(session="ide-companion")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sessionNo
message_limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 behavioral disclosure burden. It clearly states 'It only reads local JSON files,' which establishes a read-only, non-mutating safety profile. It also names the local data sources aggregated in the packet. It omits error/rate-limit behavior, but the key safety-relevant behavior 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?

The description is front-loaded with the tool's purpose, followed by a compact list of packet contents, a read-only guarantee, a knowledge-base reference, and a concrete example. Each part earns its place, though the KB pointer is less universally useful than the rest.

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 covers return shape, and the description explains what data is aggregated and that the operation is local/read-only. It is missing parameter semantics and sibling-tool routing, but with three optional parameters and an example, an agent can still invoke the tool reasonably. The lack of guidance on when to use it versus chat_get_cockpit_ledger_detail is a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. Only the `session` parameter is illustrated via the example call, and `limit` and `message_limit` are never semantically explained. The parameter names and defaults give some hints, but the description does not adequately define what they control or how they interact.

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 and resource: 'Return a display-ready MCP Chat cockpit overview packet.' It also enumerates the packet's contents, making the tool's function clear. It does not explicitly differentiate from sibling tools like chat_get_cockpit_ledger_detail, though the 'overview' vs 'ledger detail' contrast is implied.

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 through 'cockpit overview' and 'display-ready packet,' and it notes the tool only reads local JSON files. However, it never explicitly states when to prefer this over chat_list_sessions, chat_get_session_resume_context, or chat_get_cockpit_ledger_detail, nor does it provide any when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_get_contextC

Return recent chat context and compact knowledge-base state.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: chat_get_context()

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionNo
message_limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 burden of behavioral disclosure. It only states that data is returned; it does not mention side effects, permissions, rate limits, session handling, or what 'compact knowledge-base state' entails. The description is superficial for a tool that likely performs a read operation with optional parameters.

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 extremely concise—two sentences and an example—and front-loads the core purpose. It avoids unnecessary verbosity and the example is helpful. However, it lacks structure for explaining parameters or usage, which is a trade-off, but for sheer conciseness it scores well.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two optional parameters and an output schema, the description is incomplete. It does not explain parameter semantics, when to use the tool, or how the response relates to other chat tools. An agent would need to consult external KB references to understand how to call it correctly, making it insufficient as a standalone description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the description does not explain the 'session' or 'message_limit' parameters at all. The only example invocation uses no arguments, leaving the agent with no information about what these parameters do or how to set them. This is a critical gap for a tool with non-required parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Return recent chat context and compact knowledge-base state.' This clearly conveys what the tool does and hints at a distinctive scope (including KB state). However, it does not explicitly differentiate from sibling tools like chat_get_session_resume_context, which may overlap in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as chat_poll_messages or chat_get_session_resume_context. The only hint is an example call, but no explicit context on when this tool is appropriate or how it differs from other chat-context tools. This leaves the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_get_session_resume_contextA

Load recent chat messages plus matching IDE companion ledger summary.

Use this before showing a resume card in MCP Chat. The matching ledger summary can be passed to skill_resume_ide_companion_session by path when the developer chooses to continue that session.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d21-chat-cockpit-session-picker Example: chat_get_session_resume_context(session="ide-companion")

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionNo
message_limitNo

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 behavioral burden. It communicates the retrieval nature of the tool and reveals the ledger summary is consumable 'by path', but it does not explicitly state read-only behavior, failure modes for missing sessions, or whether any state is modified.

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 one-line purpose is front-loaded, followed by tight usage guidance, a KB pointer, and a concrete example. Every sentence earns its place, and the structure makes the key information immediately visible.

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 low-complexity tool with optional parameters and an output schema, the description provides the selection trigger, result-routing guidance, and an invocation example. The main gap is the underdocumented parameter semantics, which prevents a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only indirectly illustrates session via the example session='ide-companion'. message_limit is never explained, and its relationship to 'recent chat messages' is left to inference, so the description does not fully compensate for the missing schema descriptions.

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 opens with a specific action and resource: 'Load recent chat messages plus matching IDE companion ledger summary.' This clearly distinguishes the tool from sibling chat tools by naming the unique ledger-summary component and its intended consumer.

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?

'Use this before showing a resume card in MCP Chat' gives a clear situational trigger, and the next sentence explains how the result should be passed to skill_resume_ide_companion_session. It stops short of a 5 because it does not enumerate alternatives or when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_list_sessionsA

List saved MCP Chat sessions and optional IDE companion ledgers.

Use this to drive an editor-side session picker before resuming a companion workflow. This tool only reads local JSON files; it does not mutate Unreal, call providers, or spend credits.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d21-chat-cockpit-session-picker Example: chat_list_sessions()

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
include_ide_companion_ledgersNo

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. It clearly discloses that the tool only reads local JSON files, does not mutate Unreal, does not call providers, and does not spend credits. This gives an agent a precise safety profile, though it does not discuss failure modes or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, followed by a short use case, a safety note, a KB pointer, and an example. Every sentence adds useful context; there is 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 read-only list tool with an output schema, the description is largely complete: it gives the use case, safety profile, data source, and a call example. The main gap is the lack of explicit explanation for `limit`, but that is inferable from the schema and 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 mentions 'optional IDE companion ledgers,' which maps to include_ide_companion_ledgers, but it never explains `limit` or how the parameters interact. The parameter names and defaults are self-explanatory but not semantically elaborated.

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: 'List saved MCP Chat sessions and optional IDE companion ledgers.' It also gives an immediate use case ('drive an editor-side session picker before resuming a companion workflow') that helps distinguish it from sibling chat 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?

It explicitly says when to use the tool: to drive an editor-side session picker before resuming a companion workflow. It does not name specific alternatives or exclusions, but the clear context and read-only safety note are sufficient guidance for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_poll_messagesA

Poll for new human messages sent from the UE editor chat widget.

Args: since: Optional ISO-8601 timestamp. If omitted, this tool uses the previous poll cursor for this server process, or returns all human messages on first use. limit: Maximum number of messages to return. session: Optional named chat session. Empty uses the legacy default history.

Returns: Structured JSON containing messages and next_since for the next poll.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: chat_poll_messages()

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
sessionNo

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 provided, the description carries the full burden. It discloses the return format (structured JSON with messages and next_since) and the cursor-based statefulness of the polling behavior. However, it does not disclose whether this is a safe read operation, permission requirements, or any rate-limit/polling-frequency expectations. The read-only nature is implied by 'poll for messages' but not explicitly stated.

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?

Well-structured with a front-loaded purpose sentence, an Args section, Returns section, and a usage example. The KB reference adds navigational value. Slightly verbose but every section earns its place; the example is concise and illustrative.

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 polling tool with an output schema, this is fairly complete. It explains the incremental cursor pattern, session scoping, limit, and points to a KB doc. The only gaps are lack of behavioral disclosure around permissions and polling etiquette, which are minor for a read-only message poller.

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 fully compensates. It adds real meaning to all three params: 'since' is explained as an ISO-8601 timestamp with cursor fallback behavior, 'limit' as max messages, and 'session' as named session vs legacy default. This goes well beyond what the bare schema (with only defaults) provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Poll) and resource (new human messages from the UE editor chat widget), clearly distinguishing it from chat siblings like chat_send_response, chat_get_context, and chat_list_sessions. The resource and source are 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?

The description explains the polling pattern well: the 'since' cursor behavior and the previous-cursor fallback are described, along with session and limit parameters. However, it does not explicitly state when NOT to use it or name alternatives (e.g., chat_get_context for retrieving conversation history). The usage context is implied but not stated as exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_send_responseB

Send an agent response back to the UE editor chat widget.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: chat_send_response(message="I created the requested Blueprint.")

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
sessionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 only states the action and gives an example; it does not mention prerequisites, whether an active session is required, how failures are reported, or any side effects beyond sending the message.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core action, and every part earns its place: the action sentence, the KB pointer, and the concrete invocation example. There is no fluff or redundant restating of the tool name.

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 has an output schema, so return-value documentation is not needed. However, the missing explanations for 'context' and 'session', plus the lack of behavioral disclosure, leave the definition only minimally adequate for an agent to invoke it with full confidence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides one example showing the 'message' parameter, but does not explain the meaning or purpose of the 'context' and 'session' parameters, leaving the agent to infer their roles from names and defaults alone.

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 ('Send') and resource ('agent response back to the UE editor chat widget'), making the tool's function immediately clear. It naturally distinguishes itself from sibling chat tools like chat_poll_messages and chat_get_context, which serve different roles in the chat workflow.

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 purpose implies when to use it: after the agent has produced a response intended for the UE editor chat. However, there is no explicit guidance on when not to use it or how it differs from related chat lifecycle tools such as chat_poll_messages or chat_get_session_resume_context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_blueprint_generated_classA

Verify that a Blueprint asset has a valid generated class and report parent/native class data.

KB: see knowledge_base/15_INPUT_SYSTEM_AND_UMG.md#overview Example: check_blueprint_generated_class(blueprint_path_or_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_path_or_nameYes

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?

There are no annotations, so description must carry the full burden. The description states it verifies and reports data, but does not disclose potential side effects (though likely read-only), performance implications, or dependency on compilation state. However, it does hint at reading and verification, but no explicit statement of non-destructiveness or read-only 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 two sentences and an example. It is front-loaded with the core purpose, the example is immediately helpful, and there is no fluff. The KB reference is concise and does not detract.

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 with one parameter and has an output schema (which is not shown but could describe return values). The description is adequate for a basic verification tool, but lacks details on what constitutes a 'valid' generated class or how to handle failures. Given its simplicity, it is borderline complete, but could be improved with note on error conditions.

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 description provides a concrete example ('/Game/MCP_Test/BP_Example') that illustrates the expected format for the single parameter, which is beyond the schema's bare 'string' type. The description also implies the parameter is a path or name, adding semantic clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Verify that a Blueprint asset has a valid generated class') and its resource (a Blueprint asset), and mentions what it reports ('parent/native class data'). It is specific with verb and resource, and it is distinct from sibling tools like 'compile_blueprint' or 'get_blueprint_nodes'.

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 provides a basic example of usage with a parameter, but does not explicitly state when this tool should be used over alternatives. It implies it's for verification and inspection, but lacks explicit guidance on when to prefer it over similar inspection tools like 'get_blueprint_nodes' or 'inspect_static_mesh_sections'. Also, no exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chooser_add_asset_rowA

Add a hard asset result row to a Chooser table.

Args: chooser: Chooser table asset path. asset: Asset path to use as the row result. enabled: Whether the row is enabled. save: Save the Chooser table after mutation.

Returns: Structured JSON with the added asset, row index, and updated row list.

KB: see knowledge_base/24_MOTION_MATCHING_AND_CHOOSERS.md#mcp-motion-matching-and-chooser-tools Example: chooser_add_asset_row(chooser="/Game/Animation/Choosers/CH_Locomotion", asset="/Game/Characters/Hero/Animations/A_Run")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
assetYes
chooserYes
enabledNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the operation is a mutation ('Save the Chooser table after mutation') and describes the return value ('Structured JSON with the added asset, row index, and updated row list'). It does not detail failure modes or prerequisites, but the provided context is substantial for a simple add 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 well-structured with a clear purpose sentence, a concise args list, returns, KB reference, and a concrete example. Each section provides useful information without unnecessary verbosity, making it easy for an agent to parse and act on.

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 description covers the essential aspects for a tool of moderate complexity: all parameters are explained, the return value is specified, and a KB reference provides additional details. It lacks explicit preconditions (e.g., the chooser table must exist) and does not define what a 'hard asset' is, but the example and KB link mitigate these gaps. Overall, it is sufficiently complete for an agent to invoke correctly.

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?

The input schema provides no descriptions for parameters (0% coverage), but the description fully documents all four parameters ('chooser', 'asset', 'enabled', 'save') with meaningful explanations. This goes well beyond the schema and leaves no ambiguity about each argument's purpose.

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 ('Add') and resource ('hard asset result row to a Chooser table'), which clearly distinguishes the operation from sibling tools like chooser_create_table and chooser_inspect_table. It also includes an example call that reinforces the intended usage.

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 when to use the tool ('Add a hard asset result row to a Chooser table') but does not explicitly mention alternatives or exclusions, such as 'use chooser_create_table to create a table first' or when not to use this tool. The context is clear enough for a straightforward add operation, but there is no explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chooser_create_tableA

Create a Chooser table configured for object asset results.

Args: name: Asset name to create. path: Content Browser folder under /Game. result_class: Output object class path or class name. overwrite: Delete an existing Chooser table before creation. save: Save the asset package after creation.

Returns: Structured JSON with Chooser path, result class, rows, and columns.

KB: see knowledge_base/24_MOTION_MATCHING_AND_CHOOSERS.md#mcp-motion-matching-and-chooser-tools Example: chooser_create_table(name="CH_Locomotion", result_class="/Script/Engine.AnimationAsset")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Animation/Choosers
saveNo
overwriteNo
result_classNo/Script/CoreUObject.Object

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 of behavioral disclosure. It explicitly describes the 'overwrite' parameter ('Delete an existing Chooser table before creation') and 'save' ('Save the asset package after creation'), which are key behavioral traits. It also states the return format ('Structured JSON...'). However, it does not mention potential side effects like failure when the table exists and overwrite is false, or any permission requirements. This is a notable gap but not severe.

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 well-structured with an Args list, Returns, KB reference, and an example. It is concise, front-loaded with the purpose, and every section earns its place. The example clarifies usage without unnecessary verbosity.

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 creation tool with 5 parameters, the description covers the purpose, all parameters, return format, and provides an example. It also points to a knowledge base for deeper context. It does not mention error handling or what happens if the table already exists with overwrite=false, but that is a minor omission given the other coverage.

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 does so effectively by explaining every parameter: name ('Asset name to create'), path ('Content Browser folder under /Game'), result_class ('Output object class path or class name'), overwrite ('Delete an existing Chooser table before creation'), and save ('Save the asset package after creation'). This adds meaning beyond the schema's type/default and is essential for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a Chooser table configured for object asset results.' It uses a specific verb ('Create') and resource ('Chooser table'), and the 'configured for object asset results' distinguishes it from siblings like chooser_add_asset_row (which adds rows) and chooser_inspect_table (which inspects). The example reinforces the intent.

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 does not explicitly mention when to use this tool versus alternatives. It gives an example but no direct comparison to siblings such as chooser_add_asset_row or chooser_inspect_table. However, the purpose is clear enough that an agent could infer it is for creating a new table, but explicit guidance on when not to use it is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chooser_inspect_tableA

Inspect a Chooser table's rows, columns, and result settings.

Args: chooser: Chooser table asset path.

Returns: Structured JSON with result type, output class, rows, and columns.

KB: see knowledge_base/24_MOTION_MATCHING_AND_CHOOSERS.md#mcp-motion-matching-and-chooser-tools Example: chooser_inspect_table(chooser="/Game/Animation/Choosers/CH_Locomotion")

ParametersJSON Schema
NameRequiredDescriptionDefault
chooserYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 of behavioral disclosure. It states the return structure (result type, output class, rows, columns) but does not explicitly declare whether the operation is read-only or if any side effects occur. The name 'inspect' implies a non-mutating operation, and the description adds the return details, but it does not cover prerequisites 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 concise and well-structured, with clear sections for args, returns, KB reference, and example. The purpose is front-loaded in the first sentence, and every line adds value without 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 simple inspection tool with one parameter and an output schema, the description covers the essential aspects: what it does, what the parameter is, what it returns, and an example. It also references a knowledge base for deeper context. It lacks explicit error handling details, but these are not critical for a read-only inspect operation.

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 a single parameter 'chooser' with no description, but the description provides meaning by stating it is a 'Chooser table asset path' and includes an example path in the example call. This compensates for the 0% schema description coverage and clarifies the expected format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Inspect' and the resource 'Chooser table' along with what is inspected: rows, columns, and result settings. This distinguishes it from sibling tools like chooser_create_table (create) and chooser_add_asset_row (add), which are clearly different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need to inspect a Chooser table, but it does not explicitly mention when to use this tool versus alternatives like chooser_create_table or chooser_add_asset_row. It lacks explicit exclusions or alternative routing, but the purpose is clear enough that an agent can infer the appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compile_blueprintC

Compile a Blueprint to apply all changes.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: compile_blueprint(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_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. 'Apply all changes' hints at a mutating action, but the description does not clarify whether the asset is saved, whether compilation can leave the blueprint in an error state, or what side effects compiling may have.

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, front-loaded, and contains no filler. The KB pointer and example each add some value, though the overall terseness leaves behavioral and selection gaps covered by other dimensions.

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 with one required parameter and an output schema, so the description does not need to explain return values. However, it lacks alternative routing, behavioral side effects, and explicit parameter semantics, making it minimally viable rather than complete.

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. The example gives a concrete asset path format for blueprint_name, which is useful, but it does not explicitly explain that a full Unreal asset path is expected or how to resolve a short asset name.

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: compile a Blueprint to apply changes. It is not a tautology, and the example clarifies the input format, but it does not distinguish itself from sibling tools like compile_blueprint_and_report, bp_compile, or save_blueprint.

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. The KB pointer and example help with mechanics, but the description does not explain when compile is appropriate, when to prefer compile_blueprint_and_report, or when a save is also required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compile_blueprint_and_reportA

Compile a Blueprint and return graph-aware diagnostic evidence.

This B.2 report tool wraps the compile in Unreal editor progress and a transaction, then returns compile status, structured issues, graph summaries, and a safe_to_continue flag for higher-order workflows.

Args: blueprint_path: Full asset path or plain Blueprint asset name. include_graphs: Include graph node/orphan summaries when True. graph_names: Optional graph-name allowlist; empty checks all graphs.

Returns: StructuredResult JSON with outputs: compile_status, compile_clean, had_errors, had_warnings, errors[], warnings[], graph_summaries[], graph_count, safe_to_continue.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#b2-graph-aware-diagnostics-diagnosticstoolspy Example: compile_blueprint_and_report(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_namesNo
blueprint_pathYes
include_graphsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 burden. It discloses that the tool wraps the compile in editor progress and a transaction, returns a safe_to_continue flag, and lists the exact output fields. It does not mention side effects like whether the transaction is committed or rolled back, or whether compilation modifies the asset, but the transaction mention and structured result provide meaningful behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a one-sentence summary, a short behavioral note, an Args section, a Returns section, a KB reference, and an example. It is slightly long but every section earns its place; the example and KB pointer are useful. The front-loaded summary is clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are covered. The description adds the safe_to_continue flag semantics, the transaction/progress wrapping, and a KB reference. It is complete enough for an agent to call it correctly, though it could clarify whether the transaction is committed and whether the compile is saved to disk.

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 blueprint_path accepts a full asset path or plain asset name, include_graphs controls graph node/orphan summaries, and graph_names is an optional allowlist with empty meaning all graphs. This adds real meaning beyond the bare schema titles, though it could be more explicit about the default behavior of graph_names when null.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compiles a Blueprint and returns graph-aware diagnostic evidence, with a specific verb ('Compile'), resource ('Blueprint'), and output ('diagnostic evidence'). It distinguishes itself from the sibling compile_blueprint by noting it wraps the compile in editor progress and a transaction and returns structured diagnostics, making it a higher-order report tool.

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 explains the tool's role in higher-order workflows and mentions it wraps the compile in editor progress and a transaction, implying it is the diagnostic/report variant rather than a bare compile. It does not explicitly name alternatives like compile_blueprint or bp_compile, but the context signals and the 'B.2 report tool' framing give clear usage context. No explicit when-not-to-use guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compile_material_and_reportA

Compile a Material and return expression-aware diagnostic evidence.

The tool invokes Unreal's material recompile path under a progress scope and returns compile status, issue arrays, expression count, and optional expression summaries for graph-aware material verification.

Args: material_path: Full Material asset path. include_expressions: Include expression class/name/position summaries.

Returns: StructuredResult JSON with outputs: compile_status, compile_clean, had_errors, errors[], warnings[], expression_count, expression_summaries[], safe_to_continue.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#b2-graph-aware-diagnostics-diagnosticstoolspy Example: compile_material_and_report(material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
material_pathYes
include_expressionsNo

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 must carry the full behavioral disclosure. It does so well by stating that it invokes Unreal's material recompile path under a progress scope and detailing the diagnostic outputs, including an explicit 'safe_to_continue' field. While it does not mention potential side effects such as asset modification or time spent, the provided detail is substantial enough for an agent to anticipate 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 well-structured: a one-sentence purpose, a concise behavioral summary, formatted Args/Returns sections, a KB pointer, and an example. Every part carries information an agent would need; there is no filler or redundant repetition. It remains compact despite the depth of detail.

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?

All essential aspects are covered: what the tool does, how it works, parameters, return fields, a knowledge-base reference, and an example. The output schema is also present, so the listed return values provide a convenient overview. For a tool of this complexity, nothing critical is missing for correct invocation and interpretation.

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, by explaining material_path as 'Full Material asset path' and include_expressions as 'Include expression class/name/position summaries.' These are exactly the semantic clarifications an agent needs. The example further demonstrates valid usage, making the parameter intent clear despite 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?

The description opens with a clear verb+resource pair ('Compile a Material') and a specific outcome ('return expression-aware diagnostic evidence'). It further details the tool's purpose by mentioning the Unreal recompile path and the inclusion of expression summaries, which distinguishes it from plain compile tools like mat_compile or validation tools like mat_validate_material. The name is reinforced rather than merely restated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear context for use: 'graph-aware material verification.' It also lists what the tool returns, implicitly signaling when this tool is appropriate. However, it does not explicitly state exclusions or point to alternative tools for simpler compile-only operations, stopping short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connect_anim_graph_nodesA

Connect compatible pose pins between two AnimGraph nodes.

Use this after inspecting AnimGraph node IDs. Follow with AnimBP compile diagnostics and readback before treating the animation layer as proven.

Args: anim_blueprint_name: Animation Blueprint asset path or name. source_node_id: Source AnimGraph node GUID. target_node_id: Target AnimGraph node GUID. graph_name: Optional graph name; defaults to the AnimGraph.

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#animgraph-native-authoring Example: connect_anim_graph_nodes(anim_blueprint_name="/Game/ABP_Enemy", source_node_id="...", target_node_id="...")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNo
source_node_idYes
target_node_idYes
anim_blueprint_nameYes

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?

No annotations are present, so the description carries the behavioral burden. It adds useful workflow awareness by mentioning compatibility, prior node-ID inspection, and post-connect compile diagnostics/readback. However, it does not disclose failure modes, whether existing connections are replaced, or what happens on incompatible pins.

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 gives workflow order, parameter meanings, a KB reference, and an example. Every section earns its place without redundant 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?

Given that an output schema exists, return values do not need to be described. The description covers prerequisites, parameter semantics, workflow follow-up, and a KB pointer. It is slightly thin on pin-compatibility semantics and explicit alternatives, but is adequate 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?

The input schema has 0% description coverage, so the description compensates by explaining each parameter: asset path/name, source and target GUIDs, and the optional graph_name with its default. The example further clarifies real invocation shape.

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 opens with a specific verb and resource: 'Connect compatible pose pins between two AnimGraph nodes.' It clearly scopes the tool to AnimGraph nodes and pose pins, distinguishing it from generic node-connection tools like connect_blueprint_nodes or bp_connect_pins.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit workflow context: 'Use this after inspecting AnimGraph node IDs' and 'Follow with AnimBP compile diagnostics and readback.' This is clear context, but it does not explicitly name alternatives or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connect_blueprint_nodesA

Connect an output pin on one node to an input pin on another.

source_node_id / target_node_id can be:

  • A GUID string (from get_blueprint_nodes / add_* commands)

  • The short object name, e.g. 'K2Node_CallFunction_40'

Pin name parameter (use EITHER form — both are accepted): source_pin / source_pin_name — output pin on the source node target_pin / target_pin_name — input pin on the target node

Common exec pin names: 'then' (output), 'execute' (input). Common data pin names: 'ReturnValue', 'Target', 'NewLocation', etc.

Returns a dict with source_node_id, target_node_id, source_pin, target_pin, and connection_verified (True/False). If connection_verified is False a 'warning' field explains why the connection may not have taken effect (type mismatch, schema disallow, etc.). When the schema outright forbids the connection the command returns an error with the schema's reason message.

Args: blueprint_name: Asset name. source_node_id: GUID or object name of the source node. target_node_id: GUID or object name of the target node. graph_name: Graph to operate on. Default 'EventGraph'. source_pin: Output pin name on the source node (alias: source_pin_name). target_pin: Input pin name on the target node (alias: target_pin_name). source_pin_name: Alias for source_pin (BUG-NEW compatibility). target_pin_name: Alias for target_pin (BUG-NEW compatibility).

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: connect_blueprint_nodes(blueprint_name="/Game/MCP_Test/BP_Example", source_node_id="Example", target_node_id="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
source_pinNo
target_pinNo
blueprint_nameYes
source_node_idYes
target_node_idYes
source_pin_nameNo
target_pin_nameNo

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 full burden of behavioral disclosure. It does this well by explaining the return dict (source/target/pin/connection_verified), the warning field for partial failures, and the error behavior when the schema forbids a connection. It also discloses alias compatibility (source_pin_name vs source_pin). Missing are details on whether the operation is undoable or requires special permissions, but the failure semantics are well covered.

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 long but every sentence carries relevant information. It front-loads the action, then groups related details (node IDs, pin aliases, common pin names), then return behavior, then parameter list, and ends with a concrete example. There is no fluff or redundancy; the structure mirrors how an agent would consume it: action, input variants, output, and a call example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters, 3 required, 0% schema coverage, and no annotations, this description covers everything needed to invoke it correctly: parameter meanings, accepted value formats, alias behavior, default graph name, return structure, failure modes, a knowledge base pointer, and a full example. Minor gaps like conflict resolution when both alias and canonical name are provided are negligible given the breadth of information.

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?

The schema has 0% description coverage, so the description must compensate for all 8 parameters. It does so comprehensively: each parameter is listed with a clear explanation in the Args section, the two node ID formats (GUID and object name) are explained, and alias pairs are explicitly clarified. Common pin names ('then', 'execute', 'ReturnValue') are provided as real-world examples. This goes far beyond the bare property names.

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 opens with a precise action: 'Connect an output pin on one node to an input pin on another.' It clearly identifies the resource (blueprint nodes) and the direction of the operation Consent. The context in the sibling list (e.g., connect_anim_graph_nodes, bp_connect_pins) is naturally differentiated by the explicit reference to blueprint nodes and the mention of node sources like get_blueprint_nodes.

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 gives useful context on how to identify nodes and pin names, and even references the knowledge base, but it never explicitly states when to use this tool versus alternatives like connect_anim_graph_nodes or bp_connect_pins. The reader must infer that this is for Blueprint graph pin connections. There are no clear 'when not to use' conditions or alternative tool names, so it's implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

control_rig_add_constraintA

Add a Control Rig hierarchy parent or available-space constraint.

Args: rig_path: Full Control Rig asset path child_name: Child element name parent_name: Parent/space element name child_type: CONTROL, BONE, or NULL parent_type: BONE, NULL, or CONTROL constraint_type: "parent" for weighted hierarchy parent, "space" for available space weight: Parent weight for parent constraints maintain_global_transform: Preserve child global transform when adding parent display_label: Optional label shown for a space/parent relationship save: Save the asset after editing

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: control_rig_add_constraint(rig_path="/Game/MCP_Test/Example", child_name="ExampleName", parent_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
weightNo
rig_pathYes
child_nameYes
child_typeNoCONTROL
parent_nameYes
parent_typeNoBONE
display_labelNo
constraint_typeNoparent
maintain_global_transformNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the behavioral burden. It discloses that the tool edits and can save the asset, distinguishes 'parent' vs 'space' constraint behavior, and explains that maintain_global_transform preserves the child's transform. It does not mention reversibility or failure modes, but it is substantially transparent 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured with a clear one-line purpose, a compact Args list, a KB reference, and a concrete example. Every section serves a purpose, and the parameter documentation earns its length given the 0% schema coverage.

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 description covers all parameters, includes an example, and points to a KB section for deeper context. It is nearly complete for a 10-parameter tool, though it could additionally specify valid child_type/parent_type combinations or prerequisites for the rig elements it references.

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%, and the description compensates fully by explaining all 10 parameters with meaningful semantics: rig_path is a full asset path, constraint_type defines parent vs space behavior, weight applies to parent constraints, and display_label is optional. This adds value well beyond the raw 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?

The description opens with a specific action and resource: 'Add a Control Rig hierarchy parent or available-space constraint.' It clearly distinguishes this from sibling tools like control_rig_add_control and control_rig_create by naming the constraint operation and the two supported modes.

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 makes the basic use case clear from the action itself, but it does not explicitly say when to prefer this tool over alternatives or mention exclusions. Usage is implied rather than directly guided, and no sibling comparison is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

control_rig_add_controlA

Add an animation control to a Control Rig hierarchy.

Args: rig_path: Full Control Rig asset path control_name: New control element name parent_name: Optional parent element name parent_type: BONE, NULL, or CONTROL control_type: EULER_TRANSFORM, POSITION, ROTATOR, FLOAT, BOOL, SCALE, or VECTOR2D shape_name: Control shape name from the Control Rig shape library shape_color: Optional RGBA list, 0-1 floats location: Optional XYZ default location rotation: Optional Pitch/Yaw/Roll default rotation scale: Optional XYZ default scale default_float: Default value for FLOAT/SCALE_FLOAT controls default_bool: Default value for BOOL controls save: Save the asset after editing

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: control_rig_add_control(rig_path="/Game/MCP_Test/Example", control_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
scaleNo
locationNo
rig_pathYes
rotationNo
shape_nameNoCircle
parent_nameNo
parent_typeNoBONE
shape_colorNo
control_nameYes
control_typeNoEULER_TRANSFORM
default_boolNo
default_floatNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 that the tool edits the asset via the 'save' parameter, but does not explain side effects, potential failures (e.g., duplicate control names), whether the rig must be loaded, or what happens to existing controls. For a mutation tool with zero annotation coverage, 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 well-structured with a clear one-sentence purpose, a bulleted args list, a KB reference, and an example. Each line serves a purpose, though it is longer than necessary. The front-loaded purpose makes it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 params, no annotations, no schema descriptions), the parameter coverage is strong and an output schema exists. However, it lacks context on prerequisites (e.g., existing rig asset, parent element requirements), error handling, and how this fits into a broader rig-creation workflow. The KB reference helps but is not a substitute for inline guidance.

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 thoroughly. Every parameter is explained with its purpose and valid values (e.g., 'parent_type: BONE, NULL, or CONTROL', 'control_type: EULER_TRANSFORM, POSITION...'), and optional defaults are clarified. This adds substantial meaning beyond 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?

The description states 'Add an animation control to a Control Rig hierarchy' with a specific verb, resource, and context. It clearly distinguishes this from sibling tools like control_rig_create or control_rig_add_constraint by naming the exact 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 purpose statement implies when to use the tool, but there is no explicit guidance on when not to use it or comparisons to alternatives. The example shows a minimal call, which hints at usage, but there is no mention of prerequisites like the rig asset needing to exist or parent element validation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

control_rig_bake_to_sequenceA

Bake a Sequencer skeletal binding to a Control Rig track when binding context exists.

This is a guarded adapter over Unreal's ControlRigSequencerLibrary. It validates the Level Sequence, Control Rig, and binding name before invoking the bake call.

Args: level_sequence_path: LevelSequence asset containing the skeletal binding control_rig_path: Control Rig Blueprint asset to bake onto binding_display_name: Display name of the Sequencer binding to bake reduce_keys: Run key reduction during bake tolerance: Key reduction tolerance reset_controls: Reset controls to their initial value on each baked frame

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: control_rig_bake_to_sequence()

ParametersJSON Schema
NameRequiredDescriptionDefault
toleranceNo
reduce_keysNo
reset_controlsNo
control_rig_pathNo
level_sequence_pathNo
binding_display_nameNo

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 burden, and it does add meaningful behavior: it is a 'guarded adapter', validates inputs before invoking, and performs a bake rather than a trivial update. However, it does not disclose side effects such as whether existing keys are overwritten, whether the operation is undoable, or 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 description is front-loaded with the core purpose and structured with Args, KB pointer, and an example. The example call is empty and adds little information, but overall the length is justified and the structure is readable.

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 six-parameter baking operation, the definition covers the inputs, the precondition, and the validation behavior, and it points to a knowledge-base page for deeper context. It remains slightly incomplete around error semantics and postconditions, though an output schema is present so return-value documentation is not required here.

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%, but the Args section documents every one of the six parameters with a concise behavioral meaning, such as 'tolerance: key reduction tolerance' and 'reset_controls: reset controls to their initial value on each baked frame'. This fully compensates for the absent schema descriptions.

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 opens with a specific action and object: 'Bake a Sequencer skeletal binding to a Control Rig track', which clearly differentiates it from sibling control_rig_describe, control_rig_create, and control_rig_add_control tools. It also names the underlying Unreal library and the guarded nature of the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the key precondition 'when binding context exists' and describes a guard that validates the level sequence, control rig, and binding name before calling Unreal's library. It does not explicitly name excluded cases or alternatives, but the context is clear enough for an agent to know when this tool applies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

control_rig_createA

Create a Control Rig Blueprint asset, optionally seeded from a Skeletal Mesh.

Args: rig_name: New Control Rig asset name folder_path: Content Browser destination folder skeletal_mesh_path: Optional Skeletal Mesh used as preview mesh and bone source modular_rig: Create as a modular rig when supported by the engine version import_bones: Import bones from the Skeletal Mesh into the rig hierarchy overwrite: Delete and replace an existing Control Rig asset save: Save the asset after creation

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: control_rig_create(rig_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
rig_nameYes
overwriteNo
folder_pathNo/Game/Animation/ControlRigs
modular_rigNo
import_bonesNo
skeletal_mesh_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 burden. It discloses that 'overwrite' deletes and replaces, and 'save' persists the asset. However, it doesn't specify side effects on existing assets or engine version limitations for modular rigs. The absence of annotations makes this a solid disclosure, but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a one-line summary followed by a clear parameter list and an example. It front-loads the primary purpose and avoids unnecessary detail. The KB reference is a single line and doesn't detract. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with 7 parameters and an output schema, the description covers all parameters, indicates the optional nature of some, and provides an example. The output schema likely describes the created asset. The KB reference adds context. Nothing critical is missing; the agent can call it correctly.

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 coverage is 0%, so the description must explain all parameters. It does: each argument is listed with a brief purpose (e.g., 'skeletal_mesh_path: Optional Skeletal Mesh used as preview mesh and bone source'). This adds meaning beyond the schema's titles and defaults, fully compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (create a Control Rig Blueprint asset) and the key optional input (seeded from a Skeletal Mesh), distinguishing it from siblings like control_rig_add_control and control_rig_describe. The purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Although it doesn't explicitly say when not to use it, the description clarifies that it creates a new asset, which contrasts with tools that describe or modify existing rigs. The optional skeletal mesh seeding is clearly contextualized, and the example is provided. However, it doesn't explicitly mention alternatives, but the purpose is clear enough to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

control_rig_describeA

Inspect a Control Rig hierarchy, preview mesh, controls, bones, and nulls.

Args: rig_path: Full Control Rig asset path include_names: Include element name lists in the result

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: control_rig_describe(rig_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
rig_pathYes
include_namesNo

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 provided, the description carries the burden of behavioral disclosure. 'Inspect' signals a read-only operation and the description clarifies what elements are included and what include_names does. It does not mention error behavior, invalid paths, or side-effect-free status explicitly.

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 opening sentence is front-loaded and the Args/KB/example block is compact and useful. The Args section partly duplicates the schema but earns its place by adding semantic detail, and there is no fluff.

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 two-parameter read-only describe tool with an output schema, the description includes a working example, a KB anchor, and enough invocation detail. It doesn't need to explain return values because the output schema exists; only explicit handling of invalid rig paths 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?

Schema description coverage is 0%, so the description must supply parameter meaning. It does so clearly: rig_path is 'Full Control Rig asset path' and include_names is 'Include element name lists in the result.' This adds value beyond the bare schema, though the default true behavior is 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?

The description states a specific verb ('Inspect') and a concrete resource ('Control Rig hierarchy, preview mesh, controls, bones, and nulls'), which clearly distinguishes it from sibling creation/baking tools. It doesn't explicitly name an alternative, 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?

The intended usage is implied: use this when you need to inspect a Control Rig hierarchy, and the example plus KB pointer support that. However, there is no explicit when-not-to-use guidance or mention of a more appropriate sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cpp_analyze_classA

Analyze a UCLASS in the project's C++ source.

Extracts class metadata from .h files: parent class, UCLASS flags, UPROPERTY members, UFUNCTION methods, implemented interfaces.

Call cpp_set_codebase_path() first to point the bridge at your source.

Args: class_name: C++ class name (e.g. 'UUnrealMCPBridge', 'ABP_Hero'). include_inherited: Include inherited members (not yet implemented, reserved).

Returns: JSON StructuredResult with outputs: class, parent_class, uclass_flags, interfaces, properties [{name, type, uproperty_flags}], methods [{name, return, params, ufunction_flags}], header_file, line

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: cpp_analyze_class(class_name="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
class_nameYes
include_inheritedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the transparency burden and does well: it reveals that include_inherited is 'not yet implemented, reserved', that the tool depends on a previously set codebase path, and that returns come as a JSON StructuredResult with a detailed output list. It does not state whether the operation is read-only, but 'Analyze'/‘Extracts’ strongly implies it.

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 longer than usual but well organized with clear sub-sections (Args, Returns, KB, Example). Each part earns its place, and the example is practical. No filler or redundant repetition of schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description goes beyond what is required by listing the return structure, and it covers the prerequisite, a reserved-parameter caveat, and a usage example. It remains slightly incomplete on error behavior and alternatives, but for a read-only introspection tool this is a solid, complete definition.

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 class_name with concrete examples ('UUnrealMCPBridge', 'ABP_Hero') and clarifies that include_inherited is reserved and not yet functional. This adds real meaning 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 opens with a specific verb and resource: 'Analyze a UCLASS in the project's C++ source' and lists the exact metadata extracted (parent class, UCLASS flags, UPROPERTY members, UFUNCTION methods, implemented interfaces). It clearly differentiates itself from Blueprint-focused siblings by scoping to .h files, though it does not explicitly name an alternative tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit prerequisite: 'Call cpp_set_codebase_path() first to point the bridge at your source,' which tells the agent the required prior step. It also frames usage around C++ source analysis, providing clear context. It does not explicitly state when not to use this tool or name sibling alternatives, so it misses the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cpp_find_referencesA

Find all usages of a C++ identifier across the indexed codebase.

Performs a pattern-aware search:

  • type='function' matches 'Identifier(' calls

  • type='class' matches word-boundary class references

  • type='variable' matches word-boundary variable references

Call cpp_set_codebase_path() first.

Args: identifier: Name to search for (e.g. 'HandleCommand', 'UUnrealMCPBridge'). type: 'class' | 'function' | 'variable'. Default 'function'. limit: Max hits to return. Default 100.

Returns: JSON StructuredResult with outputs: identifier, hits [{file, line, snippet}], total, truncated

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: cpp_find_references(identifier="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNofunction
limitNo
identifierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the pattern-aware search behavior (function calls vs word-boundary references), the return format (JSON StructuredResult with hits, total, truncated), and the prerequisite. It doesn't mention performance characteristics or failure modes, but the search semantics and output structure are well 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 well-structured with clear sections: a one-line summary, a bulleted list of type behaviors, a prerequisite callout, an Args section, a Returns section, a KB reference, and an example. Every section earns its place and the most important information (what it does, prerequisite) is front-loaded.

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?

The tool has an output schema, so return values are documented. The description covers the prerequisite, parameter semantics, type-specific behavior, and output structure. For a search tool with 3 parameters and a clear output schema, this is complete. The KB reference adds further depth for agents that need 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?

Schema description coverage is 0%, so the description must compensate. It does: it explains identifier with examples, type with its three allowed values and default, and limit with its default. It adds meaning beyond the schema by explaining what each type does and what the return structure looks like. Minor gap: no explicit statement that type values are case-sensitive or what happens with invalid 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 clearly states the tool finds all usages of a C++ identifier across the indexed codebase, with a specific verb ('Find'), a resource ('C++ identifier across the indexed codebase'), and detailed pattern-aware search behavior for each type. It distinguishes itself from siblings like project_get_references and project_trace_reference_chain by focusing on C++ codebase references and requiring cpp_set_codebase_path() first.

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 explicitly states a prerequisite ('Call cpp_set_codebase_path() first'), which is critical usage guidance. It also explains the type parameter behavior, which tells the agent when to use which variant. While it doesn't name alternative tools for exclusion, the prerequisite and type-specific matching rules provide clear context for when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cpp_set_codebase_pathA

Point the C++ analysis bridge at a source directory.

If path is None (default), auto-resolves to the project's Source/ directory by scanning upward for a .uproject file, then falls back to UNREAL_PROJECT_SOURCE_PATH env var.

The path is validated to prevent directory traversal attacks. Only paths under the project root or an explicit allowed prefix are accepted.

Args: path: Absolute path to source directory. None = auto-resolve.

Returns: JSON StructuredResult with outputs: path — resolved absolute path files_indexed — number of .h/.cpp files found parser — 'tree-sitter-cpp' or 'regex-fallback'

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: cpp_set_codebase_path()

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

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 disclosure burden. It discloses default resolution order, directory traversal protection, the allowed-path restriction, and the structured return fields. It stops short of describing failure behavior or persistent side effects on the bridge, but no annotation contradiction exists and most behavioral expectations are covered.

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 purpose sentence, then compact labeled sections for arguments, returns, KB reference, and example. Every section adds distinct value without filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no annotations, the description covers purpose, resolution rules, security validation, output fields, and a call example. The output schema handles return structure, and the KB reference provides deeper guidance, so nothing essential 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?

Schema description coverage is 0%, so the description must compensate for the path parameter. It explains that path is an absolute directory, that None auto-resolves, and how the fallback works. The only vagueness is 'explicit allowed prefix', but the parameter is otherwise well explained.

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?

Opens with 'Point the C++ analysis bridge at a source directory', which names a concrete action and resource, and the rest clarifies it is about configuring where C++ analysis looks for code. It does not explicitly differentiate from sibling tools like cpp_analyze_class or cpp_find_references, but the setup role is clear enough that confusion is unlikely.

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 usage context: no path means auto-resolution to the project's Source directory, with a documented fallback to UNREAL_PROJECT_SOURCE_PATH. It does not explicitly say 'use before cpp_analyze_class' or list when-not alternatives, but the description makes the intended call sequence reasonably obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_actor_componentB

Create an Actor Component Blueprint for encapsulated gameplay behaviour.

From Ch. 18: Actor Components are reusable behaviour modules that can be added to any Actor. The book example creates BP_ExpLevelComp for experience/leveling.

An Actor Component has no Transform (unlike Scene Component). It can access its owning Actor via the "Get Owner" node.

Example use cases:

  • Experience/leveling system (BP_ExpLevelComp from the book)

  • Health regeneration component

  • Inventory component

  • Status effect manager

Args: name: Component Blueprint name (e.g., "BP_ExpLevelComp") variables: List of variable definitions [{"name", "type", "default_value", "is_array"}] functions: List of function definitions [{"name", "inputs", "outputs"}] folder_path: Content browser folder

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: create_actor_component(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
functionsNo
variablesNo
folder_pathNo/Game/Components

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 of behavioral disclosure. It explains the nature of Actor Components (no Transform, Get Owner access) but does not describe the tool's own side effects: whether the Blueprint is saved, compiled, or opened in the editor, whether it modifies the current project, or what happens on failure. This is a significant gap 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but well-organized with clear sections (purpose, background, use cases, args, KB link, example). It front-loads the primary purpose and keeps parameter explanations in a list. Minor redundancy exists (the book example is mentioned twice), but each paragraph serves a purpose and the structure aids scanning.

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 creation tool with 4 parameters and no annotations, the description covers the core 'what' and gives parameter details, but it omits important operational context: prerequisites (e.g., an open Unreal project), whether the tool can overwrite existing assets, how the output schema looks, and how it compares to the near-identical sibling create_experience_level_component. The KB link is useful but not a substitute for inline guidance.

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 parameters, and it does. It lists each arg with meaning: name (component Blueprint name), variables (list with structure [{"name","type","default_value","is_array"}]), functions (list with [{"name","inputs","outputs"}]), and folder_path (Content browser folder). It also provides an example call, which clarifies usage. It does not fully specify allowed types or input/output formats, but it goes well 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 opens with a clear verb+resource statement: 'Create an Actor Component Blueprint for encapsulated gameplay behaviour.' It also distinguishes Actor Components from Scene Components ('has no Transform'), which helps set it apart from sibling create_scene_component. However, it does not explicitly differentiate from the very similar sibling create_experience_level_component, and one of its stated use cases (experience/leveling) overlaps with that tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete use cases (experience/leveling, health regen, inventory, status effects) and a conceptual 'when to use' signal via the no-Transform contrast with Scene Components. It does not, however, name alternative tools or state conditions under which another sibling (e.g., create_experience_level_component) would be preferable. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_ai_controllerB

Create an AIController Blueprint.

The AIController possesses an AI Pawn and runs its Behavior Tree.

Args: name: Blueprint name (e.g., "BP_EnemyAIController") behavior_tree: Behavior Tree asset name to run automatically auto_run_bt: Automatically run the behavior tree on possession

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_ai_controller(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
auto_run_btNo
behavior_treeNo

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 transparency burden. It does disclose that the AIController possesses an AI Pawn and runs its Behavior Tree, which is useful. However, it omits important behavioral details such as whether the blueprint asset is compiled/saved, what happens when the behavior_tree asset does not exist, side effects of auto_run_bt=false, and whether creating with an existing name overwrites anything. The description only covers high-level intent, not operationally relevant 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 compact and front-loaded: summary sentence, one behavior line, Args block, KB reference, and example. Nothing is wasted, and the example shows a minimal valid invocation. The structure is easy to scan and helps an agent parse the essential contract quickly.

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 creation tool with an output schema and a KB pointer, the description covers the basic invocation contract: purpose, parameters, and an example. However, given the lack of annotations and the crowded sibling landscape, it is missing contextual details like prerequisites (e.g., the behavior tree asset must already exist), the relationship to set_blueprint_ai_controller, and any side effects such as asset persistence or compilation. It is adequate but not fully 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 supply parameter meaning, and it does. Each parameter gets a plain-language definition: name has an inline example, behavior_tree is described as the asset to run automatically, and auto_run_bt is defined as running the tree on possession. This goes beyond the bare schema titles and defaults, though it could further clarify optionality and prerequisite asset existence.

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 concrete verb and resource: 'Create an AIController Blueprint.' It also explains the core role of the controller (possessing an AI Pawn and running its Behavior Tree), which clarifies the tool's function. It does not explicitly differentiate from siblings like set_blueprint_ai_controller or create_full_enemy_ai, but the verb and resource are specific enough to avoid major confusion.

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 choose it over alternatives. Sibling tools such as set_blueprint_ai_controller, create_behavior_tree, create_full_enemy_ai, and build_behavior_tree all touch related workflows, yet no conditions, exclusions, or alternative recommendations are provided. The KB pointer is a reference, not actionable selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_align_actors_utilityA

Create the AlignOnXAxis Editor Utility Blueprint from Ch. 19.

Creates BPU_AlignActors (ActorActionUtility) with an AlignOnXAxis function:

  1. GetSelectionSet -> get array of selected actors

  2. Get Location X of first actor (index 0)

  3. ForEachLoop -> SetActorLocation X on each selected actor

Right-click multiple actors in the level -> Scripted Actor Actions -> AlignOnXAxis.

Args: name: Blueprint name folder_path: Content browser folder

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: create_align_actors_utility()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBPU_AlignActors
folder_pathNo/Game/EditorUtilities

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 behavioral burden and does so well: it discloses that an asset is created, its type, the generated function's exact behavior (copying the first actor's X to all selected actors), and how it is invoked. It omits minor details like overwrite or compile/save behavior, but the core side effects are clear.

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 well-structured: purpose, algorithm, usage, args, KB reference, and example. It is longer than a simple tool description, but every section earns its place and the primary purpose is front-loaded.

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 covers asset name, asset type, function implementation, user workflow, both parameters, a knowledge-base pointer, and an invocation example. An output schema exists, so return-value details are unnecessary; the only notable omissions are overwrite and compile/save behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It gives one-line meanings for both parameters ('Blueprint name' and 'Content browser folder'), which adds some value over the bare titles, but it does not explain naming constraints, path format, or how the parameters affect the generated asset beyond the obvious.

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 names a precise verb and resource: it creates the BPU_AlignActors ActorActionUtility with an AlignOnXAxis function, and then spells out the exact node graph. This makes it clearly distinct from generic blueprint-creation siblings like create_editor_utility_blueprint.

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 real-world usage context: right-click multiple actors, then Scripted Actor Actions -> AlignOnXAxis. It does not name alternatives or explicitly say when not to use this creator, so it falls short of a full 5, but the context is sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_animation_blueprintB

Create an Animation Blueprint (AnimBP).

Animation Blueprints control skeletal mesh animations using an EventGraph (for logic) and AnimGraph (for pose blending).

Args: name: AnimBP name (e.g., "ABP_Character") skeleton: Skeleton asset path (e.g., "/Game/Characters/SK_Character") parent_class: Parent class (default: "AnimInstance") path: Content browser path

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: create_animation_blueprint(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Animations
skeletonNo
parent_classNoAnimInstance

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 burden of behavioral disclosure. It only says the tool creates an AnimBP and explains what AnimBP is; it doesn't mention side effects, overwrite behavior, required validations, or what happens on failure. This is a notable gap 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-line purpose, a concise concept explanation, a compact Args list, a KB reference, and an example. It is appropriately sized with no filler, and the purpose is front-loaded.

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 creation tool with 4 parameters, the description covers the essentials: required name, defaults, path context, and a KB pointer. But missing behavior details, no nuance around optional parameters, and lack of clarity about whether skeleton is truly optional keep it from being fully complete.

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%, so the description must compensate for the absence of schema descriptions. It does list all four parameters with brief explanations and an example for 'name', and it notes the 'parent_class' default. However, 'path' and 'skeleton' semantics remain thin, and without schema support the agent gets only partial parameter meaning.

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: 'Create an Animation Blueprint (AnimBP),' with context on how AnimBP works. It distinguishes the tool from generic create_blueprint by naming the exact asset type, though it does not explicitly contrast with closely related animation siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by explaining that Animation Blueprints control skeletal mesh animations, which tells the agent when this might be relevant. However, it gives no explicit when-to-use or when-not-to-use guidance and does not mention alternatives among the many animation-related sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_behavior_treeB

Create a Behavior Tree asset.

Behavior Trees define AI decision-making using a tree of Tasks, Composites (Sequence/Selector), Decorators, and Services.

Args: name: Behavior Tree asset name (e.g., "BT_EnemyAI") path: Content browser path

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_behavior_tree(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/AI

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, the description must disclose side effects and operational traits. It only says 'Create a Behavior Tree asset,' which implies a write operation, but does not describe behavior on existing assets, whether it compiles or validates, potential failure modes, or project state requirements. The KB reference is external and not a substitute for inline transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: action sentence, background sentence, parameter list, KB pointer, and example. Each element serves a purpose with no redundant fluff. The KB reference and example are useful additions.

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 (2 params, 1 required) and has an output schema, so return-value documentation is likely covered elsewhere. The description covers parameter semantics and gives an example, but lacks edge-case behavior (e.g., asset name collisions, path validity) and workflow positioning relative to other BT tools. It is minimally adequate but not comprehensive.

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 carries the burden. It adds meaning to both parameters: 'name' gets an example ('BT_EnemyAI') and 'path' is described as 'Content browser path'. This is helpful, though 'Content browser path' is somewhat generic and could specify format constraints beyond the schema 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?

Description states 'Create a Behavior Tree asset' with a specific verb and resource. It also explains what Behavior Trees are, which grounds the resource in game AI terminology. It does not explicitly contrast with siblings like create_bt_task or create_blackboard, but the asset-level scope is clear.

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, when not to use it, or what precedes/follows it. The example shows a call but does not explain whether to use this before adding tasks/decorators, nor mention any prerequisites. An agent must infer its position in the workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_blackboardB

Create a Blackboard asset.

The Blackboard is the AI's shared memory - it stores data that the Behavior Tree reads and writes during execution.

Args: name: Blackboard asset name (e.g., "BB_EnemyAI") keys: List of key dicts: [{"name": "TargetActor", "type": "Object"}, {"name": "PatrolLocation", "type": "Vector"}, {"name": "bIsAlerted", "type": "Boolean"}, {"name": "Health", "type": "Float"}] path: Content browser path

Key types: Object, Actor, Class, Enum, Float, Int, Bool (Boolean), String, Name, Vector, Rotator

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_blackboard(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
keysNo
nameYes
pathNo/Game/AI

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 burden of behavioral disclosure. It states this tool creates an asset, but does not mention whether an existing asset with the same name is overwritten, whether the content path must already exist, if folders are auto-created, permissions needed, or the shape of the result. This is a significant transparency gap for a mutation-style 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 well-organized with a front-loaded purpose, a short context paragraph, clearly labeled Args, a key-types list, and an example. It is slightly long but every section adds useful information, and the structure makes it easy to scan.

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 description covers the tool's domain, all parameters, valid key types, and a usage example. Since an output schema exists, return values do not need to be explained. The main gap is lack of guidance on interaction with related tools and behavior when assets already exist.

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 description compensates well. It documents all three parameters: name with an example, keys with a concrete dict structure and supported types, and path as the content browser path. This adds substantial meaning beyond the minimal 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 opens with 'Create a Blackboard asset,' a clear verb+resource statement, and goes on to define what a Blackboard is. It does not explicitly distinguish this tool from sibling tools like set_behavior_tree_blackboard or create_behavior_tree, so it is clear but lacks 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 explaining that Blackboards are the AI's shared memory used by Behavior Trees, and the example shows a minimal call. However, it does not explicitly state when to use this tool versus alternatives, mention prerequisites, or give when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_blueprintA

Create a new Blueprint class in /Game/Blueprints/.

Args: name: Blueprint asset name (e.g., "BP_MyActor") parent_class: Parent class (Actor, Pawn, Character, PlayerController, GameModeBase, GameInstance, HUD, UserWidget, AIController, etc.)

Returns: Dict with 'name' and 'path' of the created Blueprint

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: create_blueprint(name="ExampleName", parent_class="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
parent_classYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral burden. It clearly states that the operation creates an asset in a specific directory and returns a dict with 'name' and 'path', which is meaningful. It does not mention potential overwrite behavior or compilation side effects, but the core side effect and expected return are 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 compact and well-structured with Args, Returns, KB reference, and Example sections. Every section adds useful information without redundancy or filler, making it easy for an agent to quickly parse.

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 agent has enough information to invoke the tool correctly: required parameters, example, valid parent classes, and the return shape via the output schema and Returns description. The KB reference provides further depth, though some edge-case behavior (e.g., duplicate names) is not addressed, which is acceptable given the output schema and example.

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 fully compensates. It explains 'name' with a concrete example ('BP_MyActor') and lists an extensive set of valid parent classes, adding significant meaning beyond the bare string type definitions in the input 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?

The description states a specific verb and resource: 'Create a new Blueprint class in /Game/Blueprints/.' It clearly distinguishes this from sibling tools like create_blueprint_interface, create_blueprint_function_library, or create_character_blueprint by specifying a generic Blueprint class and enumerating broad parent classes such as Actor, Pawn, and Character.

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 provides an example and enumerates valid parent classes, implying when to use it for generic blueprint creation. However, it does not explicitly mention specialized sibling tools or state when a more specific creator (e.g., create_character_blueprint, create_umg_widget_blueprint) should be preferred over this generic one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_blueprint_function_libraryA

Create a Blueprint Function Library with shared utility functions.

From Ch. 18: Create a Function Library (e.g., BP_DiceLibrary) whose functions are available globally in every Blueprint of the project. No instantiation needed.

Functions are defined as a list of dicts with:

  • name: function name

  • inputs: [{"name": str, "type": str, "default_value": any}]

  • outputs: [{"name": str, "type": str}]

  • description: optional description

Args: name: Library Blueprint name (e.g., "BP_DiceLibrary", "BP_MathUtils") functions: List of function definitions folder_path: Content browser folder

Example - dice roll library from the book: functions=[ {"name": "RollOneDie", "inputs": [{"name": "NumberOfFaces", "type": "Integer", "default_value": 6}], "outputs": [{"name": "Result", "type": "Integer"}]}, ]

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: create_blueprint_function_library(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
functionsNo
folder_pathNo/Game/Blueprints

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 behavioral disclosure burden. It does disclose useful traits: created functions become globally available, no instantiation is needed, and function definitions use a specific dict structure. However, it does not cover whether existing assets are overwritten, whether compilation is triggered, or what happens on invalid function definitions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an overview, parameter list, function schema, and examples. It is somewhat long and contains a KB reference and trailing usage example, but all parts contribute useful information. It earns a high score for organization and front-loading the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the sparse schema and absence of annotations, the description is fairly complete: it covers the tool's purpose, parameter meaning, function data shape, and includes examples. The existing output schema relieves the need to document return values. It still omits failure modes and behavior around existing assets, but the KB pointer and examples make it adequately usable.

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?

The input schema has 0% description coverage and only defines functions as an array of generic objects. The description compensates thoroughly by documenting each parameter, the full dict schema for functions, input/output fields, default_value semantics, optional description, and a concrete dice-roll example. This is far more helpful than the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: create a Blueprint Function Library with shared utility functions. It adds meaningful details about global availability and no instantiation, which helps separate it from similar Blueprint creation tools. It does not explicitly name a sibling alternative, so it stops short of a perfect score.

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 context about what a function library is and gives an example, but it never states when to prefer this tool over alternatives like create_blueprint_macro_library or create_blueprint. No exclusions, prerequisites, or comparison routes are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_blueprint_interfaceA

Create a Blueprint Interface asset.

Blueprint Interfaces define a contract that multiple Blueprints can implement - useful for calling functions on actors without knowing their type.

Args: interface_name: Interface asset name (e.g., "BPI_Interactable") functions: List of function dicts: [{"name": "Interact", "params": [{"name": "Caller", "type": "Actor"}]}] path: Content browser path

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: create_blueprint_interface(interface_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Blueprints
functionsNo
interface_nameYes

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?

With no annotations provided, the description must disclose operational behavior itself. It explains the conceptual purpose of a Blueprint Interface but gives no detail about side effects, failure modes, validation, overwriting behavior, or what happens during asset 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 well-structured with a short opening, a useful conceptual explanation, an Args block, a KB reference, and an example. It is slightly longer than strictly necessary, but each section earns its place and the core purpose is front-loaded.

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?

All parameters are documented, an example call is provided, and a KB link offers deeper context. Since an output schema exists, return-value documentation is not required. Missing pieces are mainly operational guidance around defaults and alternative asset types, but the description is sufficient for a competent agent to invoke the 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?

The input schema has 0% description coverage, but the description explicitly explains all three parameters: interface_name as the asset name, functions with a concrete example of the function-dict structure, and path as the content browser path. This fully compensates for the schema's lack of parameter descriptions.

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 and resource: 'Create a Blueprint Interface asset.' It then explains what interfaces do conceptually, which helps distinguish them from macro/function libraries, though it does not explicitly name sibling 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 gives a clear use case: 'useful for calling functions on actors without knowing their type.' However, it does not mention when NOT to use it or name alternatives like create_blueprint_function_library or create_blueprint_macro_library, so routing between siblings is left mostly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_blueprint_macro_libraryA

Create a Blueprint Macro Library for shared macros across Blueprints.

From Ch. 18: Macro Libraries gather macros that can be shared between all Blueprints of the parent class. Unlike Function Libraries, Macro Libraries require a parent class and can only be used in subclasses of that parent.

Args: name: Macro Library Blueprint name (e.g., "BP_MacroLibrary") parent_class: Parent class restriction ("Actor" works for most cases) folder_path: Content browser folder

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: create_blueprint_macro_library(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
folder_pathNo/Game/Blueprints
parent_classNoActor

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 exist, so the description carries the behavioral burden. It discloses the class restriction and parent_class requirement, and 'Actor works for most cases' is useful practical guidance. However, it does not state side effects such as asset creation and saving, overwrite behavior, permissions needed, or what the function returns, which is a notable gap for a create-type 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 well-organized with a clear opening statement, a brief conceptual paragraph, structured Args, KB reference, and an example. It is longer than necessary but each section has a distinct purpose. The example is particularly efficient for clarifying usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and the parameters have defaults, the description provides enough information to invoke the tool correctly: what it does, parameter meanings, class restrictions, and a usage example. The KB link offers deeper reference material. It could mention error conditions or what the blueprint asset should be named to fit project conventions, but this is not critical.

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 description compensates with an Args section covering all three parameters. It gives a naming example, explains parent_class as a restriction with a sensible default, and describes folder_path's purpose. This adds significant meaning beyond the bare string schema. More detail on accepted folder_path formats or potential validation constraints could make it perfect.

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 opens with 'Create a Blueprint Macro Library for shared macros across Blueprints,' which is a specific verb + resource. It also contrasts with Function Libraries, making the tool's specialized purpose unambiguous even without inspecting 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?

The description provides clear context by noting that 'Unlike Function Libraries, Macro Libraries require a parent class and can only be used in subclasses of that parent.' This helps an agent decide when this tool is appropriate relative to create_blueprint_function_library. It stops short of explicitly stating 'use this when...' or 'do not use when...' but the contrast is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_bt_attack_taskA

Create a Behavior Tree Attack Task Blueprint.

Ch.10: BTTask_DoAttack that deals damage to the player.

  • TargetActorKey (BlackboardKeySelector) - instance editable

  • Damage (Float, instance editable, default 0.25 = 25% of player health)

  • Overrides ReceiveExecute: checks IsValid on target, calls Apply Damage, then calls FinishExecute(Success=true)

Args: name: Task Blueprint name (e.g., "BTTask_DoAttack") damage_variable: Name of the damage float variable default_damage: Default damage amount (0.0-1.0 normalized or raw) target_key_variable: Name of the BlackboardKeySelector variable path: Content browser path

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_bt_attack_task()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBTTask_DoAttack
pathNo/Game/AI
default_damageNo
damage_variableNoDamage
target_key_variableNoTargetActorKey

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?

No annotations are provided, so the description carries the full burden. It discloses the generated task's behavior in detail: ReceiveExecute override, IsValid check on target, Apply Damage call, FinishExecute(Success=true), and instance-editable variables with default damage meaning. It stops short of stating creation side effects such as overwrite behavior or whether the asset is compiled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an intro, bulleted implementation details, a parameter list, a KB reference, and an example invocation. There is minor redundancy between the Damage bullet and the default_damage argument description, but overall it is scannable and free of 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 description covers purpose, generated-task behavior, all parameters, defaults, a knowledge-base reference, and an invocation example. With an output schema present, return-value documentation is not required. The main missing context is guidance for choosing this over the many sibling AI/behavior-tree 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 Args block compensates by describing all five parameters, including example names and the meaning of default_damage ('0.25 = 25% of player health'). Some entries are terse ('path: Content browser path') and 'normalized or raw' is ambiguous, so it is not a 5.

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?

Opens with a specific verb+resource: 'Create a Behavior Tree Attack Task Blueprint.' It then names the exact task (BTTask_DoAttack) and its purpose ('deals damage to the player'), clearly distinguishing it from generic BT-task or wander-task siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case is implied by the name and description, but there is no explicit guidance about when to use this tool versus sibling tools like create_bt_task or create_bt_wander_task. No when-to-use, when-not-to-use, or alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_bt_decoratorA

Create a Behavior Tree Decorator Blueprint.

Decorators are conditions attached to BT nodes - they control whether a branch can execute or abort. Override PerformConditionCheck.

Args: name: Decorator Blueprint name (e.g., "BTD_CanSeePlayer") path: Content browser path

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_bt_decorator(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/AI

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 burden of behavioral disclosure. It states the creation behavior and the override function, but it does not disclose side effects such as whether existing assets are overwritten, whether the blueprint is saved or compiled, 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?

The description is front-loaded with the core action, followed by a concise explanation, Args section, KB pointer, and example. It is slightly longer than necessary, but each section adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter creation tool with an output schema, the description covers the main purpose, parameters, a KB pointer, and an example. It lacks explicit guidance on overwrite behavior, saving/compilation, and the relationship to sibling tools like add_bt_blackboard_decorator, so it is adequate but not fully 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?

The schema provides no property descriptions (0% coverage), and the description compensates by documenting 'name' with an example and 'path' as the content browser path. Both parameters are addressed, though path format could be more explicit.

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 opening sentence names a specific verb and resource: 'Create a Behavior Tree Decorator Blueprint.' It also distinguishes this tool from sibling creation tools like create_bt_task and create_bt_service by naming the decorator type and explaining what decorators are.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when the tool is relevant by explaining that decorators are conditions attached to BT nodes and by directing the user to override PerformConditionCheck. It does not explicitly name alternative tools or state when not to use it, but the context is sufficient for a simple creation tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_bt_serviceA

Create a Behavior Tree Service Blueprint.

Services run on a tick while their parent node is active - used to update Blackboard values (perception, distance checks, etc.). Override ReceiveTick.

Args: name: Service Blueprint name (e.g., "BTS_UpdateTarget") tick_interval: How often the service ticks in seconds path: Content browser path

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_bt_service(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/AI
tick_intervalNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden, and it steps up by explaining the runtime behavior (tick while parent active, override ReceiveTick) beyond the schema. The core side effect, creating a new Blueprint asset, is explicit; it stops short of detailing save/overwrite or naming-collision 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 content is front-loaded with the action, followed by a compact behavioral explanation, a clean Args block, a knowledge-base pointer, and a minimal example. Every sentence earns its place, and an agent can scan it quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with an output schema and no annotations, this description covers what it does, when to use it, all parameters, and where to find deeper domain knowledge. The schema fills in defaults for path and tick_interval, so an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates by explaining all three parameters: name with a concrete example, tick_interval with units (seconds), and path as the content browser location. This adds meaning the bare JSON schema lacks.

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?

Opens with a specific verb+resource ('Create a Behavior Tree Service Blueprint') and then clarifies what a BT Service is: a node that ticks while its parent is active, used for Blackboard updates. This distinguishes it from sibling creation tools like create_bt_task and create_bt_decorator without needing to name 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?

The description gives clear usage context: use this when you need a service that periodically updates Blackboard values (perception, distance checks) while a Behavior Tree node is active. It does not explicitly list alternatives or exclusion conditions, but the service lifecycle explanation makes the selection logic apparent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_bt_taskB

Create a Behavior Tree Task Blueprint.

BT Tasks are the leaf nodes of the Behavior Tree - they perform actual actions (move to location, attack, play animation, etc.). Override ExecuteTask and FinishExecute.

Args: name: Task Blueprint name (e.g., "BTT_AttackPlayer") task_description: Description for the task node path: Content browser path

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_bt_task(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/AI
task_descriptionNo

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 carries the full burden. It mentions the creation action and the need to override ExecuteTask/FinishExecute, but doesn't disclose side effects (e.g., whether it compiles the blueprint, whether it opens the editor, whether it overwrites existing assets), required permissions, or what happens on failure. The KB reference is a pointer but not inline behavioral disclosure.

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 reasonably concise and front-loaded with the core purpose. The KB reference and example are useful, though the example is somewhat redundant with the parameter list. No wasted sentences, but the structure could be tighter by integrating the example with the parameter explanations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose and parameters, and the output schema exists (though not shown in the prompt). However, for a creation tool with no annotations, it lacks information about post-creation steps (e.g., does it compile? does it save?), error conditions, and how it relates to the broader BT creation workflow (e.g., should it be used after create_behavior_tree?). The KB reference helps but is not self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists the three parameters (name, task_description, path) with brief explanations and an example, but the explanations are minimal and don't add much beyond the schema's titles/defaults. The example only shows 'name', not how path or task_description are used, and the path default is not mentioned in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Create') and resource ('Behavior Tree Task Blueprint'), and explains what BT Tasks are (leaf nodes performing actions). It distinguishes itself from sibling tools like create_bt_decorator and create_bt_service by specifying it creates task blueprints, 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?

The description implies usage by explaining BT Tasks are leaf nodes that perform actions and instructing to override ExecuteTask and FinishExecute. However, it doesn't explicitly state when to use this tool versus alternatives like create_bt_decorator, create_bt_service, or create_bt_attack_task, nor does it mention prerequisites like needing an existing behavior tree.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_bt_wander_taskA

Create a Behavior Tree Task for random wandering.

Ch.10: BTTask_FindWanderPoint uses the Navigation system to find a random reachable location within a radius for enemy wandering behavior.

  • Uses GetRandomReachablePointInRadius

  • Sets the resulting Vector to a Blackboard key (e.g., WanderTarget)

  • Returns Success if a point is found, Failure otherwise

Args: name: Task Blueprint name wander_radius: Radius to search for random wander points path: Content browser path

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_bt_wander_task()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBTTask_FindWanderPoint
pathNo/Game/AI
wander_radiusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well. It discloses the internal algorithm (GetRandomReachablePointInRadius), the side effect (sets WanderTarget Blackboard key), and the return contract (Success if point found, Failure otherwise). This goes well beyond what the schema alone could tell the agent.

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 well-structured and efficient: a lead sentence, a compact behavior summary, an Args block, a KB pointer, and an example. Every section adds value, and the most important purpose is front-loaded before the implementation details.

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 description provides the algorithm, parameter semantics, a knowledge base reference, and an example call. It is complete enough for a BT task creation tool, though it could optionally clarify that the resulting asset is a Blueprint class and whether a navigable area must already exist; these are minor gaps given the output schema 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?

Schema description coverage is 0%, so the description compensates by listing each parameter with a meaningful explanation: name is the Task Blueprint name, wander_radius is the search radius, path is the content browser path. This is sufficient for an agent to understand what each argument controls, though the explanations are brief.

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+resource: 'Create a Behavior Tree Task for random wandering.' It further specifies the concrete behavior (find random reachable point, set it to a Blackboard key, return Success/Failure), which distinguishes this from generic create_bt_task or create_bt_attack_task. The purpose is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it is for enemy wandering behavior using the Navigation system to find random reachable locations within a radius. It does not explicitly say when not to use it or name alternatives, but the phrase 'random wandering' and 'enemy wandering behavior' gives a clear, actionable scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_animation_setupB

Create a complete character Animation Blueprint with:

  • Speed and IsJumping variables

  • Idle, Walk, Run, and Jump states

  • Transitions based on Speed and jump state

Args: anim_blueprint_name: Animation Blueprint name skeleton: Skeleton asset path

Returns: Dict with creation results

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: create_character_animation_setup(anim_blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
skeletonNo
anim_blueprint_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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates an Animation Blueprint but does not disclose side effects (e.g., whether it overwrites an existing blueprint), prerequisites (e.g., whether the skeleton must already exist), failure modes, or what happens if the blueprint name already exists. It also does not describe the structure of the returned dictionary beyond 'Dict with creation results', leaving the agent uncertain about error handling or result details.

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 efficient, using bullet points to enumerate features, and front-loads the core purpose. It includes a relevant example and a KB reference without verbosity. Each element earns its place, though the 'Returns: Dict' line could be considered redundant with the output schema, but it's harmless and helps set expectations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (creating a full Animation Blueprint with states and transitions), yet the description omits important context: how transitions are defined (conditions), whether the skeleton is required or auto-detected, what happens on naming conflicts, and whether it integrates with existing actor blueprints. The output schema is present but not described, so the agent cannot anticipate the result structure. Given the complexity and many sibling tools, this level of detail is insufficient for correct invocation without further investigation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 0% (no parameter descriptions), so the description must compensate. It does add meaning: 'Skeleton asset path' clarifies that skeleton is a path, and 'Animation Blueprint name' aligns with the title. The example shows a realistic value for anim_blueprint_name. However, it does not explain optionality of skeleton or default behavior (default is empty string), nor does it clarify accepted formats (e.g., full path vs relative). This is baseline adequate but not rich.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a complete character Animation Blueprint, listing specific variables (Speed, IsJumping), states (Idle, Walk, Run, Jump), and transitions. This distinguishes it from granular sibling tools like create_animation_blueprint or add_animation_state by emphasizing the 'complete' setup. The verb 'create' and resource are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not mention when to use this tool versus the many granular animation tools (e.g., add_state_machine, add_animation_state). There is no guidance on alternatives or conditions that favor this high-level tool over manual step-by-step construction. The KB reference is not a usage guideline, and the example only shows invocation, not selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_character_blueprintA

Create a Character Blueprint with optional camera setup.

Characters include: CapsuleComponent, CharacterMovement, SkeletalMesh.

Args: name: Blueprint name add_camera: Add a CameraComponent add_spring_arm: Add a SpringArmComponent for the camera camera_location: Camera relative location camera_rotation: Camera relative rotation spring_arm_length: SpringArm target arm length

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_character_blueprint(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
add_cameraNo
add_spring_armNo
camera_locationNo
camera_rotationNo
spring_arm_lengthNo

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 disclosure burden; it does disclose that the call creates a Character Blueprint with specific default components and optionally adds a camera/spring arm. It does not state side effects such as asset location, overwrite behavior, or whether compilation/saving is required, which leaves some behavioral uncertainty.

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 organized: purpose, included components, Args block, KB pointer, and example; no filler. The Args block is longer but justified because the schema has no property descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a moderate parameter count, an available output schema, and no annotations, the description covers the creation scope, all parameters, and a KB reference, and includes a minimal example. It could add asset-location/overwrite context, but the agent has enough 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?

Schema description coverage is 0%, so the Args block must carry parameter meaning; it does, mapping all six parameters to roles (e.g., 'spring_arm_length: SpringArm target arm length'). It does not specify units or the vector order for camera_location/camera_rotation, relying on the schema defaults to complete that 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 opens with 'Create a Character Blueprint with optional camera setup' – a specific verb and resource – and enumerates the included components (CapsuleComponent, CharacterMovement, SkeletalMesh), which separates it from generic create_blueprint. It does not explicitly name sibling tools like create_fps_character or create_character_animation_setup, so differentiation is implicit rather than explicit.

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 first sentence implies the intended use: when a user needs a Character Blueprint with movement and an optional camera. There is no explicit when-not-to-use, prerequisite, or alternative routing among the many sibling blueprint/character tools, so the guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_circular_movement_componentA

Create the orbiting Scene Component from Ch. 18 of the book.

Creates BP_CircularMovComp that:

  • Uses Event Tick + Delta Seconds to calculate per-frame delta angle

  • Applies SetRelativeLocation + AddLocalRotation to orbit around owner

  • Default speed: 180 deg/sec (completes full orbit in 2 seconds)

This is perfect for rotating shields, orbiting particles, or any attachment that needs to circle around an actor.

Args: name: Component Blueprint name rotation_per_second: Orbit speed in degrees per second orbit_radius: Radius of the circular orbit in Unreal units folder_path: Content browser folder

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: create_circular_movement_component()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_CircularMovComp
folder_pathNo/Game/Components
orbit_radiusNo
rotation_per_secondNo

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 provided, the description carries the full burden of behavioral disclosure. It goes beyond a simple 'create' by explaining the implementation: uses Event Tick + Delta Seconds, applies SetRelativeLocation + AddLocalRotation, and defaults to 180 deg/sec. It does not disclose side effects like potential asset overwrite or needing to save the asset, but the provided mechanics and defaults give solid behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a short opening, bullet-pointed behavior summary, usage sentence, argument list, KB reference, and example. The 'This is perfect for...' sentence is somewhat informal but adds use-case value. It is appropriately sized and front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given all parameters are optional and the schema provides defaults but no descriptions, the description fills the gap completely with argument meanings and an example call. An output schema exists, so return values need not be explained. It does not mention prerequisites or failure modes (e.g., existing asset collision), but for a create-component tool it is reasonably complete.

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 does so thoroughly by explaining all four parameters: 'rotation_per_second: Orbit speed in degrees per second', 'orbit_radius: Radius of the circular orbit in Unreal units', 'folder_path: Content browser folder', and 'name: Component Blueprint name'. This adds units and contextual meaning the schema's bare titles and defaults lack.

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 + resource: 'Create the orbiting Scene Component' and 'Creates BP_CircularMovComp'. It goes beyond a generic create tool by detailing the exact component behavior (Event Tick, SetRelativeLocation, AddLocalRotation) and naming the output asset. This clearly distinguishes it from sibling tools like create_blueprint or add_component_to_blueprint.

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: 'perfect for rotating shields, orbiting particles, or any attachment that needs to circle around an actor.' This tells an agent when to select this tool. It doesn't explicitly name an alternative or provide when-not-to-use guidance, but the context is unambiguous enough for a creation tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_comment_boxB

Create a color-coded Blueprint comment box.

This is a standards-friendly alias for add_blueprint_comment_node. Use it before placing nodes for a functional block.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: create_comment_box(blueprint_name="/Game/MCP_Test/BP_Example", comment_text="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
widthNo
heightNo
graph_nameNoEventGraph
comment_textYes
node_positionNo
blueprint_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?

There are no annotations, so the description carries the full burden of behavioral disclosure. It confirms creation but does not disclose side effects on the Blueprint graph, whether changes are easily reversible, or what happens if the comment box overlaps existing nodes. The alias note adds some context, but the behavioral profile is thin for a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-line purpose, an alias clarification, a sequencing guideline, a KB reference, and an example. No sentence is wasted, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with seven parameters, 0% schema description coverage, and no annotations, the description is not complete enough. It omits guidance for optional parameters and gives no behavioral or outcome detail beyond creation. The KB link and example help, but they do not fill the gap for safe, correct autonomous invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the seven parameters. It only mentions blueprint_name and comment_text in the example, leaving color, width, height, graph_name, and node_position without added semantic context. The example demonstrates required arguments but does not explain their meaning or format beyond what the schema already shows.

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: 'Create a color-coded Blueprint comment box.' It also identifies itself as a 'standards-friendly alias for add_blueprint_comment_node,' which helps position it among siblings. However, it doesn't explicitly distinguish itself from the closely named sibling add_comment_box, so it falls just short of full 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?

The description gives clear context: 'Use it before placing nodes for a functional block,' plus a KB pointer and a concrete example. It doesn't explicitly state when not to use it or how to choose between it and sibling comment-box tools, but the alias statement and sequencing guidance are enough to convey intended use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_data_tableB

Create a DataTable asset.

DataTables are spreadsheet-like assets that store rows of structured data defined by a Struct. Ideal for item databases, enemy stats, level config.

Args: table_name: DataTable asset name (e.g., "DT_WeaponStats") row_struct: Struct asset name defining row structure path: Content browser path

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: create_data_table(table_name="ExampleName", row_struct="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Data
row_structYes
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. It states that a DataTable asset is created, but does not mention side effects like overwriting existing assets, required permissions, or consequences of invalid row_struct references. The KB reference offers some direction but not concrete behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-line purpose, a brief definition, an Args section, a KB pointer, and an example. It is front-loaded with the action and organized cleanly, with no wasted words.

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 creation tool with an output schema and no annotations, the description covers the essentials: what it does, typical use cases, parameter roles, and an example. It does not mention potential pitfalls (e.g., duplicate names, dependency on struct existence) or what the return value contains, but the output schema likely covers return details. Overall, it is adequate but leaves some operational gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It lists all three parameters with brief explanations and an example for table_name. However, it does not specify path format or that row_struct must reference an existing Struct asset. The explanations add value but are not comprehensive enough to fully compensate for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Create a DataTable asset.' It also defines what a DataTable is, making the purpose unambiguous. Among dozens of sibling tools, there is no other DataTable creation tool, so it is easily distinguished.

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 gives context on ideal use cases ('item databases, enemy stats, level config') but does not explicitly state when to avoid this tool or mention alternatives. No exclusions or comparisons to sibling tools like create_struct are provided, leaving usage guidance implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_dynamic_material_instanceA

Create a Dynamic Material Instance from a source Material in a Blueprint.

Dynamic Material Instances allow runtime modification of material parameters (color, opacity, scalar values) without creating separate material assets. Used extensively in game HUDs, pickups, and interactive props.

Args: blueprint_name: Blueprint to add the node to component_name: Mesh component to create the dynamic instance on source_material_path: Base material asset path variable_name: Variable name to store the dynamic instance reference node_position: [X, Y] graph position

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: create_dynamic_material_instance(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent", source_material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
variable_nameNoDynamicMaterial
blueprint_nameYes
component_nameYes
source_material_pathYes

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?

With no annotations, the description carries the behavioral burden. It explains that the tool creates a node in a Blueprint, stores a reference in a named variable, and places it at a graph position. However, it does not disclose prerequisites, failure modes, whether an existing variable is overwritten, or whether the Blueprint must be compiled afterward.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a clear one-line action, a short purpose paragraph, parameter semantics, a KB pointer, and a concrete example. Every section adds value and supports correct invocation without 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?

Given the absence of annotations, the description covers the core purpose, all parameter meanings, and an example. The output schema handles return-value expectations. The main gaps are prerequisites and failure behavior, but these are less critical for a relatively straightforward Blueprint node-creation operation.

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. The Args block documents all five parameters with meaningful semantics: blueprint_name, component_name, source_material_path, variable_name, and node_position. The example call further clarifies how parameters are expected to be provided.

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 first sentence clearly states the action: 'Create a Dynamic Material Instance from a source Material in a Blueprint.' It specifies the resource and operation precisely. It does not explicitly differentiate this tool from sibling material tools like material_create_instance_from_master, but the term 'Dynamic Material Instance' is specific enough to avoid major ambiguity.

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: dynamic instances are for runtime modification of material parameters and are used in HUDs, pickups, and interactive props. It does not name alternative tools or state when not to use this approach, but the context is sufficient for an agent to understand the intended scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_editor_utility_blueprintA

Create an Editor Utility Blueprint that runs in the Unreal Editor.

From Ch. 19: Editor Utility Blueprints can manipulate Assets and Actors in Edit Mode (not during Play). They appear as right-click context menu options in the Level Editor or Content Browser.

Types:

  • "ActorActionUtility": manipulate selected Actors in the Level Editor. Functions appear under Right-click > Scripted Actor Actions.

  • "AssetActionUtility": manipulate Assets in the Content Browser. Functions appear under Right-click > Scripted Asset Actions.

  • "EditorUtilityBlueprint": general editor scripting.

Available editor scripting nodes include:

  • GetSelectionSet: get selected Actors

  • GetActorLocation/SetActorLocation

  • EditorScripting category functions

Args: name: Blueprint name (e.g., "BPU_ActorAction") utility_type: "ActorActionUtility", "AssetActionUtility", or "EditorUtilityBlueprint" functions: Function definitions [{"name", "inputs", "outputs"}] folder_path: Content browser folder

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: create_editor_utility_blueprint(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
functionsNo
folder_pathNo/Game/EditorUtilities
utility_typeNoActorActionUtility

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 transparency burden and does substantial work: it discloses the editor-only execution environment, the Edit-Mode restriction, context-menu behavior, and the scripting node set available to generated blueprints. It does not mention creation side effects such as compilation/saving or name-collision behavior, but that is a minor gap for an asset-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 front-loaded with the core purpose, then organized into compact sections (types, available nodes, args, KB link, example). Every section contributes decision-relevant information and there is no repeated 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 tool with 4 params, no schema descriptions, and no annotations, the description is nearly complete: it defines the parameter set, allowed choices, defaults, and points to a KB section for deeper context. The main remaining gap is the precise structure of the functions parameter, which the loose 'inputs'/'outputs' keys leave to inference.

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 description compensates by explaining every parameter: name with an example, allowed utility_type values, folder_path as a Content Browser folder, and a rough shape for functions as [{'name','inputs','outputs'}]. The functions object remains underspecified—what an 'input' or 'output' entry looks like is not detailed—so it does not reach 5.

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 opens with a specific verb and resource—'Create an Editor Utility Blueprint'—and immediately adds its scope ('runs in the Unreal Editor'). It then distinguishes the asset type from ordinary Blueprints by explaining Edit Mode, context-menu exposure, and the three utility_type variants, so an agent can tell it apart from create_blueprint and other creation siblings.

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: this is for editor-time asset/actor manipulation, explicitly 'not during Play', and explains which utility type fits which scenario (ActorActionUtility vs AssetActionUtility vs EditorUtilityBlueprint). It stops short of naming alternative tools or stating when not to use this tool, so it earns 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_enemy_spawner_blueprintA

Create an Enemy Spawner Blueprint.

Ch.10: BP_EnemySpawner periodically spawns enemies in the level.

  • EnemyClass variable (class reference, instance editable)

  • MaxEnemies variable (int) - cap on simultaneous enemies

  • SpawnInterval variable (float) - seconds between spawns

  • SpawnRadius variable (float) - radius around spawner to place enemies

  • Timer-based spawning using Set Timer by Function Name

Args: name: Spawner Blueprint name enemy_class: Enemy Blueprint class to spawn max_enemies: Maximum simultaneous enemy count spawn_interval: Seconds between each spawn spawn_radius: Random placement radius around spawner path: Content browser path

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_enemy_spawner_blueprint()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_EnemySpawner
pathNo/Game/Blueprints
enemy_classNoBP_EnemyCharacter
max_enemiesNo
spawn_radiusNo
spawn_intervalNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full behavioral disclosure burden. It does more than restate the tool's purpose: it enumerates the four variables, explains their meanings, and discloses timer-based spawning via Set Timer by Function Name. It doesn't mention compilation or asset-creation side effects, but the output schema likely covers return-related behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with its purpose and then organized into behavior, variable bullets, arguments, KB reference, and example. There is slight redundancy between the variable bullets and the Args list, but each section contributes useful information. The example is minimal and consistent with all parameters being optional.

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 6-parameter creation tool with no annotations, the description covers behavior, all parameters, a knowledge-base reference, and an example. It doesn't explain post-creation steps or how to choose this over sibling spawner tools, but the output schema plus thorough parameter documentation make it reasonably complete.

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?

The input schema has 0% description coverage, but the Args block fully compensates by defining all six parameters with semantic meaning, such as spawn_radius as 'random placement radius around spawner' and enemy_class as 'Enemy Blueprint class to spawn.' This is exactly the compensation needed when schema descriptions are 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?

The first sentence clearly states a specific verb and resource: 'Create an Enemy Spawner Blueprint.' The description goes on to name BP_EnemySpawner, its variables, and its timer-based spawning behavior, which distinguishes it from generic blueprint tools. It doesn't explicitly differentiate from the sibling create_random_spawner_blueprint, so it misses 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?

The 'Ch.10' context and 'periodically spawns enemies in the level' imply when the tool is appropriate, and the KB pointer provides additional orientation. However, there is no explicit when-to-use vs. alternative tools, no exclusions, and no guidance for choosing between this and the many other blueprint-creation siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_enhanced_input_actionB

Create an Enhanced Input Action asset (UE5 modern input system).

Args: action_name: Name of the input action asset value_type: "Digital" (bool), "Axis1D" (float), "Axis2D" (Vector2D), "Axis3D" path: Content browser path

KB: see knowledge_base/15_INPUT_SYSTEM_AND_UMG.md#overview Example: create_enhanced_input_action(action_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Input
value_typeNoDigital
action_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?

With no annotations, the description must convey behavioral traits, but it only states that it creates an asset and lists parameters. It does not disclose side effects (e.g., overwriting behavior), return value details, permission requirements, or potential errors. The description is minimal and leaves the agent without a clear picture of the tool's behavior beyond its immediate action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a one-line summary followed by a clear args list and an example. It is front-loaded with the core purpose and avoids unnecessary verbosity. The structure is logical, though the args list could be formatted more neatly but it's effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides a KB reference for additional details, which helps, but it lacks explicit information about the return value (despite having an output schema) and any side effects like asset overwriting or required permissions. Given that it's a creation tool, more context on expected outcomes and potential failure modes would be beneficial, but the KB reference mitigates some 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?

The description adds significant meaning to the parameters, particularly value_type, which is explained with its C++ equivalents (bool, float, Vector2D). It also clarifies the purpose of action_name and path. Despite the schema having no descriptions, the text compensates well by providing practical context and an example. However, it doesn't elaborate on path format or default behaviors.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates an Enhanced Input Action asset, specifying the UE5 modern input system context. It lists the key arguments, making the tool's function evident. However, it doesn't explicitly differentiate from sibling tools like add_blueprint_enhanced_input_action_node, which also deals with Enhanced Input, though that one is for blueprint nodes. The purpose is clear but not fully distinguished from related 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?

No guidance is given on when to use this tool versus alternatives. While the mention of 'UE5 modern input system' provides context, it doesn't explain when to choose this over create_input_mapping or add_blueprint_enhanced_input_action_node. There are no explicit usage scenarios, exclusions, or prerequisites mentioned beyond a KB reference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_enumA

Create a custom Enumeration (Enum) asset.

Enums represent a named set of options, perfect for states, types, and categories. Use with Switch on Enum nodes.

Args: enum_name: Enum name (e.g., "EWeaponType", "EGameState") values: List of enum value names: ["Pistol", "Rifle", "Shotgun", "Sniper"] path: Content browser path

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: create_enum(enum_name="ExampleName", values=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Data
valuesYes
enum_nameYes

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 the full burden. It only says 'Create' without revealing side effects, overwrite behavior, required permissions, naming constraints, or what happens if the enum already exists. The added details are conceptual rather than behavioral.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a short intro, usage note, Args block, KB pointer, and example. It is reasonably concise, but the example duplicates the Args section and contains an incorrect value format, which introduces noise.

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 asset-creation tool with three parameters, the description is mostly adequate and points to a knowledge base for more detail. However, with no annotations it could be more complete about optional path behavior, naming conventions, and result/return 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 Args section meaningfully compensates by explaining enum_name, values, and path with concrete examples. The examples for enum_name and values are helpful, but the final example is misleading because it passes 'values=0.0' instead of a list of strings.

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 and resource: 'Create a custom Enumeration (Enum) asset.' It clearly explains what Enums are and where they fit ('states, types, and categories'), so an agent can understand the purpose. However, it does not distinguish this tool from nearby siblings like create_struct or create_data_table by naming alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: Enums are for named option sets and are meant to be used with Switch on Enum nodes. This helps an agent decide when to call the tool, but it does not explicitly state when not to use it or name alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_experience_level_componentA

Create the complete experience/level-up Actor Component from Ch. 18.

Creates BP_ExpLevelComp with:

  • CurrentLevel (Integer)

  • CurrentXP (Integer)

  • ExpLevel array (Integer array for XP thresholds per level)

  • CanLevelUp macro

  • XpReachesNewLevel macro

  • IncreaseExperience function (returns bool LeveledUp)

Args: name: Component Blueprint name max_level: Maximum number of levels xp_per_level: XP required for each level up. Defaults to [10,20,40,80,...] folder_path: Content browser folder

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: create_experience_level_component()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_ExpLevelComp
max_levelNo
folder_pathNo/Game/Components
xp_per_levelNo

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?

With no annotations, the description carries the burden of behavioral disclosure. It does disclose what will be created (the BP_ExpLevelComp with specific internals and defaults) and references a KB chapter for more detail. However, it does not mention potential side effects such as overwriting an existing asset, compilation outcomes, permission requirements, or any failure modes. This is a noticeable gap for a mutation tool without annotation safety hints.

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 well-structured: a one-sentence summary, bulleted list of created items, labeled argument list, KB pointer, and example. It front-loads the core purpose and every line adds information. Despite being longer than average, the format makes it scannable and free of fluff.

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 moderately complex (creates a full component with macros and functions) and the description covers all inputs, the created structure, defaults, and a working example. It lacks explicit mention of prerequisite conditions (e.g., an open project, Unreal version) and does not describe the output/return value, but an output schema exists (per context signals) which reduces that burden. Minor gaps prevent a 5.

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?

The schema provides only names and default values with no descriptions (0% coverage), but the description compensates fully. It defines each parameter ('name: Component Blueprint name', 'max_level: Maximum number of levels', 'xp_per_level: XP required for each level up' with default pattern, 'folder_path: Content browser folder'). It also gives a concrete example invocation. This goes above and beyond the structured 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?

The description opens with a specific verb+resource: 'Create the complete experience/level-up Actor Component from Ch. 18.' It then enumerates exactly what is created (variables, macros, function), making the tool's purpose unambiguous. The detailed component list distinguishes it from generic creation tools like create_blueprint or add_component_to_blueprint.

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 clearly states what the tool does and what inputs it takes, so an agent can infer when to use it (when wanting to create an experience/level-up component). It does not explicitly name alternative tools or state when NOT to use it, but the context is clear given the specialized function. This meets 'clear context, no exclusions'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_fps_characterA

Create a First-Person Shooter character Blueprint. Adds a first-person camera and arms mesh components.

Args: name: Blueprint name (e.g., "BP_FPSCharacter")

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_fps_character(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

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 behavioral burden. It discloses the key actions – creating a blueprint and adding camera and arms mesh components – but does not mention side effects such as overwriting existing assets, prerequisites, or compilation behavior. The KB reference adds context but not behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-sentence purpose, then Args, KB, and Example sections. Every line adds value, and the most critical information is front-loaded. No redundancy 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 simple one-parameter tool, the description covers the essential action, parameter meaning, and an example. Since an output schema exists, return values need not be described. It lacks explicit prerequisites or failure modes, but these are less critical for a straightforward creation tool, making it 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?

The input schema provides only 'name' with no description (0% coverage). The description compensates by defining it as 'Blueprint name' and providing an example ('BP_FPSCharacter'), which clarifies the expected format and usage. It adds meaning beyond the schema, though it doesn't mention naming constraints.

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?

Description opens with 'Create a First-Person Shooter character Blueprint' – a specific verb and resource. It further clarifies by stating it 'Adds a first-person camera and arms mesh components,' which distinguishes it from generic character blueprint tools like create_character_blueprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. It does not mention create_character_blueprint or any other sibling, nor does it provide conditions or exclusions. The agent is left to infer suitability solely from the tool's name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_full_enemy_aiA

Create a complete enemy AI setup including:

  • Enemy Character Blueprint

  • AIController Blueprint

  • Blackboard with appropriate keys

  • Behavior Tree with patrol/chase/attack logic

  • BT Tasks for each behavior

Args: enemy_name: Base name (e.g., "Enemy" creates BP_Enemy, BT_Enemy, etc.) has_patrol: Include patrol behavior has_chase: Include chase player behavior has_attack: Include attack behavior

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_full_enemy_ai(enemy_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
has_chaseNo
enemy_nameYes
has_attackNo
has_patrolNo

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 behavioral burden. It clearly states that the tool creates multiple assets and gives the naming convention via the example. However, it does not disclose possible side effects such as overwriting existing assets, required project context, or what completing the setup entails beyond asset creation.

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 well-structured: a concise summary, a bulleted list of what the tool creates, a compact Args list, a KB pointer, and an example. Every section earns its place, and the most important scoping information is front-loaded.

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 complex tool that generates several AI assets, the description covers the core artifacts, all parameters, naming behavior, and an example. It does not explain output/return values, but since an output schema exists, that is not required. Minor gaps include lack of explicit preconditions or collision-with-existing-asset behavior.

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. The Args section explains every parameter: enemy_name is described as a base name with a concrete naming example, and each boolean flag is explained ('Include patrol behavior', 'Include chase player behavior', 'Include attack behavior'). This gives an agent everything needed to set the arguments correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create') and a clear resource ('complete enemy AI setup'), and breaks down the components produced (Character Blueprint, AIController, Blackboard, Behavior Tree, BT Tasks). However, it does not explicitly differentiate itself from the closely related sibling create_full_upgraded_enemy_ai, so an agent might not know which 'full' AI variant to choose.

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 like create_behavior_tree, create_blackboard, or create_full_upgraded_enemy_ai. The intent is only implied by 'Create a complete enemy AI setup', and no prerequisites or exclusion conditions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_full_upgraded_enemy_aiA

Create a complete upgraded enemy AI setup from Ch.9-10.

Builds:

  • Enemy Character Blueprint (with PawnSensing, health variables)

  • AI Controller Blueprint (runs BT, handles OnSeePawn/OnHearNoise)

  • Blackboard with all keys (PlayerCharacter, HasHeardSound, LocationOfSound, CurrentPatrolPoint, bCanSeePlayer)

  • Behavior Tree with Patrol/Chase/Attack/Investigate/Wander sequences

  • BTTask_DoAttack with configurable damage

  • BTTask_FindWanderPoint for random wandering

  • Enemy Spawner Blueprint for wave-based spawning

Args: enemy_name: Base name (creates BP_Enemy, BT_Enemy, BB_Enemy, etc.) has_patrol: Include patrol behavior with patrol points has_chase: Include player-chasing behavior has_attack: Include melee attack behavior has_hearing: Include sound-detection behavior has_wandering: Include random wandering behavior attack_damage: Damage dealt per attack (0.25 = 25% of health) hearing_distance: PawnSensing hearing radius in cm

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: create_full_upgraded_enemy_ai(enemy_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
has_chaseNo
enemy_nameYes
has_attackNo
has_patrolNo
has_hearingNo
attack_damageNo
has_wanderingNo
hearing_distanceNo

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, and it does disclose a rich set of behaviors: which blueprints, blackboard keys, tasks, and spawner are built, plus configurable damage and hearing radius. However, it omits side effects like whether existing assets named from enemy_name are overwritten, whether the result is saved/compiled, and any required 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficiently organized: an intro sentence, a scannable build list, an args block, a KB pointer, and an example. There is no filler or redundant restatement of the input 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?

For a high-complexity tool with no annotations, the description covers the build contents and parameters thoroughly, and an output schema exists so return values need not be described. It is still incomplete in deciding when to use it versus create_full_enemy_ai and in stating prerequisites or side effects such as overwrites.

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%, but the Args section compensates by explaining every parameter, including units (hearing_distance in cm), meaning (attack_damage 0.25 = 25% of health), and naming behavior (enemy_name creates BP_Enemy, BT_Enemy, BB_Enemy, etc.). This is well beyond what the titles in the schema provide.

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 complete upgraded enemy AI setup from Ch.9-10,' followed by a concrete list of the assets and components built. It is clear about what the tool produces, but it never explicitly contrasts itself with the closely named sibling create_full_enemy_ai.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to choose this tool over create_full_enemy_ai or the individual AI-creation tools. The KB pointer and 'from Ch.9-10' imply a context, but there are no explicit conditions, exclusions, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_game_instanceA

Create a GameInstance Blueprint.

GameInstance persists across level loads and is ideal for storing player progress, settings, and cross-level data.

Args: name: Blueprint name (e.g., "BP_MyGameInstance")

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_game_instance(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

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?

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Create' and explains the conceptual role of GameInstance, but does not mention side effects, whether existing assets are overwritten, where the Blueprint is created, or whether it is automatically assigned as the project's GameInstance class.

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 compact and well organized with a clear action line, a short rationale, an args section, a KB pointer, and an example. It is slightly redundant because the Args block and example both communicate the same parameter, but the overall structure is 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?

For a one-parameter creation tool, the description covers the essential invocation details and even links to a knowledge base overview. It is adequate, but it lacks information about expected asset location, naming conflicts, and creation side effects, which an agent may need when deciding whether this is the right mutation to perform.

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 schema only provides the parameter name 'name', so the description adds meaningful value by explaining it as the Blueprint name and giving a realistic example, 'BP_MyGameInstance'. That is sufficient guidance for the single parameter despite the schema having no property description.

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 clear action and resource: 'Create a GameInstance Blueprint.' The explanation that GameInstance persists across level loads for player progress and cross-level data helps an agent understand what this asset is for, but it does not explicitly name or contrast sibling tools such as create_game_mode or create_player_controller.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use this tool: storing player progress, settings, and cross-level data that must survive level loads. It stops short of stating when not to use it or naming alternatives, so it is useful but not fully explicit about exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_game_modeA

Create a GameModeBase Blueprint with optional class assignments.

The GameMode controls which classes (Pawn, HUD, PlayerController, etc.) are used when the level starts.

Args: name: Blueprint name (e.g., "BP_MyGameMode") default_pawn_class: Default pawn Blueprint name hud_class: HUD Blueprint name player_controller_class: PlayerController Blueprint name game_state_class: GameState Blueprint name spectator_class: Spectator pawn Blueprint name

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_game_mode(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
hud_classNo
spectator_classNo
game_state_classNo
default_pawn_classNo
player_controller_classNo

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 behavioral burden. It clearly indicates a creation operation and explains the resulting asset's effect on level startup, which is useful. However, it does not disclose edge-case behavior such as overwriting existing assets, whether the Blueprint is compiled, or that creating the asset does not by itself assign the GameMode to a level.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized: core action first, then a short clarifying paragraph, a compact arg list, a KB pointer, and an example. Each section earns its place without excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters, provides an example, and includes a KB reference, making it mostly usable with six parameters and no schema descriptions. It is incomplete, however, regarding when to use this tool versus related GameMode/HUD/PlayerController tools and what happens on naming conflicts or level assignment.

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 by listing all six parameters with plain-language meanings and an example. The explanations are minimal ('Blueprint name' for each class), but they add value beyond the bare schema titles and make the required name parameter clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Create a GameModeBase Blueprint' with optional class assignments. It further explains the GameMode's role in controlling classes at level start, which distinguishes it from generic creation tools like create_blueprint or sibling HUD/PlayerController creation 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?

The description provides context about what a GameMode does but does not state when to choose this tool over alternatives such as set_game_mode_for_level, create_hud_blueprint, or create_player_controller. No explicit when-to-use, prerequisites, or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_grab_componentA

Create a GrabComponent Scene Component for VR object grabbing.

From Ch. 16: The GrabComponent is added to any Actor you want to be grabbable in VR. It handles attachment to the motion controller and supports multiple grab types.

Grab Types (from the book):

  • "None": Grabbing disabled (without removing component)

  • "Free": Object attaches at current relative position (cubes, balls)

  • "Snap": Object snaps to predefined grip location/rotation (weapons)

  • "Custom": Use OnGrabbed/OnDropped event dispatchers for custom logic

The Actor must have Mobility set to Movable.

Args: name: Component Blueprint name default_grab_type: Default grab type ("Free", "Snap", "None", "Custom") folder_path: Content browser folder

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: create_grab_component()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_GrabComponent
folder_pathNo/Game/VR/Blueprints
default_grab_typeNoFree

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must carry the behavioral burden. It usefully explains the four grab-type behaviors and the Movable prerequisite. However, it leaves ambiguity about whether the tool adds a component to an existing/selected Actor or creates a standalone component asset, and it does not mention side effects or creation semantics beyond 'create.'

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 organized into purpose, grab-type definitions, a prerequisite, args, KB reference, and example. Most content earns its place, though the source-chapter reference and trailing example are marginal and the bullet list could be slightly 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?

The description covers purpose, parameters, grab types, and a key prerequisite, and an output schema exists to handle return values. The main gap is the missing target/scope of the operation: it never states which Actor receives the component or whether the tool creates a reusable asset, which is essential information before 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%, and the description compensates by explaining all three parameters: name as the component blueprint name, default_grab_type with its four allowed values and meanings, and folder_path as the content browser folder. It does not restate schema defaults, but those are already present in the input 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?

The description opens with a specific verb-resource pair: 'Create a GrabComponent Scene Component for VR object grabbing.' It then differentiates the tool by describing the component's role (handles attachment to the motion controller, supports multiple grab types), which clearly separates it from generic create_component or make_actor_vr_grabbable siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear use case: 'The GrabComponent is added to any Actor you want to be grabbable in VR' and adds an explicit prerequisite ('The Actor must have Mobility set to Movable'). It does not name alternatives or exclusions, so it stops short of full routing guidance, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_hud_blueprintB

Create a HUD Blueprint.

Args: name: Blueprint name (e.g., "BP_MyHUD")

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_hud_blueprint(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
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 carries the full burden of behavioral disclosure. It only repeats that it creates a HUD Blueprint and gives a naming example, but does not mention what asset is actually created, whether it is saved, whether existing assets are overwritten, or what side effects follow. The KB reference is not a substitute for inline behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core action. It includes only the essential invocation pieces: parameter explanation, a KB pointer, and an example, with no 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 simple one-parameter creation tool with an output schema, the invocation essentials are present. However, the lack of any usage guidance, side-effect disclosure, or distinction from HUD widget creation leaves selection and post-creation expectations only partially defined.

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 schema only defines a string parameter named 'name' with no description. The tool description adds meaningful semantics by explaining that it is the Blueprint name and provides a conventional prefix example, which is enough to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the resource ('HUD Blueprint'), and provides a naming example. However, it does not differentiate the tool from closely related siblings such as create_hud_widget or create_umg_widget_blueprint, so the boundary is not fully 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 create_hud_widget or create_blueprint. The only contextual hint is a KB pointer, and the example demonstrates invocation but not selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_hud_widgetA

Create a complete HUD Widget Blueprint from Ch. 7.

Builds a full first-person HUD with health bar, stamina bar, ammo counter, and targets-eliminated counter. Each element uses bindings to display live player variable values.

Mirrors the HUD created in Chapters 7-8 of the book:

  • Health/Stamina: Progress Bars with float bindings

  • Ammo: Text Block with integer binding

  • Targets Eliminated / Target Goal: Text Blocks

Args: widget_name: Widget Blueprint name health_bar: Include a health progress bar stamina_bar: Include a stamina progress bar ammo_counter: Include an ammo count text display targets_counter: Include a targets eliminated counter target_goal_display: Include a target goal counter round_display: Include a round number display folder_path: Content browser folder

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: create_hud_widget()

ParametersJSON Schema
NameRequiredDescriptionDefault
health_barNo
folder_pathNo/Game/UI
stamina_barNo
widget_nameNoWBP_HUD
ammo_counterNo
round_displayNo
targets_counterNo
target_goal_displayNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that the tool builds a complete HUD with variable bindings, which is a meaningful side effect. However, it does not mention whether an existing widget with the same name is overwritten, whether any external assets are required, or what happens if the target variables are absent. The description is transparent about scope but silent on edge cases and 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 somewhat lengthy with a redundant bullet list that repeats the components already summarized in the opening paragraph. However, it is well-structured: purpose first, then detailed components, then args, then KB reference and example. It front-loades actions and scopes, so the bulk is informative rather than 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 high-level creation tool, the description covers the essential context: what will be built, the binding mechanism, every parameter, and a KB pointer. It does not specify hidden prerequisites or error conditions, and it relies on the KB for deeper detail. Given that an output schema exists, the absence of return-value explanations is acceptable. The description is complete enough for a competent agent to invoke the tool correctly without diving into external docs.

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?

The schema description coverage is 0%, so the description must fully compensate. It lists all 8 parameters with concise, meaningful one-liners (e.g., 'health_bar: Include a health progress bar', 'group_display: Include a round number display'). This gives the agent enough to set each argument intelligently with no ambiguity about their intent.

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: 'Create a complete HUD Widget Blueprint from Ch. 7.' It enumerates the exact components (health bar, stamina bar, ammo counter, targets counter) and explains that they use live bindings游. This clearly distinguishes it from lower-level sibling tools like add_progress_bar_to_widget or create_umg_widget_blueprint.

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 describing a full assembly task rather than individual widget creation, and the KB reference provides context. However, it never explicitly states when to prefer this over manually composing widgets with sibling tools, nor does it mention any prerequisites or limitations (e.g., required player variables). Usage guidance is tacit, not directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_ik_retargeterA

Create an IK Retargeter asset that maps animations from a source skeleton to a target skeleton.

Requires that both source and target IK Rig assets already exist (use create_ik_rig first). This is the equivalent of the UE5 editor "Create IK Retargeter" workflow.

Typical workflow:

  1. create_ik_rig (source)

  2. create_ik_rig (target)

  3. create_ik_retargeter ← this tool

  4. batch_retarget_animations

Args: retargeter_name: Asset name (e.g. "RTG_Mannequin_To_MyChar") source_ik_rig_path: Full content path to source IK Rig (e.g. "/Game/Animation/IKRigs/IKR_Mannequin") target_ik_rig_path: Full content path to target IK Rig (e.g. "/Game/Animation/IKRigs/IKR_MyCharacter") path: Destination content-browser folder auto_map_chains: Automatically map chain pairs by name similarity auto_align_bones: Automatically align A-pose / T-pose between skeletons

Returns: dict with keys: success, asset_path, message

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: create_ik_retargeter(retargeter_name="ExampleName", source_ik_rig_path="/Game/MCP_Test/Example", target_ik_rig_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Animation/Retargeters
auto_map_chainsNo
retargeter_nameYes
auto_align_bonesNo
source_ik_rig_pathYes
target_ik_rig_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses prerequisites, the UE5 editor workflow equivalence, and the return dictionary structure. It does not explicitly warn about failure modes if prerequisites are unmet, nor does it describe side effects like asset creation location in detail, but the core behavioral context is transparent enough for an agent to safely invoke the 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 structured with clear sections (core line, prerequisites, workflow, args, returns, KB reference, example). It is slightly longer than strictly necessary, but every section earns its place by providing actionable context. The front-loaded one-line purpose plus numbered workflow aids skimming.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with six parameters and zero schema descriptions, the description covers all necessary context: what the asset does, prerequisite assets, the exact workflow position, parameter semantics with examples, the return shape, and a KB pointer. An agent can call it correctly without needing additional 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 compensate. The 'Args:' section explains all six parameters with names, purposes, and examples (e.g., 'retargeter_name: Asset name (e.g. "RTG_Mannequin_To_MyChar")', 'path: Destination content-browser folder'). This fully bridges the gap left by 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?

The description states a specific verb ('Create'), a concrete resource ('an IK Retargeter asset'), and its function ('maps animations from a source skeleton to a target skeleton'). It also distinguishes the tool from siblings by explicitly referencing create_ik_rig (prerequisite) and batch_retarget_animations (follow-up), making its role in the pipeline unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit prerequisites ('Requires that both source and target IK Rig assets already exist'), names the alternative tool to use first ('use create_ik_rig first'), and outlines a numbered typical workflow (1. create_ik_rig source, 2. create_ik_rig target, 3. create_ik_retargeter, 4. batch_retarget_animations). This leaves no ambiguity about when and how to use the tool relative to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_ik_rigA

Create an IK Rig asset for a Skeletal Mesh.

IK Rigs define retarget chains (bone chains like Spine, LeftArm, RightLeg) and are required by the IK Retargeter. This tool uses the UE5 Python API (unreal.IKRigController) via exec_python.

Typical workflow:

  1. create_ik_rig for source skeleton (e.g. Mannequin)

  2. create_ik_rig for target skeleton (e.g. your custom character)

  3. create_ik_retargeter linking source → target

  4. batch_retarget_animations to export retargeted animations

Args: ik_rig_name: Asset name, e.g. "IKR_Mannequin" skeletal_mesh_path: Full content path, e.g. "/Game/Characters/Mannequin/SK_Mannequin" path: Destination content-browser folder auto_generate_chains: If True, calls apply_auto_generated_retarget_definition to auto-detect spine / limb chains (recommended for humanoid skeletons). Set False for custom chain setup.

Returns: dict with keys: success, asset_path, message

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: create_ik_rig(ik_rig_name="ExampleName", skeletal_mesh_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Animation/IKRigs
ik_rig_nameYes
skeletal_mesh_pathYes
auto_generate_chainsNo

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 provided, the description carries the behavioral burden. It discloses that creation uses unreal.IKRigController via exec_python, that auto_generate_chains triggers apply_auto_generated_retarget_definition, and that the return value is a dict with success, asset_path, and message. It does not cover overwrite behavior, error conditions, or validation failures, but it provides meaningful behavioral detail beyond the raw 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 well-structured: an opening summary, a compact workflow list, an Args section, Returns, KB pointer, and an example. It is longer than a minimal description but each section adds useful context, and the most important information is front-loaded. A few sentences, such as the KB reference, are optional but 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?

The description covers the tool's role, workflow position, all parameters, return shape, and an example, which is strong for a 4-parameter asset-creation tool. It lacks explicit information about failure modes, prerequisites like the skeletal mesh existing, and overwrite semantics, but these are relatively minor given the workflow and examples provided.

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?

Despite 0% schema description coverage, the description compensates fully by explaining every parameter: ik_rig_name with an example value, skeletal_mesh_path with a full content path example, path as the destination folder, and auto_generate_chains with behavioral meaning and a recommendation. This goes well beyond the bare schema property names and gives an agent enough semantic context to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: it creates an IK Rig asset for a Skeletal Mesh and explains that IK Rigs define retarget chains required by the IK Retargeter. It distinguishes this tool from siblings like create_ik_retargeter and add_ik_rig_retarget_chain by focusing on asset creation rather than retargeting or chain editing.

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 a numbered typical workflow showing when to call this tool for source and target skeletons, followed by create_ik_retargeter and batch_retarget_animations. It also gives conditional guidance on auto_generate_chains for humanoid skeletons versus custom setup. It does not explicitly state when not to use the tool, but the workflow strongly implies the correct context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_input_mappingB

Create an input mapping in the project settings (legacy input system).

Args: action_name: Name of the input action (e.g., "Jump", "Fire", "MoveForward") key: Key binding (SpaceBar, LeftMouseButton, W, A, S, D, Gamepad_FaceButton_Bottom, etc.) input_type: "Action" (button press) or "Axis" (analog/continuous)

KB: see knowledge_base/15_INPUT_SYSTEM_AND_UMG.md#overview Example: create_input_mapping(action_name="ExampleName", key="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
input_typeNoAction
action_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?

With no annotations, the description carries the full behavioral burden. It states that a mapping is created in project settings, but it does not disclose whether existing mappings are overwritten, whether this is destructive or reversible, or what happens on duplicate action/key pairs.

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 compact and well-structured: purpose sentence, Args block, KB pointer, and example. It stays focused and front-loads the main purpose 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?

It is adequate for a simple create tool: parameters are documented, the scope is stated, and a KB link is provided while an output schema covers the return value. It is incomplete in usage differentiation and behavioral side effects, and the example is misleading.

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 parameter descriptions are essential; the description compensates by explaining action_name, giving concrete key examples, and defining input_type as 'Action' vs 'Axis'. The example undercuts this slightly by using key='ExampleName', which is not a real key binding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific operation and target: 'Create an input mapping in the project settings (legacy input system).' The 'legacy input system' qualifier helps distinguish it from enhanced-input siblings, though it does not 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 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 or when-not-to-use guidance. The 'legacy input system' label implies a context, but the description never tells the agent to prefer create_input_mapping_context/add_input_mapping for enhanced input or how to choose among the many input-related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_input_mapping_contextC

Create an Input Mapping Context for Enhanced Input system.

Args: context_name: Name of the IMC asset mappings: List of dicts with 'action' and 'key' fields path: Content browser path

Example mappings: [{"action": "IA_Jump", "key": "SpaceBar"}, {"action": "IA_Move", "key": "W"}]

KB: see knowledge_base/15_INPUT_SYSTEM_AND_UMG.md#overview Example: create_input_mapping_context(context_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Input
mappingsNo
context_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/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 doesn't state whether this creates a new asset, overwrites an existing one, requires the path to exist, or what happens on failure. The example shows a minimal call with only context_name, but the description doesn't explain default behavior for omitted mappings or path.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise but includes a KB reference and example that add value. However, the structure is a bit scattered: the example appears twice (once as 'Example mappings' and once as 'Example'), and the KB reference is cryptic. It earns its place but could be tighter.

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 and 3 parameters, but the description doesn't explain what the tool returns or how the output should be interpreted. It also doesn't cover important context like whether the path must exist, how mappings relate to existing actions, or what happens with duplicate context names. The KB reference helps but is not self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains context_name and mappings with an example, but doesn't clarify the format of the 'path' parameter beyond 'Content browser path', nor does it explain the structure of mapping dicts beyond 'action' and 'key' fields. The example mappings are helpful but incomplete for edge cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates an Input Mapping Context asset for the Enhanced Input system, with a specific verb ('Create') and resource ('Input Mapping Context'). It distinguishes itself from sibling tools like create_input_mapping and add_input_mapping by focusing on the context asset itself, though it doesn't 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 description provides an example call and a knowledge base reference, which implies usage context. However, it doesn't explicitly state when to use this tool versus alternatives like create_input_mapping or add_input_mapping, nor does it mention prerequisites like needing an Enhanced Input action to exist first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_level_variant_setsA

Create a Level Variant Sets asset for product configurator / variant switching.

From Ch. 20: Level Variant Sets is an asset containing multiple Variant Sets, each containing Variants. Each Variant captures specific property changes on actors in the level (materials, meshes, visibility, transforms).

Structure: LevelVariantSets (asset) └── VariantSet (e.g., "Color", "Wheels", "Interior") ├── Variant (e.g., "Red", "Blue", "Green") │ └── Captured Properties (actor -> property -> value) └── Variant (e.g., "Black")

Args: name: Level Variant Sets asset name variant_sets: List of variant set definitions: [{"name": str, "variants": [{"name": str, "captures": [...]}]}] folder_path: Content browser folder

Example: create_level_variant_sets()

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoLVS_ProductConfigurator
folder_pathNo/Game/Configurator
variant_setsNo

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 provided, the description carries the full burden and does a solid job: it explains the asset's hierarchy, what each Variant captures, lists arguments, and references a knowledge base chapter. It doesn't mention overwrite behavior, permissions, or failure cases, but the detailed data structure and example provide significant transparency beyond the action 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?

The description is longer than average but well-structured: purpose, hierarchy diagram, args, example, and KB reference. Each section adds value for a complex data structure, though the 'From Ch. 20' intro and the diagram could be slightly tightened without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the absence of annotations, the description covers the essential aspects: what is created, how it is structured, what the arguments mean, and an example. It stops short of covering edge cases like duplicate names or required captures, but the presence of an output schema mitigates the need for return-value details.

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 fully compensates with an 'Args:' section that defines each parameter in plain language and provides the exact JSON structure for variant_sets with an example. This adds clear meaning beyond the bare schema property names and defaults.

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 opens with a specific verb+resource: 'Create a Level Variant Sets asset for product configurator / variant switching.' It clearly distinguishes this creation tool from siblings like add_variant_to_level_variant_sets by focusing on the asset creation and its internal structure. The additional hierarchy breakdown makes the intended function 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?

The description gives clear context ('for product configurator / variant switching') and describes the asset structure, which implies when it should be used. However, it does not explicitly state when not to use it or route to alternatives such as add_variant_to_level_variant_sets for extending an existing asset, leaving the selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_lose_screen_widgetA

Create a Lose/Death screen Widget Blueprint as described in Ch. 11.

Mirrors the Win screen duplication approach from the book. Creates a UMG Widget Blueprint with a loss message, restart, and quit buttons.

Args: widget_name: Widget Blueprint name (e.g., "WBP_LoseMenu") message_text: The main message (e.g., "You Lose!") message_color: RGBA color for the message [R, G, B, A] show_restart_button: Add a Restart (reload level) button show_quit_button: Add a Quit Game button

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: create_lose_screen_widget()

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_nameNoWBP_LoseMenu
message_textNoYou Lose!
message_colorNo
show_quit_buttonNo
show_restart_buttonNo

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?

There are no annotations, so the description carries the burden. It discloses the core side effect (creating a UMG Widget Blueprint) and the included buttons, but it does not mention whether an existing asset is overwritten, whether the widget is saved/compiled, or whether it is added to the viewport. The KB reference partially compensates but is not a substitute.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured with a purpose statement, an Args block, a KB pointer, and an example, and it front-loads the main purpose. It is slightly redundant between the first sentence and the later 'Creates a UMG Widget Blueprint...' sentence, but there is no unnecessary 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?

Given that an output schema exists and all parameters have defaults, the description covers the essential behavior, arguments, and a concrete no-argument example. The main gaps are lack of explicit alternative tool guidance and asset-location/overwrite behavior, but the KB link provides a path to those details.

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 description compensates by explaining all five parameters, including the RGBA shape and the meaning of the two boolean buttons. It lacks some constraints such as the accepted color value range, but the defaults and examples make the parameters usable.

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 opens with a specific verb and resource ('Create a Lose/Death screen Widget Blueprint') and details the expected contents (loss message, restart, quit buttons). It also signals how it relates to the sibling win-screen tool by saying it mirrors the Win screen duplication approach, so the agent can distinguish it from generic UMG creation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by the name and first sentence: use it when you need a lose/death screen widget. However, it never explicitly contrasts this with create_win_menu_widget, create_umg_widget_blueprint, or add_widget_to_viewport, and provides no when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_materialA

Create a simple Material asset in the Unreal Content Browser.

As described in Ch. 5, Materials use VectorParameter nodes for color and ScalarParameter nodes for Metallic/Roughness. This tool automates the creation of a simple solid-color material.

Args: name: Material asset name (e.g., "M_TargetRed") base_color: RGBA color array [R, G, B, A] 0.0-1.0 (e.g., [1,0,0,1] for red) metallic: Metallic value 0.0-1.0 roughness: Roughness value 0.0-1.0 emissive_color: RGBA emissive color for glow effects opacity: Opacity 0.0-1.0 (1.0 = fully opaque) folder_path: Content browser path where material is created

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: create_material(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
opacityNo
metallicNo
roughnessNo
base_colorNo
folder_pathNo/Game/Materials
emissive_colorNo

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 behavioral transparency burden. It discloses that the tool creates an asset and describes the internal node types used, which is useful context. However, it does not mention overwrite behavior, name conflicts, whether the material is compiled/saved, or any side effects in the Content Browser.

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 a clear purpose, then provides relevant background, a complete argument list, a KB pointer, and an example. It is a bit long but every section earns its place, and the structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter creation tool with no annotations, the description covers the purpose and all parameter semantics well. It lacks guidance on overwriting existing assets, save/compile behavior, or prerequisites, and the example is minimal. Since an output schema is present, the absence of return-value details is acceptable.

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?

The input schema has no per-property descriptions (0% coverage), but the description fully compensates by explaining all seven parameters, including value ranges like 0.0–1.0, RGBA ordering, and an example for a red base color. This gives an agent the semantic meaning needed to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: create a simple Material asset in the Unreal Content Browser, and further narrows it to solid-color materials using VectorParameter and ScalarParameter nodes. It is more specific than many sibling tools, but it never explicitly distinguishes itself from closely related creation tools like material_create_master or create_dynamic_material_instance.

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 use case: simple solid-color materials, and it references Chapter 5 as background. However, it gives no explicit guidance about when to choose this tool over the many material-related siblings, and it names no alternatives or exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_pause_menu_widgetA

Create a Pause Menu Widget Blueprint as described in Ch. 11.

Creates the pause menu with Resume, Restart, Reset Save, and Quit buttons. Also sets up the pause menu toggle (input action -> SetGamePaused + widget).

Args: widget_name: Widget Blueprint name (e.g., "WBP_PauseMenu") resume_button: Include a Resume (unpause) button restart_button: Include a Restart level button reset_save_button: Include a Reset Save File button quit_button: Include a Quit Game button

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: create_pause_menu_widget()

ParametersJSON Schema
NameRequiredDescriptionDefault
quit_buttonNo
widget_nameNoWBP_PauseMenu
resume_buttonNo
restart_buttonNo
reset_save_buttonNo

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 behavioral disclosure burden. It does disclose the main effects: creating a widget Blueprint, adding specific buttons, and setting up a pause toggle via input action to SetGamePaused and the widget. However, it omits side effects such as whether an existing widget is overwritten, whether compilation happens, or whether any asset save is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized with a short summary, a detailed Args section, a KB reference, and an example. It is mostly concise, though the repeated 'Creates...' phrasing in the opening lines adds slight redundancy without much extra value.

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 5-parameter tool with an output schema, the description covers the core behavior, every parameter, an example, and a knowledge-base pointer. It is missing explicit failure-mode or precondition information, but the provided context is sufficient for most invocations.

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%, but the Args block compensates fully by defining each parameter's semantic intent, including the boolean 'Include...' meaning and a concrete widget_name example. The example call and KB reference further clarify how to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Create') and resource ('Pause Menu Widget Blueprint') and enumerates the buttons it adds. However, it does not explicitly distinguish itself from sibling tools like create_win_menu_widget or create_hud_widget, though the pause-menu-specific detail makes the purpose mostly 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 provides no guidance on when to use this tool versus alternatives such as create_win_menu_widget, create_lose_screen_widget, or the lower-level add_button_to_widget. Usage context is only implied by the tool name and the mention of a pause menu, with no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_pickup_blueprintA

Create a pickup actor Blueprint (health, ammo, powerup, etc.).

Args: name: Blueprint name pickup_type: Type label ("Health", "Ammo", "Key", etc.) value: Pickup value amount rotate_speed: Degrees per second rotation (0 = no rotation)

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_pickup_blueprint(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
valueNo
pickup_typeNoHealth
rotate_speedNo

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?

The main behavior—creating a pickup Blueprint—is stated clearly, and the parameter list explains what the Blueprint will contain. With no annotations present, though, the description does not disclose side effects such as whether this creates a new asset, overwrites an existing one, compiles, or saves, leaving some behavioral burden on the KB reference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well organized: a one-line purpose, a scannable Args list, a KB pointer, and a minimal example. No redundant sentences or restating of schema defaults; 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?

For a 4-parameter tool with an output schema, the description is largely complete: all parameters are documented, the KB link provides domain context, and the example demonstrates the minimal valid call. It is not perfect because it omits any guidance about project state or post-creation effects, but nothing essential to invoking it is missing.

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%, but the Args block fully compensates: every parameter gets a meaningful one-line semantics. It explains rotate_speed in degrees per second with '0 = no rotation', gives examples for pickup_type, and clarifies value as the pickup amount, going well beyond bare schema titles.

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?

Description opens with a specific verb and resource: 'Create a pickup actor Blueprint', with examples of pickup categories (health, ammo, powerup). This is distinguishable from sibling tools like create_blueprint or create_projectile_blueprint because it names the actor subtype and its gameplay purpose.

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 purpose makes the intended use inferable, and the KB reference points to a gameplay framework section, but the description never states when to choose this tool over alternatives such as create_blueprint or spawn_blueprint_actor, nor lists exclusions. Usage remains implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_player_controllerA

Create a PlayerController Blueprint.

Args: name: Blueprint name (e.g., "BP_MyPlayerController") show_mouse_cursor: Show mouse cursor in game enable_click_events: Enable actor click events enable_touch_events: Enable touch events

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_player_controller(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
show_mouse_cursorNo
enable_click_eventsNo
enable_touch_eventsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 PlayerController Blueprint is created and what the boolean parameters do, but it does not disclose where the asset is created, whether an existing asset is overwritten, whether the blueprint is compiled, or what side effects the creation has. The KB link is a pointer rather than actual behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured with an Args list, a KB reference, and an example, and every line earns its place. It is slightly redundant in that the example mostly duplicates the parameter explanation, but overall it remains compact and scannable.

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 creation tool, the description covers all parameters, gives a usable example, and points to relevant knowledge base material. Since an output schema exists, return values need not be described. The main gap is the lack of behavioral side-effect context, but the description is otherwise sufficient for an agent 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?

Schema description coverage is 0%, and the description compensates well by explaining all four parameters in plain language, including a naming example for `name` and one-line semantics for the boolean flags. It adds meaning beyond the schema's types and defaults, though it could be stronger on naming constraints such as whether the 'BP_' prefix is required.

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 opens with a specific verb and resource: 'Create a PlayerController Blueprint.' This clearly identifies the tool's function and distinguishes it from sibling creation tools like create_ai_controller, create_character_blueprint, and create_game_mode. The inclusion of a concrete naming example further reinforces the intended outcome.

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 usage context through the tool name and the KB pointer to the gameplay framework overview, but it does not explicitly state when to use this tool over alternatives or when not to use it. There is no exclusion guidance, such as 'for AI controllers use create_ai_controller instead,' so the agent must infer the appropriate selection from the resource type alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_procedural_mesh_blueprintA

Create a procedural mesh placement Blueprint using Construction Script.

From Ch. 19: Creates BP_ProceduralMeshes that uses an Instanced Static Mesh component and nested For Loops in the Construction Script to place rows of static mesh instances. All parameters are Instance Editable so level designers can configure them per instance.

The result is a Blueprint that, when placed in a level, automatically generates a grid of mesh instances (e.g., rows of chairs, plants, lights).

Args: name: Blueprint name (e.g., "BP_ProceduralMeshes") static_mesh_path: Default Static Mesh asset path default_instances_per_row: Number of instances per row default_number_of_rows: Number of rows default_space_between_instances: Spacing between instances in a row (UE units) default_space_between_rows: Spacing between rows (UE units) folder_path: Content browser folder

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: create_procedural_mesh_blueprint()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_ProceduralMeshes
folder_pathNo/Game/Blueprints
static_mesh_pathNo/Game/StarterContent/Props/SM_Chair
default_number_of_rowsNo
default_instances_per_rowNo
default_space_between_rowsNo
default_space_between_instancesNo

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 it does a solid job: it discloses that the tool creates a Blueprint asset, uses an Instanced Static Mesh component, relies on nested For Loops in Construction Script, and auto-generates a grid when placed in a level. It does not mention overwrite behavior, compile steps, or failure conditions, which keeps this from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loaded with the core purpose, followed by mechanism, result, Args, KB reference, and example. It is somewhat verbose with repeated concepts like 'Creates BP_ProceduralMeshes' and 'The result is a Blueprint,' but every section earns its place overall.

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 tool with 7 optional parameters, an output schema, and no annotations, the description is reasonably complete: it covers what is made, how it behaves, what the parameters mean, where the asset goes, and points to a KB reference. It does not mention prerequisites such as the static mesh asset existing or what happens if the target asset already exists, which are useful for a world-building automation agent.

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 Args section is essential and helpful: every parameter is listed with a plain-English meaning, and units are given for spacing values. It adds real semantic value over the raw schema, though it stops short of providing validation rules, path formats, or value 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?

The description names a specific deliverable (a procedural mesh placement Blueprint), the mechanism (Construction Script with Instanced Static Mesh and nested For Loops), and the concrete result (a placed Blueprint that generates a grid of mesh instances). This clearly distinguishes it from generic Blueprint creation tools and from spline-based placement siblings by stating the grid/rows behavior.

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 gives clear context about the intended use case, such as rows of chairs, plants, or lights, and notes the parameters are Instance Editable for level designers. However, it never explicitly names alternatives or states when NOT to use this tool, leaving the agent to infer the appropriate choice from the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_product_configurator_blueprintA

Create the BP_Configurator Blueprint from Ch. 20.

Creates a Blueprint that:

  1. Holds a reference to the Level Variant Sets asset

  2. On BeginPlay: iterates variant sets + variants to dynamically build a UMG widget with buttons for each variant

  3. Each button is bound to call ActivateVariant on click

This mirrors the product configurator pattern from the book where the UI is generated dynamically from the Variant Sets data.

Args: name: Configurator Blueprint name lvs_asset_name: Level Variant Sets asset to reference widget_blueprint_name: Widget Blueprint to create for the UI folder_path: Content browser folder

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: create_product_configurator_blueprint()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_Configurator
folder_pathNo/Game/Configurator
lvs_asset_nameNoLVS_ProductConfigurator
widget_blueprint_nameNoWBP_ConfiguratorUI

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 it does so well by listing three concrete runtime behaviors: holding a Variant Sets reference, iterating sets/variants on BeginPlay, and binding buttons to ActivateVariant. It also implies the tool creates a Widget Blueprint. It could further disclose whether assets are saved/compiled or whether the referenced Variant Sets asset must pre-exist, but the disclosed behavior is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-line purpose, a numbered behavioral list, an Args block, a KB pointer, and an example call. It is slightly repetitive (the final 'mirrors the product configurator pattern' rephrases the opening line) but stays compact and scannable.

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 tool that creates a blueprint with specific wiring and widget generation, the description covers the core workflow, parameters, source reference, and an example. An output schema exists, so return-value documentation is not needed. Minor gaps include whether the Level Variant Sets asset must already exist and whether the created blueprint is compiled/saved, but the description is otherwise sufficient for invoking the 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. The Args section gives each of the four parameters a plain-language meaning (e.g., 'Level Variant Sets asset to reference', 'Widget Blueprint to create for the UI'), which goes beyond the bare names in the schema. Coverage is complete, though not deeply detailed about constraints or naming conventions.

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 opens with a specific verb and resource: 'Create the BP_Configurator Blueprint from Ch. 20.' It then enumerates exactly what the blueprint does (holds a Variant Sets reference, builds UMG widgets, binds ActivateVariant), making it clearly distinct from generic blueprint-creation siblings like create_blueprint or create_umg_widget_blueprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: this tool implements the book's product configurator pattern with dynamically generated UI from variant set data. It does not explicitly state when not to use it or name alternatives, but the 'mirrors the product configurator pattern' phrase strongly signals the intended use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_projectile_blueprintB

Create a Projectile Blueprint with movement component.

Args: name: Blueprint name (e.g., "BP_Projectile") speed: Projectile speed in cm/s gravity_scale: Gravity influence (0 = no gravity) damage: Damage amount on hit

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: create_projectile_blueprint(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
speedNo
damageNo
gravity_scaleNo

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 must carry the full behavioral burden. It discloses that a movement component is added, but it doesn't mention side effects (e.g., asset creation side effects, whether it overwrites existing blueprints, required project state), permissions, or any constraints. The description is minimal about behavioral expectations beyond the primary action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and structured: purpose statement, parameter list, KB pointer, and an example. It is front-loaded with the core purpose. The KB pointer adds useful context without bloating the text. Slightly long due to parameter list, but each 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?

For a simple creation tool with an output schema, the description covers the key parameters and gives an example. It doesn't explain post-creation steps (e.g., saving, compiling) but that may be outside scope. Missing usage context (when to use this vs other blueprint tools) is a notable gap, but overall it's adequate for calling 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% (no descriptions in the input schema), so the description compensates by explaining each parameter: speed in cm/s, gravity_scale meaning, damage amount. It also provides a naming example. This adds clear meaning beyond raw types and defaults, though it doesn't specify valid ranges or units for damage.

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 'Create a Projectile Blueprint with movement component' – a specific verb, resource, and distinguishing feature. It differentiates from sibling tools that create other blueprint types (character, animation, etc.). However, it doesn't explicitly name an alternative tool, so it's clear but not maximally differentiated.

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 create_character_blueprint or create_blueprint. No conditions, prerequisites, or when-not-to-use are stated. The example and KB pointer give context but not usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_random_spawner_blueprintA

Create the BP_RandomSpawner Blueprint from Ch. 13.

Creates a Blueprint that:

  • Has a TargetPoints array (Actor Object Reference, Instance Editable)

  • Has a SpawnClass variable (Actor Class Reference, Instance Editable)

  • On BeginPlay: validates both, picks a random TargetPoint from the array, gets its transform, and spawns an actor of the SpawnClass at that location

Args: name: Blueprint name folder_path: Content browser folder

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: create_random_spawner_blueprint()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_RandomSpawner
folder_pathNo/Game/Blueprints

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 behavioral disclosure burden and does it well. It details the Blueprint's variables (TargetPoints array, SpawnClass) and On BeginPlay behavior: validating both, picking a random TargetPoint, getting its transform, and spawning a SpawnClass actor. This goes beyond a simple 'creates a blueprint' statement, though it doesn't mention potential side effects like overwriting existing assets or whether it compiles.

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 well-structured with a clear lead line, bulleted behavior list, Args section, KB reference, and example. Every line adds value—no filler or redundancy. The front-loaded purpose makes it scannable for an agent quickly deciding whether to invoke it.

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 has an output schema and only two optional parameters with sensible defaults, the description fully covers what the agent needs: what asset is created, what it contains, how it behaves, and how to call it. The KB reference provides an optional deeper dive. Nothing critical is missing for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides brief explanations: 'name: Blueprint name' and 'folder_path: Content browser folder.' This adds minimal meaning beyond the property names themselves, and 'name: Blueprint name' is largely tautological. The example call with no arguments hints at defaults, but the defaults only live in the schema. Adequate but shallow compensation.

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 opens with a specific verb and resource: 'Create the BP_RandomSpawner Blueprint from Ch. 13.' It then enumerates exactly what the Blueprint contains and does, making its purpose unmistakable. While it doesn't explicitly name sibling tools, the specificity clearly distinguishes it from generic blueprint creation or other spawner tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is strongly implied by the description—an agent would know to call this when it needs the Ch. 13 random spawner blueprint. However, there are no explicit when-to-use conditions, prerequisites, or exclusions against sibling tools like create_enemy_spawner_blueprint or spawn_blueprint_actor. The guidance is present but implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_round_based_game_systemA

Create a complete round-based game progression system from Ch. 11.

Sets up the full arcade-style round system:

  1. SaveGame blueprint for persistent round data

  2. LoadRound / SaveRound macros in the character Blueprint

  3. SetRoundTargetGoal macro to scale difficulty per round

  4. Win condition check that advances rounds

  5. Integration with the save/load system

Args: character_blueprint: Player character Blueprint name game_mode_blueprint: GameMode Blueprint name save_blueprint_name: SaveGame Blueprint name round_scale_multiplier: How much target goal multiplies per round initial_target_goal: Starting number of targets to eliminate

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: create_round_based_game_system()

ParametersJSON Schema
NameRequiredDescriptionDefault
character_blueprintNoBP_FirstPersonCharacter
game_mode_blueprintNoBP_GameMode
initial_target_goalNo
save_blueprint_nameNoBP_SaveInfo
round_scale_multiplierNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations, the description carries the full burden and only partially bears it. It does disclose which artifacts get created and that macros are injected into the character Blueprint, but it omits side effects entirely — whether existing macros are overwritten, whether the named blueprints must pre-exist or are created, and what happens on repeated invocation. For a tool that mutates multiple assets, this risk profile is significantly under-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?

Well-structured and front-loaded: the purpose verb opens, a compact numbered 5-step list conveys the scope, then Args, a KB pointer, and a no-args example close it out. Given the 0% schema coverage, the Args block and example earn their place, and nothing reads as 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 5-parameter orchestration tool with no annotations and no schema descriptions, the description covers the essentials — what gets built, parameter meanings, a call example — and the output schema covers return values. It remains incomplete on prerequisites and ambiguity: it never states whether the referenced blueprints must already exist, whether the save/load system is created or merely integrated, or what errors result from missing assets.

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 does provide a one-line semantic for all 5 parameters (e.g., round_scale_multiplier 'How much target goal multiplies per round'). This adds real meaning beyond the bare schema titles. Coverage is slightly uneven — game_mode_blueprint's 'GameMode Blueprint name' is near-tautological — but every parameter is at least anchored.

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 ('Create a complete round-based game progression system') and expands it with a 5-step list of exactly what gets set up — SaveGame blueprint, LoadRound/SaveRound macros, SetRoundTargetGoal, win condition, and save/load integration. This clearly separates it from lower-level siblings like create_savegame_blueprint, setup_full_save_load_system, or add_custom_macro, which cover only fragments of this scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope implies when to use it — when a full round-based system is wanted rather than individual pieces — and the title distinguishes it from related siblings. However, it never explicitly names alternatives or states when/when-not conditions; notably its relationship to the overlapping sibling setup_full_save_load_system (which step 5 references) is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_savegame_blueprintA

Create a SaveGame Blueprint class to store persistent game data.

From Ch. 11 of the book: create BP_SaveInfo as a child of SaveGame. SaveGame Blueprints hold variables like current Round, high score, player settings, etc. that persist between play sessions.

Args: name: Blueprint name (e.g., "BP_SaveInfo") variables: List of variable definitions, each a dict with: {"name": str, "type": str, "default_value": any} Types: "Integer", "Float", "Boolean", "String", "Vector" folder_path: Content browser folder path

Example variables: [{"name": "Round", "type": "Integer", "default_value": 1}, {"name": "HighScore", "type": "Integer", "default_value": 0}]

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: create_savegame_blueprint(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
variablesNo
folder_pathNo/Game/Blueprints

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 provided, the description carries the behavioral burden. It explains that the tool creates a new SaveGame child class whose variables persist between sessions, and it documents the variable schema. However, it does not disclose side effects such as whether an existing blueprint is overwritten, whether the asset is compiled or saved, or whether naming collisions are handled.

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 a one-sentence purpose, followed by clearly separated Args, KB reference, and example. The Ch. 11 context and persistent-data explanation add helpful context rather than noise. It is slightly longer than necessary but each 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?

The tool is simple enough that the description covers the essential calling contract: what it creates, how to define variables, and where the blueprint should live. The output schema exists, so return format need not be explained. The main gaps are overwrite/error behavior and clearer when-to-use guidance, but the tool is callable correctly with the provided information.

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 does: the Args block explains every parameter, gives a concrete variable-dict format with allowed types, and shows a realistic example. This is substantially more useful than the bare input 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?

The description opens with a specific verb and resource: 'Create a SaveGame Blueprint class to store persistent game data.' It clearly identifies the asset type (child of SaveGame), the typical naming convention (BP_SaveInfo), and the intended purpose, distinguishing it from generic blueprint creation tools like create_blueprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: this tool should be used when storing persistent game data across play sessions, such as Round, high score, and player settings. It does not explicitly name alternatives or state when not to use it, but the persistent-game-data framing provides sufficient guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_scene_componentA

Create a Scene Component Blueprint (has Transform - location/rotation/scale).

From Ch. 18: Scene Components can be attached to other Scene Components, creating a hierarchy. The book creates BP_CircularMovComp that orbits around the Actor and can have other components (like a Static Mesh shield) attached to it.

Use cases:

  • Orbiting/rotating attachments (the book's rotating shield)

  • Floating damage numbers

  • Aura/effect that follows an actor

  • Socket attachment points

Args: name: Component Blueprint name (e.g., "BP_CircularMovComp") variables: Variable definitions [{"name", "type", "default_value"}] folder_path: Content browser folder

KB: see knowledge_base/11_BLUEPRINT_LIBRARIES_AND_COMPONENTS.md#overview Example: create_scene_component(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
variablesNo
folder_pathNo/Game/Components

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 provided, the description carries the full burden of behavioral transparency. It does disclose that the result is a Scene Component Blueprint with Transform and hierarchy capabilities, which is useful. However, it does not clarify side effects or boundaries, such as whether orbit behavior is actually implemented, whether the asset is compiled/saved, or what happens with invalid parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized into a definition, book context, bulleted use cases, Args, a KB reference, and an example. It is longer than minimal but every section earns its place and the core definition is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the sparse input schema and no annotations, the description covers the essential what, when, and how: asset type, use cases, parameter formats, and an example call. An output schema exists, so return-value documentation is not needed. The main remaining gap is the unaddressed relationship to closely related 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 Args section must compensate, and it does: all three parameters are described, the variables parameter has an explicit JSON structure, and the example call clarifies usage. The description adds meaning absent from the schema, though it does not fully detail allowed types or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line 'Create a Scene Component Blueprint (has Transform - location/rotation/scale)' clearly identifies the verb and resource, and the Transform detail distinguishes it from actor components. However, it does not explicitly distinguish this tool from close siblings like create_actor_component or create_circular_movement_component, so it falls one step short of 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?

The use cases list (orbiting attachments, floating damage numbers, auras, socket attachment points) provides clear context for when to call the tool. But it gives no exclusions or alternatives, and the orbiting use case overlaps with the sibling tool create_circular_movement_component, leaving routing ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_spline_placement_blueprintA

Create a Blueprint that places Static Mesh instances along a Spline component.

From Ch. 19: Creates BP_SplinePlacement with:

  • Spline component (editable in Level Editor by dragging spline points)

  • Instanced Static Mesh component

  • CalculateNumberOfInstances macro (GetSplineLength / SpaceBetweenInstances)

  • Construction Script that iterates along the spline, placing instances at each distance interval using GetLocationAtDistanceAlongSpline + GetRotationAtDistanceAlongSpline

Args: name: Blueprint name static_mesh_path: Default Static Mesh asset path for instances default_space_between_instances: Distance between instances along the spline folder_path: Content browser folder

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: create_spline_placement_blueprint()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_SplinePlacement
folder_pathNo/Game/Blueprints
static_mesh_pathNo/Engine/BasicShapes/Arrow
default_space_between_instancesNo

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 burden of behavior disclosure. It usefully describes the generated blueprint's structure and algorithm (spline component, ISM, construction script using GetLocationAtDistanceAlongSpline), but it does not disclose tool-level side effects such as whether existing assets are overwritten, whether the blueprint is saved/compiled, or how invalid paths are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a headline, component bullet list, Args block, KB link, and example. It is not bloated, though 'From Ch. 19' and the no-argument example add marginal value. The organization makes the information easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a blueprint creation tool with an output schema, the description covers the generated asset's components and parameters well. However, it omits important operational context such as whether the blueprint is automatically saved/compiled, what happens on name conflicts, and any prerequisites for the static mesh asset. The KB reference helps but does not fill those 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?

The input schema has 0% description coverage, so the description's Args section is essential. It gives concise, useful meanings for all four parameters: name, static_mesh_path, default_space_between_instances, and folder_path. It does not specify units for spacing or validation rules, but it fully compensates for the schema's lack of descriptions.

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 opens with a specific verb and resource: 'Create a Blueprint that places Static Mesh instances along a Spline component.' It then enumerates the exact components and construction-script behavior, which makes the tool's purpose unmistakable and distinguishes it from the many lower-level add_* node 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?

No explicit guidance on when to choose this tool over alternatives like add_spline_component, create_blueprint, or add_instanced_static_mesh_component. The description implies a spline-placement use case but never states prerequisites, exclusions, or a preferred workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_structA

Create a custom Struct asset.

Structs group related variables together into a single data type, making it easy to pass multiple values as one parameter.

Args: struct_name: Struct name (e.g., "S_PlayerData") fields: List of field dicts: [{"name": "Health", "type": "Float"}, {"name": "PlayerName", "type": "String"}, {"name": "Score", "type": "Integer"}] path: Content browser path

Field types: Boolean, Integer, Float, Double, String, Name, Text, Vector, Rotator, Transform, Color, LinearColor

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: create_struct(struct_name="ExampleName", fields=[])

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/Data
fieldsYes
struct_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?

With no annotations, the description carries the full disclosure burden. It richly documents the expected input format (field dicts, allowed types, worked example) but says nothing about creation side effects, such as whether an existing struct is overwritten, whether the new asset is auto-saved, or whether the target path must already exist. The format transparency is high, but the consequences of the operation are undisclosed.

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 logically organized (purpose, concept, args, allowed types, KB reference, example) and front-loaded with a one-line purpose statement. The final example call with an empty fields list is the weakest element—trivial and partially redundant with the fields example above—but it does not materially bloat an otherwise economical definition.

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 moderate-complexity creation tool with an output schema, the description covers purpose, parameter formats, allowed types, and even points to a KB document. It still omits creation semantics (overwrite/save behavior, path requirements) and any exclusions, leaving an agent to guess at the operation's consequences. Adequate, but with 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%, and the description compensates well: fields gets the exact dict structure [{"name": ..., "type": ...}], the full allowed field-type list, and a concrete example, while struct_name gets a realistic naming example ('S_PlayerData'). The path param is only glossed as 'Content browser path,' leaving its exact format unspecified, though the schema supplies a sensible default ('/Game/Data').

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?

Opens with a specific verb+resource, 'Create a custom Struct asset,' and reinforces the purpose with a one-sentence definition of what a struct is (grouping related variables into a single data type). The resource type is distinct enough from siblings like create_enum and create_data_table, though it never names them explicitly, 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line 'making it easy to pass multiple values as one parameter' implies the use case for a struct, giving an agent conditional context for selecting the tool. However, there is no explicit when-to-use vs. alternatives guidance, even though siblings like create_enum and create_data_table occupy adjacent data-asset territory. The usage signal is present but left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_umg_widget_blueprintC

Create a new UMG Widget Blueprint.

Args: widget_name: Widget asset name (e.g., "WBP_HUD", "WBP_MainMenu") parent_class: Parent class (default: "UserWidget") path: Content browser path (default: "/Game/UI")

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: create_umg_widget_blueprint(widget_name="/Game/MCP_Test/WBP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game/UI
widget_nameYes
parent_classNoUserWidget

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It explains that an asset is created with a default path and parent class, but does not address overwrite/collision behavior, compile/open effects, or content-browser side effects. The example also passes a full asset path as widget_name, which conflicts with the stated 'asset name' parameter.

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 compact and front-loaded: a clear purpose sentence, an Args block, a KB pointer, and a short example. It earns its length, though the misleading example is a content issue rather than a structural one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no annotations, this description is thin: it lacks overwrite/naming behavior, parent-class constraints, path format rules, and alternative routing. The KB pointer and output schema provide some support, but the description alone leaves an agent uncertain about edge cases when calling the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are listed with defaults, partially compensating for the 0% schema description coverage, and widget_name includes naming examples. However, parent_class and path mostly restate the schema titles, and the example's full-path value for widget_name directly contradicts the 'asset name' definition, leaving invocation semantics ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('Create a new UMG Widget Blueprint'), and the Args section reinforces the intended asset type. It does not explicitly differentiate from sibling creation tools like create_hud_widget or create_blueprint, 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?

No when-to-use guidance is provided, and no alternatives or exclusions are mentioned. The KB pointer suggests a documentation source but does not help an agent decide between this and sibling widget/blueprint creation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_vr_pawn_blueprintA

Create a VRPawn Blueprint with motion controller support.

From Ch. 16: Replicates the VR template VRPawn structure with:

  • Camera component (player view / HMD position)

  • MotionControllerRight + MotionControllerLeft components

  • MotionControllerRightAim + MotionControllerLeftAim (aim locations)

  • HMD Static Mesh (visual representation in spectator view)

  • TeleportTraceNiagaraSystem component (teleport arc particle system)

  • WidgetInteraction component (interact with VR menus)

  • Input events for thumbstick teleportation, grip grab, trigger fire, menu toggle

Args: name: Pawn Blueprint name enable_teleportation: Add teleportation input events and functions enable_object_grabbing: Add grab input events and GrabComponent logic enable_snap_turn: Add snap turn input event (rotate by fixed angle) enable_widget_interaction: Add WidgetInteraction component for menus folder_path: Content browser folder

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: create_vr_pawn_blueprint()

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoBP_VRPawn
folder_pathNo/Game/VR/Blueprints
enable_snap_turnNo
enable_teleportationNo
enable_object_grabbingNo
enable_widget_interactionNo

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?

No annotations are provided, so the description carries the disclosure burden. It does well by listing the exact components, input events, and optional behaviors the tool will add. It does not mention side effects such as overwriting an existing asset, whether the asset is compiled/saved, or template dependencies, but the core behavioral impact is described clearly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and scannable: a front-loaded purpose sentence, a compact component bullet list, and a clear Args block. The Ch. 16 and KB pointers are useful, though the empty-argument example adds little value.

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 complex blueprint creation tool with six optional toggles, the description covers what gets created and what each toggle controls, and it references supporting KB material. It omits side-effect details and explicit guidance on when to use it instead of component-level sibling tools, so it is not fully complete, but it is largely sufficient.

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?

The input schema provides only titles/defaults with 0% description coverage, so the Args section is the sole source of parameter meaning. It explains all six parameters, including what each boolean enables (e.g., snap turn rotates by fixed angle, widget interaction adds a menu-interaction component), fully compensating for the schema gap.

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 opens with a specific verb and resource ('Create a VRPawn Blueprint') and then itemizes exactly what will be included: camera, motion controllers, aim components, HMD mesh, teleport Niagara system, WidgetInteraction, and input events. This clearly separates it from sibling component-level tools like add_motion_controller_component or create_fps_character.

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 gives context ('Replicates the VR template VRPawn structure from Ch. 16') and explains the optional feature toggles, so an agent can infer when it might be relevant. However, it never explicitly says when to prefer this over lower-level sibling tools such as add_motion_controller_component, add_teleport_system_to_pawn, or create_grab_component, nor does it state prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_win_menu_widgetB

Create a Win/Victory screen Widget Blueprint as described in Ch. 8.

Creates a UMG Widget with a centered win message and buttons. From the book: "You Win!" message, Restart and Quit buttons.

Args: widget_name: Widget Blueprint name title_text: Main message (e.g., "You Win!", "Victory!") title_color: RGBA color for the title text show_restart_button: Include a Restart (reload level) button show_quit_button: Include a Quit Game button show_round_info: Include current round number display folder_path: Content browser folder

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: create_win_menu_widget()

ParametersJSON Schema
NameRequiredDescriptionDefault
title_textNoYou Win!
folder_pathNo/Game/UI
title_colorNo
widget_nameNoWBP_WinMenu
show_round_infoNo
show_quit_buttonNo
show_restart_buttonNo

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 of behavioral disclosure. It does disclose meaningful behavior: it creates a UMG Widget, centers a win message, includes Restart (reload level) and Quit Game buttons, and places the asset in a folder. However, it does not mention side effects such as asset overwrite behavior, compilation, saving, or failure modes, which is a notable gap for a no-annotation 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably structured: a lead statement, a parameter list, a KB reference, and an example call. It is appropriately sized for a seven-parameter tool, and each parameter gets a short gloss. There is minor redundancy between the first sentence ('Create a Win/Victory screen Widget Blueprint') and the second ('Creates a UMG Widget with...'), but overall the layout is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, seven parameters, and zero schema descriptions, the description covers the core purpose, parameter meanings, a KB pointer, and an example. However, it lacks usage guidance relative to sibling widget creators, does not address potential overwrite or compilation side effects, and leaves the title_color format and round-info source ambiguous. The presence of an output schema lessens the need to document return values, but the behavioral gaps keep this from being fully 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 list all seven parameters with useful semantics: widget_name is the Blueprint name, title_text has examples, title_color is described as RGBA, and the boolean flags explain what including each button or round info does. The main shortcoming is that title_color does not specify the numeric range (e.g., 0-1 vs 0-255), and show_round_info gives no detail about where the round number comes from.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a Win/Victory screen Widget Blueprint' and elaborates that it creates a UMG Widget with a centered win message, Restart, and Quit buttons. This is a specific verb and resource, and the 'Win/Victory' qualifier distinguishes it semantically from related siblings like create_lose_screen_widget and create_pause_menu_widget. However, it does not explicitly name or contrast those siblings, so it stops just short of full 5-level differentiation.

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. It references 'Ch. 8' and a KB file, which implies a context, but it does not state when to prefer this over generic widget creation or sibling widget creators, nor does it mention any prerequisites or exclusions. Usage context 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.

crowd_configure_detourB

Configure Detour crowd options when an AIController already uses UCrowdFollowingComponent.

If the Blueprint still uses the default PathFollowingComponent, the native command returns structured guidance because that inherited subobject must be selected in a native AIController constructor.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: crowd_configure_detour()

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
separationNo
blueprint_nameNo
anticipate_turnsNo
avoidance_qualityNogood
optimize_topologyNo
separation_weightNo
obstacle_avoidanceNo
optimize_visibilityNo
collision_query_rangeNo
path_optimization_rangeNo
avoidance_range_multiplierNo

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 burden. It discloses an important conditional behavior: if the Blueprint still uses PathFollowingComponent, the command returns structured guidance. However, it does not describe the mutation effects on the Blueprint, whether changes are persistent, or what the staged save/compile behavior is.

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 compact and front-loaded with the core purpose and precondition. The KB pointer and example are useful, but the empty example invocation is only minimally illustrative for a 13-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter configuration tool with no schema descriptions and no annotations, the description leaves important gaps: it does not explain parameter semantics, the effects of configuration changes, or how to choose values. The output schema exists, but the agent still lacks enough information to invoke the tool correctly with non-default options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the 13 undocumented parameters. It does not explain what any parameter does beyond the raw schema titles, nor does it clarify the meaning of defaults like avoidance_quality='good' or collision_query_range=600. The example call with no arguments adds no parameter guidance.

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+resource: 'Configure Detour crowd options' and an explicit precondition ('when an AIController already uses UCrowdFollowingComponent'). This clearly differentiates it from the sibling crowd_configure_rvo and other AI configuration 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?

The description explicitly says when to use it (when UCrowdFollowingComponent is already in use) and explains what happens in the opposite case (default PathFollowingComponent triggers structured guidance). It stops short of naming an alternative tool, but the conditional guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crowd_configure_rvoC

Configure CharacterMovement RVO avoidance defaults on a Character Blueprint.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: crowd_configure_rvo(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
enabledNo
blueprint_nameYes
avoidance_groupNo
groups_to_avoidNo
avoidance_weightNo
groups_to_ignoreNo
consideration_radiusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/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 explaining behavior. It states only that defaults are configured, but does not disclose whether the blueprint is saved or compiled, whether this mutates the asset persistently, or what happens if the blueprint does not exist or lacks a CharacterMovement component.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose. The KB pointer and example are both useful and do not add unnecessary bulk, making it appropriately sized for an agent to scan 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?

For a tool with nine parameters, no annotations, and zero schema description coverage, the description is too thin. It does not explain the operation's side effects, prerequisites, or how the many optional parameters interact, leaving the agent to guess critical configuration behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only documents blueprint_name through the example path format. The remaining eight parameters, including meaningful defaults like groups_to_avoid and consideration_radius, are left entirely to the schema's titles and defaults without any added semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (Configure), the target (Character Blueprint), and the subsystem (CharacterMovement RVO avoidance defaults). It is distinguishable from the sibling crowd_configure_detour because it specifically names RVO avoidance, though it does not explicitly contrast itself with that 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?

No guidance is given about when to use this tool versus alternatives such as crowd_configure_detour or other crowd/navigation configuration tools. The KB reference is too generic to serve as usage direction, and the example only demonstrates syntax, not selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_actorC

Delete an actor from the level by name.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: delete_actor(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
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 the actor is deleted, but does not warn that the operation is irreversible, clarify whether the name must be exact or unique, or describe what happens when no actor matches. The KB pointer may contain such details, but the description itself does not reveal them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the action and target, followed by a useful example and KB reference. There is no fluff, and the brevity is appropriate for a tool with a single parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with no annotations and a single fully undocumented parameter, the description is under-specified. It does not warn about irreversibility, suggest how to discover a valid actor name, or describe failure behavior. The happy path is covered, but an agent cannot anticipate common misuse cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, name, is given meaning by the phrase 'by name' and by the concrete example delete_actor(name="ExampleName"). Since schema description coverage is 0%, this partial compensation is useful, but the description still does not specify exact-match behavior, case sensitivity, or whether duplicate names are handled.

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 exactly what the tool does: 'Delete an actor from the level by name.' The verb is specific and the resource target is clear, and the example demonstrates the intended invocation. It does not explicitly differentiate from sibling tools like find_actors_by_name or delete_blueprint_node, but the delete-by-name semantics are unambiguous enough on their own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no prerequisites such as first finding a valid actor name, and no caveats about child actors, references, or irreversible consequences. The KB pointer and example help with invocation, but not with selection between this and related actor tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_blueprint_nodeB

Delete a node from a Blueprint graph (breaks all its connections first).

Args: blueprint_name: Asset name. node_id: Node GUID or short object name (e.g. 'K2Node_CallFunction_40'). graph_name: Graph to operate on. Default 'EventGraph'.

Returns: Dict with 'deleted_node_id' and 'deleted_node_name'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: delete_blueprint_node(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
graph_nameNoEventGraph
blueprint_nameYes

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 behavioral burden. It does disclose a meaningful side effect ("breaks all its connections first") and describes the return dict, which is helpful. However, it does not mention irreversibility, permissions, or potential error conditions for this destructive 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 well-structured with a purpose line, args list, returns, KB link, and example. It is reasonably concise and each section earns its place, though slightly longer than strictly necessary.

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 3-parameter tool with an output schema, the description is nearly complete: it covers parameters, return format, and provides a concrete example. It lacks usage guidance and edge-case/error behavior, but these are minor gaps given the tool's simplicity.

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?

Despite 0% schema description coverage, the description gives each parameter meaning and format: blueprint_name as asset name, node_id as GUID or short object name with an example, and graph_name with its default. This adds substantial value beyond the bare string schemas.

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 action: "Delete a node from a Blueprint graph" with the additional detail that it breaks all connections first. It is clear about the resource and operation, but it does not explicitly distinguish itself from the similarly named sibling bp_remove_node, so it misses 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as bp_remove_node or disconnect_blueprint_nodes. The example and args show how to invoke it, but there is no when-to-use or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_bridge_toolsetB

Describe one bridge command category and its command descriptors.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolset_nameYes
registry_pathNo
command_filterNo

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 behavioral burden. The verb 'describe' strongly implies a read-only metadata lookup, and the sentence clarifies that the result contains command descriptors. Still, it does not explicitly confirm side-effect-free behavior or describe how invalid categories or optional inputs affect the call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler and no repetition of schema fields. It is appropriately short for a simple introspection tool, although the brevity causes it to omit useful parameter context.

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 only one required parameter and an output schema present, the description does not need to explain return values. It is minimally viable for selection and invocation, but it remains incomplete around the two optional parameters and does not help an agent choose among the closely related bridge introspection tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented parameters. It loosely maps toolset_name to a 'bridge command category' but does not explain registry_path or command_filter, leaving an agent to guess their roles despite the 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 names a specific action ('describe') and a specific resource ('one bridge command category') and indicates the output ('its command descriptors'). It is not a tautology, though it does not explicitly differentiate itself from sibling introspection tools such as list_bridge_toolsets, describe_toolset, or bridge_descriptor_summary.

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 'one bridge command category' implies this tool is for retrieving details about a single category, which is some usage guidance. However, it does not explicitly state when to prefer this over the parallel bridge-related sibling tools, nor does it provide any when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_toolsetB

Describe one Unreal MCP toolset and return tool input schemas.

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_filterNo
toolset_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 states that it returns input schemas, which is a mild behavioral trait, but it does not disclose whether the operation is read-only, what happens on invalid toolset names, or any side effects. This is a minimal disclosure for a tool that likely just queries metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant words. The core action and return value are front-loaded, making it easy for an agent to parse quickly. It earns its place with zero 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?

The tool is simple and has an output schema, so return values are covered. However, the description does not mention how to obtain valid toolset names, what happens if the toolset is not found, or the role of the optional 'tool_filter'. These gaps could lead to incorrect calls, though the core functionality is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. The description implies that 'toolset_name' is the toolset to describe, but it does not explain the 'tool_filter' parameter at all, nor its purpose or default behavior. Only one of the two parameters is partially addressed, leaving the other undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Describe') and the resource ('one Unreal MCP toolset'), and specifies what is returned ('tool input schemas'). It is specific and distinguishes itself from sibling tools like 'list_toolsets' (which lists toolsets) and 'describe_bridge_toolset' (which describes a different kind of toolset). This is a clear, non-tautological purpose.

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: to get details of a specific toolset, call this tool. It does not explicitly mention when not to use it or name alternatives. The context of siblings suggests it's for detailed inspection, but there is no explicit routing guidance. This is implied usage, not explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

disconnect_blueprint_nodesA

Break pin connections in a Blueprint graph.

Two modes: A) Break ALL links on a single pin: Provide node_id + pin_name. B) Break a SPECIFIC link between two nodes: Provide source_node_id + source_pin + target_node_id + target_pin.

Args: blueprint_name: Asset name. graph_name: Graph to operate on. Default 'EventGraph'. node_id: (Mode A) Node GUID or name. pin_name: (Mode A) Pin to clear. source_node_id: (Mode B) Source node GUID or name. source_pin: (Mode B) Output pin on source. target_node_id: (Mode B) Target node GUID or name. target_pin: (Mode B) Input pin on target.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: disconnect_blueprint_nodes(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idNo
pin_nameNo
graph_nameNoEventGraph
source_pinNo
target_pinNo
blueprint_nameYes
source_node_idNo
target_node_idNo

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 does well by disclosing the destructive nature ('Break'), the two behavioral modes, accepted node identifier forms, and the default graph. It does not mention side effects like blueprint dirtying or compile requirements, but the primary behavior and its variants are explicit.

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 well-structured and efficient: purpose first, then two modes, followed by a compact argument list, a KB pointer, and an example. Every sentence earns its place without unnecessary 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 two-mode mutation tool with 8 parameters and no annotations, the description covers the modes, parameter semantics, defaults, and an example. It does not explicitly state error behavior if both modes are supplied at once, but the output schema and KB reference close most 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 thoroughly. Every parameter is explained with its role, mode association, and accepted value forms (e.g., node GUID or name, output vs input pin, default graph_name). This adds substantial meaning beyond the bare schema titles.

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: 'Break pin connections in a Blueprint graph.' It also clearly distinguishes two operation modes (all links on a pin vs a specific link between nodes), which differentiates it from siblings like connect_blueprint_nodes and delete_blueprint_node.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit conditions for when to use each mode: Mode A when breaking all links on a single pin, Mode B when breaking a specific link between two nodes. It does not directly name alternative tools or when-not-to-use cases, but the mode-selection logic is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

editor_dismiss_blocking_dialogB

Click a named button on a visible Unreal/Windows dialog, such as Yes, OK, Replace, or Cancel.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: editor_dismiss_blocking_dialog(button_text="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
button_textYes
title_containsNo
process_name_containsNoUnrealEditor

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 responsibility for explaining side effects. It states the tool clicks a button, but does not disclose that clicking buttons like 'OK' or 'Replace' may accept destructive actions, whether the click is reversible, what happens if the dialog is not actually visible, or how dry_run behaves. For a UI-mutation tool with zero annotation coverage, this is a meaningful safety gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is concise and front-loaded, but the KB pointer and placeholder example add marginal value and are not sufficiently informative. The example demonstrates the call shape but uses 'Example' as the button text, which is more confusing than helpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema being present, a four-parameter tool with no annotations needs stronger guidance about invocation prerequisites, filtering behavior, and failure modes. An agent cannot confidently decide what title_contains or process_name_contains should be set to, or when dry_run should be used. The KB reference is vague and not a substitute for inline guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate by explaining the parameters. It adds some value by giving possible values for button_text ('Yes, OK, Replace, Cancel'), but it never explains title_contains, process_name_contains, or dry_run. The example uses the literal placeholder 'Example', which is not a realistic button and could mislead an agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Click'), a specific resource ('a named button on a visible Unreal/Windows dialog'), and gives concrete examples ('Yes, OK, Replace, or Cancel'). This distinguishes it from siblings like editor_list_blocking_dialogs, which lists dialogs rather than interacting 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'on a visible Unreal/Windows dialog' implies when the tool is useful, but the description never explicitly says when to use it versus listing dialogs first with editor_list_blocking_dialogs. There is no stated exclusion such as 'do not use if no dialog is visible' or 'use after listing to identify the correct title/process'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

editor_list_blocking_dialogsA

List visible Unreal/Windows dialogs that can block MCP automation.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: editor_list_blocking_dialogs()

ParametersJSON Schema
NameRequiredDescriptionDefault
title_containsNo
process_name_containsNoUnrealEditor

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 safety burden. The verb 'List' and the qualifier 'visible' imply a read-only scan, which is useful. However, it does not disclose return behavior, whether an Unreal process must be running, or any failure semantics, so the behavioral picture is partial rather than complete.

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: one purpose sentence, a KB pointer, and a zero-argument example. Every element has some value, though the example is slightly redundant since the parameter schema already makes the arguments optional.

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 list tool with an output schema and a KB reference, this definition is largely sufficient. It could have explicitly mentioned that the results feed into editor_dismiss_blocking_dialog, but that omission is minor and the overall invocation context is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate by explaining the two optional filters. It does not mention title_contains or process_name_contains at all, and the example only shows a zero-argument call. The parameter names and defaults are somewhat self-explanatory, but no matching or filtering behavior is described.

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 ('List'), a concrete resource ('visible Unreal/Windows dialogs'), and the purpose ('that can block MCP automation'). It is clearly distinguishable from the sibling editor_dismiss_blocking_dialog, which handles the opposite action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: use it when you need to see visible Unreal/Windows dialogs that might block automation, and the KB link offers additional process context. It does not explicitly contrast with editor_dismiss_blocking_dialog or state when not to use it, so it stops short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eqs_add_generatorA

Add or replace an EQS option generator.

Supported generator_type values: simple_grid, circle, donut, current_location, and actors_of_class. Passing option_index=-1 creates a new option.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: eqs_add_generator(query_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
query_pathYes
option_indexNo
generator_typeNosimple_grid

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 does disclose that the operation can add or replace, and that option_index=-1 creates a new option, which is meaningful beyond the schema. However, it does not describe side effects, save behavior, or failure semantics, leaving significant behavioral ground uncovered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-line core statement, a bullet-like list of supported values, the key option_index behavior, a KB pointer, and a concrete example. Every sentence earns its place, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers several essential aspects and links to a KB for deeper context; the presence of an output schema means return-value details are unnecessary. However, it omits the meaning of the save parameter and provides no workflow context, so an agent might still hesitate about when and how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds value by enumerating valid generator_type values and explaining option_index=-1 behavior, and it shows query_path via example. But save remains completely undocumented, and query_path's meaning is only inferable from the example—partial coverage at best.

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 opens with a specific verb and resource: 'Add or replace an EQS option generator.' It clearly distinguishes itself from EQS siblings like eqs_add_test and eqs_create_query by naming the exact artifact being manipulated. The supported generator_type list further pins down the tool's scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given about when to use this tool versus related EQS tools like eqs_add_test, eqs_create_query, or eqs_describe_query. The example and supported values imply usage, but there is no stated context, precondition, or exclusion to help an agent choose this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eqs_add_testA

Add an EQS test to an existing option.

Supported test_type values: distance, pathfinding, dot, and trace. Create or choose an option with eqs_add_generator first.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: eqs_add_test(query_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
test_typeNodistance
query_pathYes
option_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 of behavioral disclosure. It adds useful context (valid test_type values, the prerequisite option) but doesn't disclose what happens if the option doesn't exist, whether tests append or replace, or the effect of the save flag. The mutation semantics are only partially transparent.

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 compact and front-loaded, with the core action in the first sentence. The supported-value list, prerequisite note, KB reference, and example each serve a distinct purpose. No redundant verbiage, though the KB line is slightly tangential.

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 4-parameter tool with no annotations and 0% schema coverage, the description covers the essentials (action, valid values, prerequisite, path format) but leaves behavioral gaps. The meaning of option_index is critically unexplained—the description says 'existing option' but not how an agent selects among multiple options. Output schema existence mitigates return-value concerns.

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 lists all valid test_type values (distance, pathfinding, dot, trace) which the schema omits entirely, and the example demonstrates the query_path format. However, option_index and save semantics remain unexplained, leaving two parameters under-documented.

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 opening sentence 'Add an EQS test to an existing option' uses a specific verb, resource, and target, clearly distinguishing it from siblings like eqs_add_generator (which creates options) and eqs_create_query (which creates queries). An agent can immediately tell what this tool does and how it differs from related EQS 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?

The description explicitly names the prerequisite sibling (eqs_add_generator) and states the required sequencing: 'Create or choose an option with eqs_add_generator first.' This gives clear operational context, though it doesn't explicitly state when NOT to use this tool or discuss alternatives beyond the single prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eqs_create_queryA

Create an Environment Query System (EQS) query asset.

Use follow-up eqs_add_generator and eqs_add_test calls to define what locations or actors the query considers and how it scores them.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: eqs_create_query(query_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
overwriteNo
query_nameYes
folder_pathNo/Game/AI

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 provided, the description bears the full burden. It does disclose a key behavioral nuance: this call only creates the asset, and follow-up calls are needed to define its logic. However, it omits behavioral details like whether the asset is automatically saved (default true), whether overwrite=true will replace an existing asset, or any prerequisites (e.g., open project). The example is helpfully illustrative but not comprehensive.

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 brief paragraphs plus a KB reference and a code example. It is front-loaded with the primary action, the workflow is explained in one sentence, and the example is compact. No wasted verbiage; every sentence 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?

The tool is a creation operation with 4 parameters, no annotations, and an output schema (which we haven't seen). The description gives the workflow and an example, but fails to explain the parameters beyond query_name, and doesn't mention defaults or behavior of optional parameters. It references a KB for overview, which helps, but the description alone is insufficient for an agent to call this correctly without external lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the parameters. It only shows query_name in an example, without describing its purpose or format. It completely ignores save, overwrite, and folder_path, which have defaults in the schema—but those defaults are not self-explanatory. For a 4-parameter tool, this is insufficient semantic guidance.

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 action: 'Create an Environment Query System (EQS) query asset' — a clear verb+resource pairing. It distinguishes itself from follow-up tools (eqs_add_generator, eqs_add_test) by explicitly naming them as subsequent steps, and from eqs_describe_query which is for inspection. This leaves no ambiguity about the tool's role.

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 explicitly instructs users to 'Use follow-up eqs_add_generator and eqs_add_test calls' to define behavior, establishing a clear workflow: create first, then configure. This is actionable guidance on when to use this tool and how it fits with siblings, even if it doesn't list negative cases. The KB reference adds further context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eqs_describe_queryA

Describe an EQS query's options, generator classes, and tests.

query_path may be a content path such as /Game/AI/EQS_FindCover or a query asset name when it is unique in the project.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: eqs_describe_query(query_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
query_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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. It discloses accepted input forms (content path or unique asset name), the uniqueness caveat, a KB source, and the output scope. The read-only nature is conveyed by 'Describe', though it is not stated explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-ordered: purpose first, then parameter semantics, KB pointer, and a concrete example. No filler; every sentence adds useful information for invocation.

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/inspect tool with an output schema, the description covers the essential invocation details: what it returns, how to identify the query, and an example. The only missing piece is explicit when-to-use guidance relative to EQS creation/modification siblings.

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?

The schema provides only a bare parameter title, but the description fully explains `query_path`: it may be a content path or a unique asset name, gives a concrete example value, and notes when simple names are allowed. This exceeds the schema's information.

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 first sentence uses a specific verb ('Describe') with a clear resource ('an EQS query') and names the exact content returned (options, generator classes, tests). This distinguishes it from mutating EQS siblings such as eqs_add_test and eqs_create_query.

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 context is implied by the 'describe' verb and by the sibling tool names, but the description never explicitly says 'use this to inspect an existing query, not to modify/create one'. It also provides no exclusions or alternative routing beyond the implicit distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exec_pythonA

Execute arbitrary Python code inside Unreal Engine via the Python plugin.

Use this tool when you need to:

  • Create assets in custom project folders (create_blueprint always uses /Game/Blueprints/)

  • Query engine version: import unreal; print(unreal.SystemLibrary.get_engine_version())

  • Count or list assets: unreal.EditorAssetLibrary.list_assets('/Game', recursive=True)

  • Create Widget Blueprints, Behavior Trees, Blackboards, Animation Blueprints (use the appropriate factory class since they cannot be created with create_blueprint)

  • Perform bulk operations not covered by other MCP tools

Args: code: Valid Python code string to execute inside UE5. The 'unreal' module is available automatically. Example: "import unreal; print(unreal.SystemLibrary.get_engine_version())"

Returns: dict with 'output' (captured stdout) and 'success' flag.

IMPORTANT: Always use exec_python for:

  • Assets outside /Game/Blueprints/ (specify full path via AssetTools)

  • Widget Blueprints (WidgetBlueprintFactory)

  • Behavior Trees / Blackboards (BehaviorTreeFactory / BlackboardDataFactory)

  • Animation Blueprints (AnimBlueprintFactory)

  • Checking existing assets before creating duplicates

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: exec_python(code="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

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 burden. It discloses that the 'unreal' module is available automatically, that output is captured stdout with a success flag, and that the code executes inside UE5. It does not mention potential side effects, permissions, or error behavior beyond the success flag, but for an arbitrary code execution tool the description gives a reasonable behavioral contract. A 4 is appropriate because it adds meaningful context (return dict shape, module availability) beyond the schema, though it could disclose more about execution environment constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections: a one-line summary, a bulleted use-case list, an Args section, a Returns section, an IMPORTANT callout, and an example. It is longer than minimal but every section earns its place by providing actionable guidance. The front-loading is good, though the example at the end is slightly redundant with the Args example.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (arbitrary code execution) and the presence of an output schema, the description covers the essential context: what the tool is for, when to use it, what the parameter means, and what the return value looks like. It also references a knowledge base file. It could be more complete by describing error handling or execution limits, but for an agent selecting and invoking the tool, the description is sufficient.

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 the 'code' parameter is a valid Python code string, gives an example, and notes the 'unreal' module is pre-imported. This adds real semantic value beyond the bare schema property name 'Code'. A 4 is warranted because the description provides example usage and context, though it could be even more explicit about parameter format edge cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes arbitrary Python code inside Unreal Engine via the Python plugin, with a specific verb ('Execute') and resource ('Python code inside Unreal Engine'). It distinguishes itself from siblings by explicitly listing use cases that other tools (like create_blueprint) cannot handle, such as creating assets in custom folders, Widget Blueprints, Behavior Trees, and bulk operations.

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 provides explicit when-to-use guidance with a bulleted list of scenarios, and even names the alternative (create_blueprint) and explains why exec_python is needed instead. It also includes an 'IMPORTANT' section reinforcing the conditions for using this tool over others, which is strong usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execution_journal_finishA

Finish an execution journal and record final evidence.

Args: journal_path: Path returned by execution_journal_start status: completed, completed_with_warnings, failed, blocked, or cancelled summary: Short human-readable closeout artifacts: Optional final file, asset, screenshot, or log paths verification: Optional final test/diagnostic evidence

Returns: JSON string with StructuredResult and final journal stats.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: execution_journal_finish(journal_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNocompleted
summaryNo
artifactsNo
journal_pathYes
verificationNo

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 must carry the burden. It discloses the return shape ('JSON string with StructuredResult and final journal stats') and enumerates the allowed status values, but it doesn't state side effects such as whether the journal becomes read-only after finishing or what happens if it's already closed. This is moderate transparency for a lifecycle-ending 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 compact and well-organized: a one-sentence summary, Args, Returns, KB pointer, and example. Each section serves a distinct purpose, and the primary action is front-loaded before any detail.

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 description covers every parameter, the return format, includes a KB reference, and provides an example, making it nearly complete for a 5-parameter tool with no annotations. It omits edge-case behavior (e.g., finishing a non-existent or already-finished journal) and detailed constraints on artifacts/verification content, but those are minor 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%, yet the Args block documents all five parameters with meanings, allowed status values, optionality, and the example shows realistic usage. This fully compensates for the schema's silence and adds value beyond the raw property 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?

The description opens with a specific verb+resource: 'Finish an execution journal and record final evidence.' This clearly distinguishes it from sibling lifecycle tools such as execution_journal_start and execution_journal_log by naming the terminal action.

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 Args section says journal_path is 'Path returned by execution_journal_start', which implicitly tells the agent this tool is the completion step after starting a journal. It doesn't explicitly state exclusions or alternatives, but the workflow context is clear from the sibling naming and the required-path instruction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execution_journal_logA

Append a structured entry to an execution journal.

Args: journal_path: Path returned by execution_journal_start message: Short progress, validation, or failure note event_type: progress, tool_call, verification, decision, error, etc. tool_name: Optional MCP tool or Unreal command name success: Whether this step succeeded severity: debug, info, warning, error, or critical inputs: Optional summarized inputs for the step outputs: Optional summarized outputs or evidence artifacts: Optional file or asset paths produced/observed risk_level: Optional low/medium/high/critical risk label metadata: Optional additional data for later audit

Returns: JSON string with StructuredResult and updated journal stats.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: execution_journal_log(journal_path="/Game/MCP_Test/Example", message="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
inputsNo
messageYes
outputsNo
successNo
metadataNo
severityNoinfo
artifactsNo
tool_nameNo
event_typeNoprogress
risk_levelNo
journal_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 of behavioral disclosure. It clearly states the side effect (append), the prerequisite (active journal path from execution_journal_start), and the return format (JSON string with StructuredResult and updated stats). This is more transparent than typical MCP descriptions, though it does not mention failure modes or idempotency.

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 appropriately sized for a tool with 11 parameters: a one-sentence purpose, a compact argument list, a returns line, a KB pointer, and one example. Information is front-loaded and every component contributes to usability.

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 description covers all parameters, the return type, an example invocation, and a KB reference for deeper detail. It lacks explicit preconditions (beyond the journal_path dependency) and error-handling notes, but given the output schema exists and the KB reference, it is nearly complete for calling the tool successfully.

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?

Every parameter in the schema is repeated in the description with a semantic explanation, fully compensating for the 0% schema description coverage. The relationship between journal_path and execution_journal_start is clarified, and optional fields are labeled. This exceeds the baseline because the description adds meaning beyond the raw type definitions.

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 opens with a specific verb and resource: 'Append a structured entry to an execution journal.' This clearly distinguishes it from journal lifecycle tools like execution_journal_start/finish and from other unrelated tools. The agent knows exactly what the tool does without inspecting 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating that journal_path must be a value returned by execution_journal_start, which establishes a dependency and a sequence. However, it does not explicitly say when to use this tool versus execution_journal_finish, nor does it note any exclusions or alternatives. The KB link hints at context, but the guidance remains implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execution_journal_startA

Start a repo-local execution journal for an autonomous work session.

The journal is a JSON file with an immutable id, timestamps, inputs, entries, artifacts, and final verification data. Paths are constrained to the current workspace root so agents cannot quietly write elsewhere.

Args: title: Human-readable journal title goal: What the agent intends to accomplish project_name: Optional Unreal project or map name journal_dir: Workspace-relative directory for journal files tags: Optional labels for later search metadata: Optional extra context such as branch, map, or project path

Returns: JSON string with StructuredResult and the created journal path.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: execution_journal_start(title="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNo
tagsNo
titleYes
metadataNo
journal_dirNo.mcp_journals
project_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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 disclosure burden. It explains that the journal is a JSON file with an immutable id, timestamps, inputs, entries, artifacts, and verification data, and it explicitly discloses the workspace-root path constraint. This is meaningful behavioral context beyond a simple 'start a journal' statement.

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 well-structured with distinct sections: purpose, journal format, Args, Returns, KB reference, and an example. The primary purpose is front-loaded, and every section contributes operational value without redundancy. It is thorough without being bloated.

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?

The description covers the operation's purpose, the journal's structure, path-safety behavior, all parameter semantics, the return payload, and a concrete invocation example. Given that an output schema exists and no annotations are present, this description provides sufficient context for an agent to invoke the tool correctly in a session workflow.

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. Each of the six parameters is explained with its purpose: title, goal, project_name, journal_dir, tags, and metadata. The descriptions add semantic value that the schema itself lacks, such as journal_dir being workspace-relative and metadata accepting context like branch or map.

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 opens with a specific verb+resource: 'Start a repo-local execution journal for an autonomous work session.' This clearly distinguishes it from sibling journal tools like execution_journal_log and execution_journal_finish by its initiatory scope. The purpose is concrete and not a restatement of the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear usage context: it is for starting a repo-local execution journal at the beginning of an autonomous work session. It does not explicitly name alternatives or state when not to use it, but the 'start' semantics and session framing make the intended invocation point obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_actors_by_classC

Find placed actors by native or Blueprint-generated class name/path.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: find_actors_by_class(class_name="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
exactNo
class_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?

With no annotations, the description carries the burden of revealing behavior; it states the search scope (placed actors by class name/path) but offers no detail on matching semantics, query scope, or limitations. It does not disclose whether matching is fuzzy, partial, or global versus level-scoped. It is not misleading, but it 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?

The description is compact and front-loaded: a single clear sentence states the operation, followed by a KB link and one concrete call example. There is no filler or repeated schema 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 tool is simple and has an output schema, so return-value documentation is not required. Yet the description omits exact semantics and any distinction from closely related lookup tools; the KB link may help but is not inline. It is adequate for a basic query, but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain both parameters. It clarifies that class_name accepts a native or Blueprint-generated class name/path and gives a one-parameter example, but it never explains the exact boolean or its default behavior. This is a real gap for correct invocation.

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 first sentence names the action ('Find'), the resource ('placed actors'), and the input scope ('native or Blueprint-generated class name/path'), so an agent can tell this is an actor lookup by class. It is distinguishable from siblings like find_actors_by_name and ue_find_assets_by_class even though no sibling is named 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?

The description gives no explicit guidance about when to choose this tool over find_actors_by_name, get_actors_in_level, or ue_find_assets_by_class, and there are no 'when not to use' caveats. Usage is only implied by the verb 'Find placed actors by class'; the KB link is a pointer, not routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_actors_by_nameC

Find actors in the level by name pattern (supports wildcards).

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: find_actors_by_name(pattern="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYes

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 mentions wildcard support and a KB reference, but doesn't disclose whether the search is case-sensitive, whether it returns partial matches, what the output format is, or any side effects. For a read-only search tool, the lack of behavioral detail is a 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 short and front-loaded with the core purpose. The KB reference and example are useful, though the example adds limited value beyond the schema. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema details, and 0% schema coverage, the description is incomplete. An agent needs to know wildcard syntax, match semantics, and what the result looks like. The KB reference helps but is not self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that 'pattern' is a name pattern with wildcard support and gives an example, but doesn't specify wildcard syntax (e.g., '*' vs '%'), case sensitivity, or whether the pattern matches actor labels or class names. The example is minimal.

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 ('Find') and resource ('actors in the level') with a name pattern supporting wildcards. It is distinguishable from sibling find_actors_by_class, though it doesn't explicitly name that sibling.

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 context: searching actors by name pattern with wildcard support. It provides an example call. However, it doesn't explicitly state when to prefer this over find_actors_by_class or get_actors_in_level, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_blueprint_nodesA

Find nodes in a Blueprint graph filtered by type and/or name.

node_type values: 'all' — every node 'event' — K2Node_Event (filter by event_name) 'function' — K2Node_CallFunction (filter by function_name) 'variable_get' — K2Node_VariableGet (filter by variable_name) 'variable_set' — K2Node_VariableSet (filter by variable_name) 'input_action' — K2Node_InputAction / K2Node_EnhancedInputAction Any class substring — e.g. 'IfThenElse', 'Knot', 'Self'

Args: blueprint_name: Asset name, e.g. 'ThePlayerCharacter' node_type: Filter type (see above). Default 'all'. graph_name: Graph to search. Default 'EventGraph'. event_name: Filter by event name (when node_type='event'). function_name: Filter by function name (when node_type='function'). variable_name: Filter by variable name (when node_type='variable_get/set'). input_action_name: Filter by action name / comment. node_name: Filter by exact node object name.

Returns: Dict with 'nodes' (full objects) and 'node_guids' (legacy GUID list).

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: find_blueprint_nodes(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_nameNo
node_typeNoall
event_nameNo
graph_nameNoEventGraph
function_nameNo
variable_nameNo
blueprint_nameYes
input_action_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states the return structure: 'Dict with 'nodes' (full objects) and 'node_guids' (legacy GUID list).' This goes beyond the schema and informs the agent of what to expect. It also clarifies the meaning of each node_type, which affects behavior. However, it does not explicitly state the operation is read-only or mention any side effects, though that is implied. The disclosure of return details and the node_type semantics adds substantial behavior context.

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 well-structured and every component adds value. It begins with the core purpose, then presents the node_type values in an easy-to-scan bulleted list, followed by an Args section that maps parameters to their meanings, a Returns section, a KB reference, and an example. The information is front-loaded and presented in a logical order. Despite its length, there is no redundant prose.

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 tool with eight parameters, no annotations, and no schema descriptions, the description is remarkably complete. It covers all parameters, the return format, provides an example, and cites a knowledge base reference. The only gaps are edge cases like error handling, behavior when filters yield no results, or interaction with other tools. Given the complexity, the description is sufficient for an agent to use the tool correctly in most scenarios, but it could still mention potential failure modes or non-obvious interactions.

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 thoroughly documents all eight parameters: blueprint_name, node_type (with enumerated values), graph_name, event_name, function_name, variable_name, input_action_name, and node_name. For each, it explains the purpose and when it applies (e.g., 'when node_type='event''). It also provides defaults for several parameters (e.g., graph_name default 'EventGraph'). This complete parameter documentation leaves no ambiguity about what each argument controls.

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 opens with a clear statement of the tool's purpose: 'Find nodes in a Blueprint graph filtered by type and/or name.' It specifies the resource (Blueprint graph nodes) and the filtering capability, distinguishing it from siblings like get_blueprint_nodes (which likely returns all nodes without filtering) and get_node_by_id (which targets a specific node by ID). The description also enumerates the node_type values and their meanings, making the tool's scope unmistakable.

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 implicitly conveys its usage by listing filter parameters and giving an example, but it does not explicitly state when to prefer this tool over alternatives. For instance, it does not mention 'Use this to search nodes by type or name, while get_blueprint_nodes returns all nodes and get_node_by_id retrieves a specific one.' The context of filtering is clear, but there is no explicit 'when-not' or comparison to sibling tools. This leaves the agent to infer the appropriate conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

focus_viewportB

Move the Unreal Editor viewport camera to focus on a world location.

Args: location: [X, Y, Z] world-space position to look at distance: How far back from the location to place the camera (cm)

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: focus_viewport()

ParametersJSON Schema
NameRequiredDescriptionDefault
distanceNo
locationNo

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 provided, the description must carry the full burden of behavioral disclosure. It only states the camera is moved, without mentioning side effects, state changes, or whether it requires a specific editor mode. The example call with no arguments implies defaults are acceptable, but no details are given about what happens when location or distance are omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the action, and structured with an Args block, a KB reference, and an example. It avoids redundancy, though the KB reference could be seen as extra noise if not needed; overall it is efficient and readable.

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 camera-focus tool, the description covers the main action and parameter meanings, but it omits details about default behavior when no arguments are passed (though defaults exist in schema), potential return values (output schema may exist but is not provided), and any side effects on the editor session. The KB reference offers deeper context but does not substitute for explicit usage notes.

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?

The description provides meaningful semantic context for both parameters: location is explained as 'world-space position to look at' and distance as 'How far back from the location to place the camera (cm)', including units. Since the schema offers no parameter descriptions (schema coverage 0%), this textual explanation is essential and fully compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool moves the Unreal Editor viewport camera to focus on a world location, naming the specific action and resource. It does not explicitly distinguish itself from sibling tools, but the verb and target are unambiguous enough for an agent to select it for camera movement 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?

No guidance is given on when to use this tool versus alternatives like viewport_capture_screenshot or set_actor_transform. There is no mention of prerequisites (e.g., viewport must be open) or conditions where this tool is preferred. The KB reference hints at broader world-building context but provides no actionable usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gameplay_debugger_capture_aiB

Capture an AI/navigation debug snapshot from the current editor world.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: gameplay_debugger_capture_ai()

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?

With no annotations, the description carries the full burden of behavioral disclosure. It says only that it captures a snapshot from the editor world; it does not state whether the operation is read-only, whether it affects debugger state, what format or location the snapshot takes, or whether it requires a running world/PIE session.

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 first sentence is a clear, front-loaded purpose statement, and the KB pointer plus zero-argument example are compact and informative. The example is slightly redundant but not harmful.

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 zero-parameter tool with an output schema, the description is minimally callable: it says what to capture and where. However, it leaves out behavior, prerequisites, and selection context, which an agent would need to confidently invoke it among many similar debug 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?

There are zero parameters and the input schema is empty, so the description has no parameter semantics to add. The example call correctly reinforces that no arguments are 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?

Names a concrete action ('Capture') and a resource ('AI/navigation debug snapshot from the current editor world'), giving an agent a clear sense of what the tool does. It is distinct from siblings such as nav_describe_agent_settings or bt_get_info, though it does not explicitly 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to prefer this over the many AI/debug siblings, and states no prerequisites or exclusions. The only clue is the action itself, which is implied usage rather than explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_add_tagA

Record an owned GameplayTag on a Blueprint and ensure an ASC.

Args: target_bp: Blueprint asset name/path receiving the tag metadata. tag: Gameplay tag such as Ability.Movement.Dash or State.Stunned. ensure_asc: Add an AbilitySystemComponent if the Blueprint lacks one.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_add_tag(target_bp="/Game/BP_Hero", tag="Ability.Movement.Dash")

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
target_bpYes
ensure_ascNo

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. It discloses that the tool modifies a Blueprint (records tag metadata) and can add an ASC if missing (ensure_asc). This is useful behavioral context. However, it doesn't mention side effects like whether the Blueprint is saved, whether existing tags are overwritten, or whether compilation is triggered. The KB reference partially compensates.

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 compact and front-loaded with the main action. The Args section is clear and the example is helpful. The KB reference adds a bit of noise but is useful for deeper context. No wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema (not shown in detail) and 3 params. The description covers the main action and parameters, but lacks details on return values, error conditions, or what happens when the Blueprint already has the tag. For a mutation tool with no annotations, this 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 description coverage is 0%, so the description must compensate. It explains target_bp (Blueprint asset name/path), tag (with examples like Ability.Movement.Dash), and ensure_asc (add ASC if lacking). This adds meaning beyond the bare schema, though it doesn't detail tag format constraints or path resolution behavior.

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 ('Record') and resource ('GameplayTag on a Blueprint') and mentions ensuring an ASC. It clearly identifies the tool's function. However, it doesn't explicitly distinguish it from sibling GAS tools like gas_grant_ability or gas_create_ability, though the tag-recording focus is fairly clear.

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 context (recording owned tags on Blueprints, ensuring ASC) but doesn't explicitly state when to use this vs alternatives like gas_grant_ability or gas_create_ability. The KB reference provides a pointer for more context, but no explicit when/when-not guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_apply_effectA

Record a default GameplayEffect application on a Blueprint and ensure an ASC.

Args: target_bp: Blueprint asset name/path receiving the effect metadata. effect: GameplayEffect asset path or class path. level: Default effect level. ensure_asc: Add an AbilitySystemComponent if the Blueprint lacks one.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_apply_effect(target_bp="/Game/BP_Hero", effect="/Game/GAS/Effects/GE_StartupStats")

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNo
effectYes
target_bpYes
ensure_ascNo

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?

With no annotations provided, the description carries the full burden. It honestly reveals the 'ensure_asc' side effect (adding an AbilitySystemComponent if missing) and the 'record' nature of the operation. However, it does not disclose whether the asset is saved, whether the modification is a one-time metadata change vs a graph node insertion, or what output the tool returns. Middle ground: some behavioral context, but not deeply transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: one-sentence summary, then an Args block with per-parameter explanations, a KB pointer, and a concrete example. Every line earns its place and the most important information is front-loaded.

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 tool with four parameters, an output schema, and no nested objects, the description is nearly complete. It covers the purpose, all parameters, and gives an example. The only gap is that it doesn't mention possible side effects beyond ensure_asc (e.g., whether the existing effect list is appended or replaced), but the UX is still workable for an agent.

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 inline Args list is the only source of parameter meaning. It clearly explains target_bp ('Blueprint asset name/path receiving the effect metadata'), effect ('GameplayEffect asset path or class path'), level ('Default effect level'), and ensure_asc ('Add an AbilitySystemComponent if the Blueprint lacks one'). The example further ties parameters to real values. This fully compensates for the schema's silence.

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 starts with a specific verb ('Record') and resource ('a default GameplayEffect application on a Blueprint'), plus the auxiliary action of ensuring an ASC. This makes the tool's function immediately clear and distinguishes it from related siblings like gas_create_gameplay_effect (create) or gas_grant_ability (grant).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by the verb and object ('record a default GameplayEffect application'), and the example demonstrates a real invocation. However, there is no explicit guidance on when to choose this tool over alternatives (e.g., gas_grant_ability for runtime grants, gas_create_gameplay_effect for creation), and no 'when not to use' note. The KB reference is helpful but not a substitute for usage rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_create_abilityA

Create a Blueprint GameplayAbility asset.

Args: name: Asset name, usually prefixed GA_. path: Destination folder under /Game. parent_class: Optional parent class path/name. Defaults to UGameplayAbility. overwrite: Delete an existing asset with the same path first.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_create_ability(name="GA_Dash", path="/Game/GAS/Abilities")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/GAS/Abilities
overwriteNo
parent_classNo

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?

With no annotations provided, the description must disclose behavior. It does mention the destructive nature of overwrite ('Delete an existing asset with the same path first'), which is important. However, it does not explain other side effects, required permissions, error handling, or what happens on failure. The description gives some transparency but not complete 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 concise and well-structured: a one-line summary, then a parameter breakdown, a KB reference, and an example. Every sentence serves a purpose, and the example illustrates usage. It is front-loaded with the core action and then provides necessary details without fluff.

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 description covers the essential creation aspects and parameter semantics. It does not explicitly describe return values or success/failure indicators, but the presence of an output schema (per context) may cover that. The KB reference offers deeper context. Overall, it is complete enough for an agent to execute the tool correctly, though it could mention expected output.

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?

The schema has 0% description coverage, so the description fully compensates by explaining each parameter: name (with prefix convention), path (destination folder), parent_class (default), and overwrite (destructive behavior). It adds meaning beyond the schema's bare type declarations, making parameter usage clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Create a Blueprint GameplayAbility asset' with a specific resource type. It differentiates itself from sibling tools like gas_create_gameplay_effect or gas_create_attribute_set by focusing on the ability asset. The name and description together unambiguously identify what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (creating a gameplay ability) but does not explicitly mention alternatives or when not to use it. It lacks guidance on choosing between this and other gas_* creation tools, leaving the agent to infer based on the asset type. The KB reference may provide additional context, but the description itself does not give direct usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_create_ability_task_nodeB

Add an AbilityTask factory call node to a GameplayAbility Blueprint graph.

Args: blueprint_name: GameplayAbility Blueprint asset name/path. task_class: AbilityTask class path/name, e.g. AbilityTask_WaitDelay. graph_name: Target graph. Default EventGraph. task_function: Optional static BlueprintCallable factory function name. position_x: Node canvas X coordinate. position_y: Node canvas Y coordinate.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_create_ability_task_node(blueprint_name="/Game/GAS/Abilities/GA_Dash", task_class="AbilityTask_WaitDelay")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
position_xNo
position_yNo
task_classYes
task_functionNo
blueprint_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 carries the full burden of behavioral disclosure. It says 'Add' a node but does not explain side effects, whether the node is automatically connected, required blueprint preconditions, validation behavior, or failure cases. The example gives a concrete call but not behavioral guarantees.

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 well-organized, front-loaded with the purpose, and every section earns its place: concise purpose sentence, param list, KB pointer, and a concrete example. It is not bloated despite covering six parameters.

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 no annotations and no schema-level parameter descriptions, the description provides enough to attempt a simple call and points to KB documentation. However, it omits prerequisites such as the blueprint being a GameplayAbility, expected graph behavior, and what happens on invalid input. The output schema exists but does not compensate for missing behavioral 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%, so the Args list is essential and covers all six parameters with meaningful details, including defaults and optionality. It clarifies task_class with an example and describes task_function as an optional static factory function. Minor ambiguities remain around class path versus name and coordinate interpretation.

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 action and resource: 'Add an AbilityTask factory call node to a GameplayAbility Blueprint graph.' This is precise enough to identify the tool's purpose and distinguish it from the many generic 'add node' siblings, though it does not explicitly contrast it with related blueprint-node 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 explicit guidance on when to use this tool versus alternatives, no prerequisites, and no 'when not to use' information. The KB link and example hint at context but do not state usage conditions or route the agent away from similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_create_attribute_setA

Create a Blueprint AttributeSet asset when the project supports it.

Args: name: Asset name, usually prefixed AS_. path: Destination folder under /Game. parent_class: Optional parent class path/name. Defaults to UAttributeSet. overwrite: Delete an existing asset with the same path first.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_create_attribute_set(name="AS_HeroCombat", path="/Game/GAS/Attributes")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/GAS/Attributes
overwriteNo
parent_classNo

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 disclosure burden. It explicitly discloses the overwrite side effect ('Delete an existing asset with the same path first'), states the default parent class, and notes the project-support precondition. It does not cover failure modes or transactional behavior, but the riskiest destructive action is clearly named.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: purpose line, parameter list, KB reference, and example. Each section serves a purpose, and the example clarifies a realistic invocation without redundant prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with four parameters, the description documents every parameter, the key destructive behavior, the project-support condition, and points to the relevant knowledge base. Since an output schema is present, omitting return-value details is appropriate.

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?

Although schema description coverage is 0%, the Args block explains all four parameters and adds real value beyond the schema: the AS_ naming convention, the '/Game' path semantics, parent_class optionality with its UAttributeSet default, and overwrite's destructive behavior.

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 opening line names a specific verb ('Create') and resource ('Blueprint AttributeSet asset'), which clearly distinguishes this from sibling GAS creation tools like gas_create_ability or gas_create_gameplay_effect. The 'when the project supports it' qualifier and KB pointer add context without obscuring the core purpose.

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 its usage context: create an AttributeSet asset when the project supports GAS. However, it does not explicitly state when to prefer this tool over sibling gas_create_* tools, nor does it give when-not-to-use guidance or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_create_gameplay_cueA

Create a GameplayCue notify Blueprint asset.

Args: name: Asset name, usually prefixed GCN_. path: Destination folder under /Game. notify_type: actor or static. Actor cues can own state; static cues are fire-and-forget. parent_class: Optional parent class path/name. overwrite: Delete an existing asset with the same path first.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_create_gameplay_cue(name="GCN_DashTrail", notify_type="actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/GAS/Cues
overwriteNo
notify_typeNoactor
parent_classNo

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 present, the description carries full disclosure burden and does a solid job: it explicitly states that overwrite 'Delete[s] an existing asset with the same path first' (destructive side effect), and it explains the actor-vs-static behavioral distinction ('Actor cues can own state; static cues are fire-and-forget'). This exceeds what the bare schema signals.

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 one-sentence purpose, followed by a tight parameter block where each line earns its place, then a KB pointer and a minimal working example. It is somewhat longer than necessary, but nothing is redundant given zero schema descriptions.

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 5-parameter creation tool with no annotations and no schema descriptions, the description covers the purpose, every parameter's semantics, the destructive overwrite behavior, and provides a callable example plus a KB anchor. The only real gap is explicit sibling routing, and return values are handled by the output schema.

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, and it does: all five parameters are given real meaning — name ('usually prefixed GCN_'), path ('Destination folder under /Game'), notify_type with the actor/static tradeoff, parent_class as optional, and overwrite with its destructive semantics. This is exemplary compensation for a schema that only lists titles.

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 opening line 'Create a GameplayCue notify Blueprint asset' names a specific verb, resource type, and the specialized 'notify' variant, which cleanly separates it from sibling tools like gas_create_ability, gas_create_gameplay_effect, and gas_create_attribute_set. The example (GCN_DashTrail) reinforces the exact asset kind being produced.

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 communicates implied usage through the GCN_ naming convention and the actor/static explainer, and points to a KB doc for deeper context. However, it never explicitly states when to choose this tool over sibling GAS creation tools or when not to use it, leaving the agent to infer the boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_create_gameplay_effectA

Create a Blueprint GameplayEffect asset.

Args: name: Asset name, usually prefixed GE_. path: Destination folder under /Game. parent_class: Optional parent class path/name. Defaults to UGameplayEffect. overwrite: Delete an existing asset with the same path first.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_create_gameplay_effect(name="GE_DashCooldown", path="/Game/GAS/Effects")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/GAS/Effects
overwriteNo
parent_classNo

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 must carry the behavioral disclosure burden. It does disclose the overwrite behavior (deleting an existing asset) and the parent_class default. However, it omits other behavioral details like failure modes (e.g., if asset exists without overwrite), permissions, or saving behavior. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a single purpose sentence, a compact argument list, and a clear example. The main purpose is front-loaded, and every line adds value. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, all parameters, an example, and points to a KB reference. It does not describe return values, but an output schema is present (not shown) which likely covers that. For a creation tool, this is nearly complete; a small gap is the absence of explicit preconditions (e.g., must have the GAS project set up), but that is reasonable to leave implicit.

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 explain the parameters. It does so for all four: name (with GE_ prefix convention), path (under /Game), parent_class (defaults to UGameplayEffect), and overwrite (delete first). This fully compensates for the schema's lack of descriptions.

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 + resource: 'Create a Blueprint GameplayEffect asset.' This clearly distinguishes it from sibling gas tools like gas_create_ability, gas_create_gameplay_cue, etc., which target different asset types. The resource type 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear purpose and an example, making when-to-use obvious. It does not explicitly mention alternatives or when not to use this tool, but the resource specificity (GameplayEffect) already implies the scope. A brief note about alternative tools would push this to 5, but the current guidance is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gas_grant_abilityA

Record a default GameplayAbility grant on a Blueprint and ensure an ASC.

Args: target_bp: Blueprint asset name/path receiving the grant metadata. ability: GameplayAbility asset path or class path. level: Default grant level. input_id: Optional legacy input id. Use -1 when tag/input binding handles activation. ensure_asc: Add an AbilitySystemComponent if the Blueprint lacks one.

KB: see knowledge_base/19_GAMEPLAY_ABILITY_SYSTEM.md#mcp-gas-tools Example: gas_grant_ability(target_bp="/Game/BP_Hero", ability="/Game/GAS/Abilities/GA_Dash")

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNo
abilityYes
input_idNo
target_bpYes
ensure_ascNo

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 behavioral disclosure. It does explain that ensure_asc adds an AbilitySystemComponent if missing, and mentions default grant level and input_id semantics. However, it does not disclose side effects like whether existing grants are overwritten, if the Blueprint is compiled, or if changes require saving. The description is partially transparent but missing key behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a concise summary, a parameter breakdown, a KB reference, and a concrete example. The info is front-loaded with the purpose, and the example clarifies usage. It is not overly verbose, though the parameter list could be moved to schema descriptions if they were present. Overall, efficient and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 params, defaults, no annotations) and that an output schema exists, the description covers essential usage: all parameters are explained, an example is provided, and a KB link offers deeper context. It does not mention error conditions or prerequisites (e.g., the ability asset must exist), but for typical usage it is sufficiently complete.

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 explain all parameters. The Args section does this effectively: target_bp, ability, level, input_id (with explicit instruction to use -1 for tag/input binding), and ensure_asc are all defined clearly. This adds significant meaning beyond the parameter names, fully compensating for the missing schema descriptions.

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 action: 'Record a default GameplayAbility grant on a Blueprint and ensure an ASC.' The verb 'Record' clearly indicates writing metadata to a Blueprint asset, and the mention of ASC distinguishes it from other GAS tools like gas_create_ability. However, it does not explicitly differentiate from sibling tools, 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 does not provide any guidance on when to use this tool versus alternatives (e.g., gas_create_ability, gas_apply_effect). It only states what it does and lists parameters. There is no mention of prerequisites, when not to use it, or alternative tools. The KB reference hints at more context but is not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_capture_texture_paint_snapshotC

Capture the active Unreal viewport for a Texture/Paint session.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#texture-paint-viewport-snapshots Example: gen_capture_texture_paint_snapshot(session_name="demo", label="front_view", upload_to_tripo=False)

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNobefore_paint
show_uiNo
resolutionNo
session_nameNodefault
model_task_idNo
screenshot_dirNo.mcp_artifacts/texture_paint
upload_to_tripoNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 only says 'capture' and gives an example; it does not mention that the tool writes screenshot files to screenshot_dir, may upload results to Tripo when upload_to_tripo is true, or otherwise affects external systems. This is a meaningful transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately brief: a single purpose sentence, a KB pointer, and a compact example. It is front-loaded with the core action and does not waste words, though the KB pointer is terse and assumes the agent can resolve the internal link.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 optional parameters, no annotation safety profile, and meaningful side effects (file output and optional external upload), the description is incomplete. It does not explain return values, output location, upload behavior, or when a Texture/Paint session must already be active. The KB pointer helps but does not fill these gaps inline.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only illustrates three parameters (session_name, label, upload_to_tripo) in an example without explaining their meaning, constraints, or interplay. Parameter names are somewhat self-explanatory, but the description adds little semantic value beyond the schema's raw names 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 states a concrete action ('Capture the active Unreal viewport') and scopes it to a Texture/Paint session, which makes the tool's purpose immediately identifiable. It does not explicitly distinguish itself from generic siblings like take_screenshot or viewport_capture_screenshot, but the Texture/Paint scoping provides enough differentiation.

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 this is for Texture/Paint session workflows but gives no explicit guidance on when to use it versus generic screenshot tools or alternate capture methods. No exclusions, prerequisites, or alternative tool recommendations are provided, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_check_credit_budgetC

Guard a Tripo spend against the per-session credit budget.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#cost-guard Example: gen_check_credit_budget(estimated_credits=120, session_name="demo", operation="text_to_model", confirm_spend=True, reserve_credits=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
operationNotripo_generation
session_nameNodefault
confirm_spendNo
reserve_creditsNo
estimated_creditsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries full responsibility for disclosing side effects. It does not explain what confirm_spend or reserve_credits actually do, whether the tool mutates budget state, or what happens when the budget is exceeded. The KB reference is helpful but not sufficient behavioral disclosure.

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 compact and well-ordered: a one-sentence purpose, a KB pointer, and a concrete example. It avoids filler and is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, zero annotations, and zero schema descriptions, the description is incomplete. It lacks side-effect information, threshold behavior, when to use it, and parameter semantics. The output schema exists, which covers return values, but the inputs and operational context remain under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only shows an example invocation. The example hints at the meaning of estimated_credits, session_name, and operation, but it does not explain the semantics of confirm_spend and reserve_credits beyond their 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 clear purpose: guard Tripo spend against a per-session credit budget. The verb 'guard' is somewhat metaphorical, but the example call with estimated_credits, session_name, and operation clarifies what the tool is for and distinguishes it from sibling tools like gen_tripo_get_credit_balance that only fetch balances.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives such as gen_tripo_get_credit_balance or gen_tripo_text_to_model. The phrasing 'Guard a Tripo spend' and the example imply it should be called before spending, but there is no stated precondition, exclusion, or comparative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_compile_generated_animation_evidenceC

Compile no-spend evidence for a generated Uthana animation lifecycle.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#generated-animation-evidence Example: gen_compile_generated_animation_evidence(motion_id="motion-id", import_result_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
motion_idNo
character_idNo
session_nameNodefault
approval_noteNo
motion_promptNo
job_result_jsonNo
pie_evidence_jsonNo
import_result_jsonNo
motion_result_jsonNo
download_result_jsonNo
ledger_evidence_jsonNo
download_allowed_jsonNo
retarget_evidence_jsonNo
animgraph_evidence_jsonNo
text_motion_result_jsonNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 side effects, what evidence is compiled, what the output format is, or any dependencies. The KB reference is external and not part of the description itself, so it adds limited transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very brief, consisting of a single sentence plus a KB link and an example. It is efficient and front-loads the main purpose, though the example is not fully self-explanatory.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 15 parameters, no annotations, and no output schema described, this description is severely incomplete. It does not explain what the evidence contains, how parameters relate to each other, or what the return value is, making it inadequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 15 parameters with 0% coverage, and the description only mentions two parameters in an example without explaining their meaning. It does not describe any parameter semantics, leaving agents to guess what each field represents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('compile no-spend evidence') and the specific context ('generated Uthana animation lifecycle'), which distinguishes it from other gen_* tools. It's concise and informative about the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, sequencing, or when not to use it. The example shows a call but does not clarify the use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_compile_ide_companion_readinessC

Compile no-spend readiness for generated assets plus playable-slice development.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#ide-companion-readiness Example: gen_compile_ide_companion_readiness(brief="third-person dungeon demo", include_api_wallet=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
briefNothird-person dungeon-crawler demo with a hero, two props, and an enemy
timeout_sNo
content_pathNo/Game/Generated/PlayableSlice
session_nameNoide-companion
mechanic_briefNo
include_api_walletNo
include_unreal_bridgeNo
include_animation_accountNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 burden of behavioral disclosure. It hints at 'no-spend' (likely meaning no cost incurred), but does not state whether the tool is read-only, whether it mutates project state, what it returns, or any side effects. This is insufficient for a tool with 8 parameters and no annotation safety net.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences plus an example), which is concise, but it under-specifies the tool. The purpose is front-loaded but the lack of essential details outweighs the brevity. It is not bloated, but it is also not adequately informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, no schema descriptions, no annotations) and that an output schema exists but is not summarized, the description is far from complete. It neither explains the tool's behavior nor its relationship to the many sibling compilation tools, leaving the agent to guess when and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It only shows an example with 'brief' and 'include_api_wallet', but does not define any of the 8 parameters, their expected values, or how they influence the compilation. The agent cannot determine what to pass for timeout_s, content_path, session_name, etc.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Compile' and names a resource ('no-spend readiness for generated assets plus playable-slice development'), but the term 'no-spend readiness' is jargon and the description does not distinguish the tool from sibling compilation tools like skill_compile_ide_companion_dashboard or skill_compile_ide_companion_session. It is not a tautology but remains vague about the exact deliverable.

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 a KB reference and an example call, but there is no explicit guidance on when to use this tool versus alternatives. No exclusions, prerequisites, or conditions are stated, leaving the agent to infer usage from the name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_compile_texture_paint_evidenceC

Compile a no-spend evidence receipt for a Tripo texture-paint pass.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#texture-paint-evidence Example: gen_compile_texture_paint_evidence(session_name="demo", texture_task_result_json="", import_result_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
session_nameNodefault
approval_noteNo
model_task_idNo
wait_result_jsonNo
import_result_jsonNo
prepare_result_jsonNo
viewport_evidence_jsonNo
texture_task_result_jsonNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for disclosing behavioral traits. It only mentions 'no-spend' (implying no credit consumption) but does not describe side effects, required permissions, or what the receipt contains. This is a significant gap for a tool that likely writes data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and includes a helpful example and KB reference, but it is not well-structured or front-loaded. The essential information (what it does) is present, but the example and KB reference are not formatted to maximize readability for an agent.

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 8 parameters, no schema descriptions, no annotations, and only a partial example. The description does not explain the full parameter set, usage context, or return value (though an output schema exists). It is inadequate for an agent to call correctly without additional knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, but it only provides an example with three parameters (session_name, texture_task_result_json, import_result_json). The remaining five parameters (approval_note, model_task_id, wait_result_json, prepare_result_json, viewport_evidence_json) are entirely unexplained, leaving agents unable to populate them correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (compile) and resource (evidence receipt for a Tripo texture-paint pass), making the tool's purpose clear. It does not explicitly differentiate from sibling tools like gen_compile_generated_animation_evidence, but the texture-paint specificity is sufficient to distinguish it.

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 gen_record_texture_paint_pass or gen_capture_texture_paint_snapshot. The description implies it is for post-pass evidence compilation but provides no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_client_configA

Generate MCP client config files for Codex, Cursor, VS Code, Claude, and Gemini.

Args: client: One of "all", "codex", "cursor", "vscode", "claude_code", or "gemini". transport: "stdio", "streamable-http", or "sse". base_dir: Directory where client config folders/files should be written. Defaults to the current repository root. server_name: MCP server entry name to write. python_command: Python command for stdio configs. server_script: Optional absolute path to unreal_mcp_server.py for stdio configs. mcp_host: HTTP host for streamable-http or SSE configs. mcp_port: HTTP port for streamable-http or SSE configs. unreal_host: UE bridge host for stdio configs. unreal_port: UE bridge port for stdio configs. tool_search_mode: Add UNREAL_MCP_TOOL_SEARCH_MODE=1 to stdio configs. dry_run: Return config entries and paths without writing files.

ParametersJSON Schema
NameRequiredDescriptionDefault
clientNoall
dry_runNo
base_dirNo
mcp_hostNo127.0.0.1
mcp_portNo
transportNostreamable-http
server_nameNounreal-mcp
unreal_hostNo127.0.0.1
unreal_portNo
server_scriptNo
python_commandNopython
tool_search_modeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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. It discloses the core behavior of writing config files and explicitly explains dry_run behavior ('Return config entries and paths without writing files'), which implies the alternative (writing files when dry_run is false). It also clarifies which params apply to which transports and what tool_search_mode does (adds an environment variable). It does not mention side effects like overwriting existing files or directory creation, but for a generation tool this is a reasonable level of disclosure.

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 sentence, then a compact list of parameters. Each line delivers necessary information without filler. Given that the schema has zero descriptions, the list is appropriately sized and not redundant. The format (name, meaning, defaults) is scannable and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 12 parameters, 0 required, and no schema descriptions, the description provides everything an agent needs: purpose, parameter semantics, transport-specific behavior, and dry-run functionality. An output schema exists, so return values need not be explained. No essential information is missing for correct invocation.

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 fully compensates. It explains every parameter's meaning, allowed values (client: all/codex/cursor/vscode/claude_code/gemini; transport: stdio/streamable-http/sse), defaults (base_dir defaults to repo root), and transport-specific effects (python_command/server_script/tool_search_mode for stdio; mcp_host/mcp_port for HTTP/SSE). This is a complete, non-redundant parameter reference.

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 immediately states a precise verb and resource: 'Generate MCP client config files' for a specific set of clients (Codex, Cursor, VS Code, Claude, Gemini). This clearly distinguishes it from sibling tools, which are all Unreal editor operations, and leaves no ambiguity about the tool's function.

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 context is clear from the tool name and description that this is the tool for generating MCP client configs. It does not explicitly mention alternatives or exclusions, but among the large sibling list, no other tool overlaps in purpose. The parameter details further imply the intended use cases (e.g., different transports, dry-run). A slight gap is the lack of an explicit 'when to use' or 'when not to use' statement, but the context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_get_provider_configA

Read Tripo auth/config state without exposing the API key value.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#config-and-auth Example: gen_get_provider_config(include_paths=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
include_pathsNo

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 burden. It explicitly discloses that the API key value is not exposed, which is a key safety behavior. It also indicates this is a read operation. However, it does not describe the exact return fields or any side effects, though the output schema may cover return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: two sentences plus a KB link and an example. Every element adds value; no 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 simple read tool with one optional parameter and an output schema, the description covers the essential purpose and safety constraint, and points to KB for details. It lacks explicit usage guidance vs siblings but that's minor given the tool's simplicity.

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 provides an example using include_paths=True, implying that the parameter controls whether paths are included, but does not explicitly define 'paths'. This adds some meaning beyond the raw 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 ('Read'), resource ('Tripo auth/config state'), and an explicit constraint ('without exposing the API key value'). This distinguishes it from sibling tools like gen_save_provider_config (which writes) and gen_list_providers (which lists providers).

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 implies usage for reading config state but does not explicitly state when to use it over alternatives or when not to use it. It provides a KB reference and an example, but no explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_list_providersB

List configured generative providers and D.1 import helper readiness.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#provider-scaffold Example: gen_list_providers(include_import_helpers=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
include_import_helpersNo

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 burden. The word 'List' reasonably conveys a read-only operation and the scope is stated, but it does not disclose prerequisites, whether external provider services are contacted, or whether any state is read beyond configured providers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: a one-sentence purpose, a useful KB reference, and a concrete example. There is no filler or redundant restating of the tool name.

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?

This is a simple list operation with an output schema and a KB pointer, so the description is minimally adequate. However, it omits clear parameter behavior and usage context, which are meaningful gaps for an agent deciding whether and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain include_import_helpers. The example shows include_import_helpers=True and connects it to 'import helper readiness', but it never clarifies what False does or how the flag changes the returned data, leaving the agent to guess from the parameter name.

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: 'List configured generative providers and D.1 import helper readiness.' It clearly says what the tool returns, though it does not explicitly distinguish itself from sibling gen_* config tools like gen_get_provider_config.

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 example invocation and KB reference imply how to use the tool, but the description gives no explicit when-to-use guidance, exclusions, or alternatives. The agent must infer the appropriate context from the name and example.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_prepare_import_manifestC

Validate and normalize a generated asset import manifest for Unreal.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#import-manifest-helper Example: gen_prepare_import_manifest(task_id="tripo_task_123", local_files=["C:/Gen/slime.glb"], content_path="/Game/Generated/Enemies")

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
providerNotripo
asset_nameNo
local_filesNo
content_pathNo/Game/Generated
create_blueprintNo
overwrite_existingNo
create_material_instanceNo

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 alone must disclose side effects, yet it only says 'validate and normalize.' It does not state whether the tool writes a manifest, overwrites files, requires permissions, or mutates project state, and the overwrite_existing parameter hints at possible side effects that are left unexplained.

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 sentence is front-loaded and compact, with a KB pointer and a realistic call example that illustrate usage. Every line earns its place, though the lack of parameter or behavior detail limits how informative the overall text is.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With eight parameters, zero schema descriptions, and no annotations, the description is insufficient for an agent to invoke the tool correctly without consulting external docs. The output schema exists, but parameter semantics, side effects, and placement in the pipeline are all missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not compensate. The example demonstrates task_id, local_files, and content_path values, but the remaining five parameters are functionally undocumented in both the schema and description. No parameter-level meaning is added beyond what names and defaults already show.

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 'Validate and normalize a generated asset import manifest for Unreal,' a specific verb+resource pair that clearly identifies the tool's job. It does not explicitly name sibling tools such as gen_tripo_import_to_project, so differentiation is implied rather than stated.

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 example and KB reference imply this is a preparation step in the generative asset pipeline, but the description never states when to use it versus gen_tripo_import_to_project or validate_import_result. Usage context is present only via the example and the 'generated asset import manifest' phrasing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_prepare_texture_paint_sessionA

Plan a Tripo texture-paint edit session without making a paid request.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#d9-chat-dock-integration Example: gen_prepare_texture_paint_session(model_task_id="task_123", texture_prompt="weathered brass", view_angle="front", save_asset_name="MI_BrassPass")

ParametersJSON Schema
NameRequiredDescriptionDefault
blend_modeNosoft blend
view_angleNocurrent viewport/front
paint_notesNo
session_nameNodefault
model_task_idYes
output_folderNo/Game/Generated
brush_strengthNo
texture_promptYes
save_asset_nameNoMI_GeneratedPaintedTexture
texture_reference_imageNo

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 burden and does contribute the important behavioral fact that no paid request is made and that this is a planning operation, not a mutation. Still, it does not disclose potential side effects, whether a session or asset is created, or any permissions/credit preconditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well structured: one sentence states the purpose and cost behavior, followed by a KB pointer and a concrete invocation example. There is no filler and no repetition of schema field names.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a relatively complex 10-parameter tool with zero per-parameter schema descriptions and no annotations, the description is too thin. An agent cannot reliably determine valid values or interactions for the undocumented parameters, and while an output schema may define return shape, input semantics remain under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for 10 parameters, and the description only compensates with a single example that illustrates model_task_id, texture_prompt, view_angle, and save_asset_name. The other six parameters (e.g., blend_mode, brush_strength, output_folder, texture_reference_image) have no semantic explanation at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Plan a Tripo texture-paint edit session' and immediately adds the key qualifier 'without making a paid request.' This distinguishes it from actual generation/execution tools like gen_tripo_texture_model or recording tools like gen_record_texture_paint_pass without needing to open their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'without making a paid request' wording implies this is a preflight/planning step before a paid texture operation, which is useful context. However, it never names alternative tools or states explicit when-to-use/when-not-to-use conditions, leaving routing mostly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_record_texture_paint_passB

Record a no-spend Texture/Paint brush pass for evidence and iteration.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#texture-paint-pass-records Example: gen_record_texture_paint_pass(session_name="demo", pass_label="front_highlights", affected_regions="front panels", approval_note="Approved pass")

ParametersJSON Schema
NameRequiredDescriptionDefault
blend_modeNo
pass_labelNopaint_pass_01
pass_notesNo
blend_amountNo
brush_radiusNo
session_nameNodefault
approval_noteNo
model_task_idNo
brush_strengthNo
texture_task_idNo
affected_regionsNo
texture_asset_pathNo
result_snapshot_labelNopainted_view
source_snapshot_labelNosource_view

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.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 discloses a meaningful trait: 'no-spend' (no credit cost) and that it records for evidence/iteration. However, it doesn't disclose side effects — what state it writes, whether it modifies the session, or its irreversibility. For a recording tool with zero annotation coverage, more behavioral context would help, but the no-spend disclosure is a genuine value-add.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three elements — a one-sentence purpose, a KB pointer, and a usage example — with no filler. The purpose is front-loaded. The example is compact and illustrative. Minor waste is none; it's efficient for what it covers, though it could trade some example space for parameter clarification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter tool with 0% schema coverage and no annotations, the description is incomplete. It covers purpose and provides an example but leaves 10 parameters semantically undefined and doesn't clarify the relationship to sibling evidence/snapshot tools. The output schema covers return values, but parameter semantics and workflow context are substantial gaps an agent must resolve via the KB.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for 14 parameters. The example demonstrates 4 of them (session_name, pass_label, affected_regions, approval_note) with plausible values, giving weak semantic hints. The remaining 10 (blend_mode, blend_amount, brush_radius, brush_strength, model_task_id, texture_task_id, texture_asset_path, result_snapshot_label, source_snapshot_label, pass_notes) are entirely unexplained, leaving the agent to guess at brush and task-ID semantics.

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-resource pair ('Record a no-spend Texture/Paint brush pass') and a purpose ('for evidence and iteration'). The 'no-spend' qualifier distinguishes it from credit-consuming generation tools. However, it doesn't explicitly contrast with nearby siblings like gen_capture_texture_paint_snapshot or gen_compile_texture_paint_evidence, which is the main differentiator an agent needs.

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 when to use it (recording evidence and iteration of a brush pass) and the 'no-spend' hints it's the safe/cheap recording path. But it never explicitly says when NOT to use it or names alternatives such as gen_capture_texture_paint_snapshot for snapshots or gen_prepare_texture_paint_session for setup. The KB reference provides external guidance but the description itself lacks explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_save_provider_configC

Save Tripo/Uthana defaults and optionally store/clear local API keys.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#config-and-auth Example: gen_save_provider_config(default_model_version="tripo-default", output_folder="/Game/Generated", session_credit_budget=750)

ParametersJSON Schema
NameRequiredDescriptionDefault
output_folderNo/Game/Generated
store_api_keyNo
tripo_api_keyNo
uthana_api_keyNo
clear_stored_api_keyNo
store_uthana_api_keyNo
default_model_versionNotripo-default
session_credit_budgetNo
animation_output_folderNo/Game/Generated/Animations
default_texture_qualityNostandard
clear_stored_uthana_api_keyNo
uthana_default_character_idNocXi2eAP19XwQ

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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 behavioral disclosure burden. It does state that the tool saves defaults and can optionally store or clear local API keys, with the 'local' qualifier adding useful context. However, it does not disclose whether existing configuration is overwritten, whether clearing a key has downstream effects, or whether the API keys are strictly required for other gen_* calls.

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 compact and front-loaded: one functional sentence, a short KB pointer, and a practical call example. There is no filler, and the example adds concrete value by showing a realistic invocation.

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 12 optional parameters, no annotations, and no schema-level parameter documentation, so the description must explain a fairly complex configuration contract. It does not clarify the interaction between store and clear flags or the meaning of several parameters; the KB link helps, but the inline description is not enough for correct, safe invocation on its own.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for 12 undocumented parameters. The example demonstrates default_model_version, output_folder, and session_credit_budget, and the prose covers API-key store/clear flags, but most parameters such as animation_output_folder, default_texture_quality, and uthana_default_character_id receive no explanation.

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: saving Tripo/Uthana provider defaults, with optional local API-key store/clear behavior. This makes the core action clear and distinguishes it as a write/save operation from read siblings like gen_get_provider_config, though it never explicitly names that sibling.

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 about when to use this tool versus alternatives such as gen_get_provider_config. The example and KB link imply configuration-related usage, but the agent is left to infer the appropriate context and any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_texture_from_promptC

Plan a prompt-only texture set and material instance handoff.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#texture-only-path Example: gen_texture_from_prompt(prompt="wet mossy stone", channels=["BaseColor", "Normal", "ORM"], resolution=1024)

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
channelsNo
providerNotripo
asset_nameNo
resolutionNo
content_pathNo/Game/Generated
master_material_pathNo/Game/Materials/M_Master_GeneratedTexture

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/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 behavioral burden, but it fails to state whether this operation mutates the project, creates assets, consumes credits, or just returns a plan. Terms like 'handoff' are never explained, so the agent cannot predict side effects or output behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and the KB reference plus example are useful, but the core sentence is ambiguous and poorly structured. It front-loads the unclear 'Plan' wording instead of a clear action statement, so conciseness comes at the cost of clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the tool has 7 parameters, no annotations, and a low-coverage schema. The description omits essential context about the material instance handoff, provider behavior, content paths, and pipeline stage, making it incomplete for an agent to confidently select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The example adds concrete meaning for prompt, channels, and resolution (e.g., channels=["BaseColor", "Normal", "ORM"], resolution=1024), which is helpful given 0% schema description coverage. However, the remaining four parameters (provider, asset_name, content_path, master_material_path) are entirely unexplained, so the description only partially compensates for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Plan a prompt-only texture set and material instance handoff,' which is vague about whether the tool actually generates textures or just produces a plan. The tool name implies generation, but the description's verb 'Plan' contradicts that implication and does not clearly distinguish it from siblings like gen_tripo_texture_model or material_wire_texture_set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given for when to use this tool versus alternatives. The KB reference points to a pipeline document, but the description does not summarize conditions, prerequisites, or exclude cases, leaving the agent to infer usage from the example alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_download_resultA

Download signed Tripo output URLs for a successful task into a local folder.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_download_result(task_id="model-task-id", target_folder="C:/Generated/Slime")

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
output_keysNo
target_folderYes

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?

There are no annotations, so the description carries the full burden. It does disclose the core behavior: downloading signed URLs to a local folder. However, it does not mention file overwrite behavior, whether it creates missing directories, or what happens when called for a non-successful task. The 'signed' wording hints at time-limited credentials but does not elaborate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: a one-sentence purpose, a KB pointer, and a runnable example. There is no filler or redundant restatement of the tool name. Every element 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 documentation is not required, and the example provides a usable call shape. Still, the description omits enough operational detail—what output_keys controls, prerequisites beyond 'successful task', and local folder handling—that an agent may need extra research. The KB pointer partially mitigates this, but the standalone description is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any parameter except indirectly through the example. task_id and target_folder are illustrated with concrete values, but output_keys is not described at all, despite being an optional array that could meaningfully affect which files are downloaded. The KB link helps, but the description itself does not compensate for the missing schema documentation.

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: 'Download signed Tripo output URLs for a successful task into a local folder.' This clearly differentiates the tool from siblings like gen_tripo_get_task_status and gen_tripo_import_to_project without needing to inspect schemas. The 'successful task' condition also adds meaningful scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a successful task' gives useful context: the agent should call this only after a task has completed successfully. However, the description does not explicitly say when not to use it or mention alternatives such as gen_tripo_import_to_project. The KB reference offers a place to learn more but does not itself provide exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_get_credit_balanceB

Fetch the authenticated Tripo API wallet credit balance.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#api-wallet-balance Example: gen_tripo_get_credit_balance()

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo
include_rawNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/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 conveys that the operation requires authentication ('authenticated') and that 'Fetch' implies a read-only side-effect-free call. However, it does not disclose what happens on auth failure, whether this is a live network call subject to latency, or any other operational traits.

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 efficient and front-loaded, with the verb+resource on the first line, followed by a KB pointer and a usage example. Each element earns its place and the example is a genuinely useful invocation hint for the agent.

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 read-only tool with an output schema and zero required parameters, the description is mostly adequate. The significant gaps are the undocumented parameter semantics and the lack of routing guidance against gen_check_credit_budget. The KB reference and example add some context but don't close these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate: there is no explanation of timeout_s or include_raw anywhere. The included example call with no arguments at least signals both parameters are optional, which matches the zero required parameters. Still, this is the minimum compensation for two completely undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Fetch the authenticated Tripo API wallet credit balance.' This clearly identifies what the tool does. However, it does not explicitly differentiate from the similarly named sibling gen_check_credit_budget, which also relates to credit accounting and could confuse an agent.

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 is provided. The tool's purpose implies 'use when you need the wallet balance,' but there is no mention of when not to use it, nor any routing to alternatives like gen_check_credit_budget or gen_tripo_get_task_status. The KB reference ('see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#api-wallet-balance') points to external context but does not itself state usage conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_get_task_statusB

Get Tripo task status and output URLs.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_get_task_status(task_id="model-task-id")

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

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 full burden falls on the description. It discloses that the tool returns output URLs but never states whether it blocks, what happens for in-progress tasks, or whether it is read-only beyond the word 'get'. The KB pointer does not substitute for explicit behavioral disclosure.

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 sentences plus a one-line example; no filler. The essential purpose is front-loaded, and the KB reference and example earn their 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?

For a one-parameter getter with an output schema, the description covers the basic call but leaves pipeline context unanswered. It doesn't clarify the relationship with gen_tripo_wait_for_task/gen_tripo_download_result or the behavior when a task is still running, making it incomplete for an agent unfamiliar with Tripo workflow. The KB reference is a pointer, not inline completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required string task_id with 0% description coverage, so the description must compensate. It provides a call example with 'task_id="model-task-id"', which adds a syntax hint, but it doesn't say where the task_id comes from or what format is expected. This is minimally sufficient but not rich.

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 clear verb ('Get'), resource ('Tripo task status'), and return content ('output URLs'), so an agent understands the basic operation. It doesn't explicitly differentiate from near-siblings like gen_tripo_wait_for_task or gen_tripo_download_result, so it falls short of top-tier sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance appears; the description doesn't say to call this after submitting a generation task or before download, nor mention gen_tripo_wait_for_task as the polling alternative. The only contextual cue is the KB link, which an agent would have to open. This is effectively no usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_image_to_modelB

Submit a Tripo image_to_model task from a local image, URL, or file token.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_image_to_model(image_url="https://example.com/slime.png", texture=True, confirm_spend=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
pbrNo
quadNo
textureNo
auto_sizeNo
image_urlNo
face_limitNo
file_tokenNo
image_pathNo
model_seedNo
orientationNodefault
session_nameNodefault
texture_seedNo
confirm_spendNo
model_versionNo
generate_partsNo
smart_low_polyNo
texture_qualityNo
geometry_qualityNostandard
texture_alignmentNooriginal_image
enable_image_autofixNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 behavioral disclosure burden. It says the tool 'submits' a task and the example passes confirm_spend=True, hinting at an asynchronous, credit-gated generation call, but it never states that confirm_spend authorizes spending, that results must be polled/downloaded via sibling tools, or what side effects occur. This is a significant gap for a paid generation 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 text is tight and front-loaded: a one-line purpose, a KB reference, and a concrete example, with no filler. It is appropriately concise, though the 20-parameter surface would benefit from slightly more elaboration, which is why it does not reach 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 20-parameter, no-annotation generation tool, the description is not complete enough. It does not clearly state that at least one input source is required, that confirm_spend must be set to authorize credit usage, or how the async task lifecycle works. The KB pointer and example help, but the gaps around cost and follow-up steps remain significant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning for the source-choice parameters (image_url/image_path/file_token) and highlights texture and confirm_spend in the example, but 17 of 20 parameters—including pbr, quad, face_limit, seeds, texture quality, and geometry quality—remain unexplained. The compensation is only partial.

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 names a specific verb ('Submit'), a specific resource ('Tripo image_to_model task'), and the accepted input modalities ('local image, URL, or file token'). This clearly distinguishes it from sibling generators like gen_tripo_text_to_model and gen_tripo_multiview_to_model.

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 establishes clear usage context: this tool is for image-driven 3D generation with three explicit source types, and the example shows a realistic invocation. It does not explicitly list alternatives or when-not-to-use cases, but the image-source framing makes the boundary reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_import_to_projectB

Download a successful Tripo task result, import it, and capture viewport evidence.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#auto-import-bridge Example: gen_tripo_import_to_project(task_id="model-task-id", content_path="/Game/Generated/Enemies", create_material_instance=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
asset_nameNo
output_keysNo
content_pathNo/Game/Generated
target_folderNo
create_blueprintNo
capture_thumbnailNo
overwrite_existingNo
create_material_instanceNo

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 present, so the description carries the full behavioral disclosure burden. It states the high-level operations but does not disclose that this mutates the project by importing assets, creating material instances or blueprints, or potentially overwriting existing assets. Side effects, permissions, and failure behavior are left to the KB reference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core behavior, and each element earns its place: the one-line action, the KB anchor, and a concrete callable example. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, 0% schema description coverage, and no annotations, this description is too thin. It provides a useful example and KB pointer, but an agent cannot reliably call it correctly without external documentation about parameter semantics, prerequisites, and side effects. The output schema reduces the need to describe return values but does not compensate for the missing parameter guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only shows three parameters in an example (task_id, content_path, create_material_instance) without explaining their meaning. Ambiguous parameters like output_keys, target_folder, asset_name, and the interplay of overwrite_existing are not clarified.

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 names a specific sequence of actions—download a successful Tripo result, import it, and capture viewport evidence—with a clear resource and destination. This distinguishes it from siblings like gen_tripo_download_result by emphasizing the project import and evidence capture steps.

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 'successful Tripo task result' implies this should only be used after generation completes successfully, and the KB reference points to pipeline context. However, it never explicitly contrasts this with alternatives or states when not to use it, such as when only a raw download is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_multiview_to_modelB

Submit a Tripo multiview_to_model task from ordered front/left/back/right images.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_multiview_to_model(images=[{"image_url":"https://example.com/front.png"},{"image_url":"https://example.com/left.png"}], confirm_spend=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
pbrNo
quadNo
imagesNo
textureNo
auto_sizeNo
face_limitNo
model_seedNo
session_nameNodefault
texture_seedNo
confirm_spendNo
model_versionNo
generate_partsNo
smart_low_polyNo
texture_qualityNo
geometry_qualityNostandard
original_task_idNo
texture_alignmentNooriginal_image

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 only says 'Submit a ... task' and includes confirm_spend=True in the example, hinting at a paid/credit-consuming operation, but it does not disclose async behavior, task IDs, polling requirements, credit costs, or what happens after submission.

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: purpose first, then a KB pointer, then a concrete callable example. The example is helpful, though it shows only two images while the text says front/left/back/right, so it is slightly inconsistent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 17 parameters, 0% schema coverage, no annotations, and only a minimal description, this is under-specified for correct invocation. An output schema exists so return values are covered, but the description only partially handles the input contract and leaves much to the KB reference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add useful semantics via the example, showing images as an array of objects with 'image_url' and confirming the order matters. But 17 parameters exist and only images and confirm_spend are illustrated; most optional settings like pbr, quad, texture_quality, seeds, and model_version are left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Submit a Tripo multiview_to_model task from ordered front/left/back/right images.' This clearly distinguishes it from sibling tools like gen_tripo_text_to_model and gen_tripo_image_to_model by naming the input modality and ordering requirement.

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 clearly implies when to use this tool: when you have ordered front/left/back/right images. The KB reference points to the broader tripo-task-family, which likely contains further guidance. However, it does not explicitly exclude alternatives such as gen_tripo_image_to_model for single-image inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_post_processC

Submit a Tripo convert_model post-process task.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_post_process(task_id="model-task-id", target_format="FBX", confirm_spend=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
quadNo
task_idYes
face_limitNo
scale_factorNo
session_nameNodefault
confirm_spendNo
target_formatNoFBX
export_orientationNo+x
pivot_to_center_bottomNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden of behavioral disclosure. It reveals that the tool 'submits' a task, implying asynchronous behavior, and the example's confirm_spend=True hints at cost, but it does not explain credit consumption, side effects, failure modes, or whether the tool waits for completion.

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 compact and front-loaded: the core action is stated first, followed by a useful KB reference and a concrete invocation example. It contains no filler, though it could earn a 5 with slightly more structured parameter guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no annotations and no parameter descriptions, this description is incomplete. The output schema helps with return values and the KB link provides deeper context, but an agent still lacks enough information to correctly choose and populate most parameters for a real call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The example adds meaning for task_id, target_format, and confirm_spend, but the other six parameters (quad, face_limit, scale_factor, session_name, export_orientation, pivot_to_center_bottom) are left undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Submit') and the specific resource ('a Tripo convert_model post-process task'), so an agent understands what the tool does. It does not explicitly contrast itself with related gen_tripo_* tools, but the verb+resource combination is sufficiently specific to identify this as the post-processing entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like gen_tripo_refine_model, gen_tripo_texture_model, or gen_tripo_wait_for_task. The KB pointer and example hint at usage context, but there is no explicit when-to-use, prerequisite, or exclusion information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_refine_modelC

Submit a Tripo refine_model task for a legacy draft model task.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_refine_model(task_id="draft-task-id", confirm_spend=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
session_nameNodefault
confirm_spendNo

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 must disclose operational behavior, but it only says 'Submit a task' and gives an example. It does not state whether the operation is asynchronous, whether it spends credits, how confirm_spend affects execution, or how the resulting task is tracked.

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 compact and front-loaded: a purpose sentence, a KB pointer, and a concrete example. There is no filler, though the brevity does mean some behavioral information is left out.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a generative pipeline tool with no annotations, and the description omits key context such as async behavior, cost/credit confirmation, task-status polling, and follow-up steps. The KB reference helps but shifts the documentation burden instead of making the tool definition self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to explain the parameters. The example clarifies that task_id should be a draft task ID and shows confirm_spend=True, but session_name is never explained, and no parameter detail beyond the bare schema is provided.

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 action ('Submit a Tripo refine_model task') and the resource ('legacy draft model task'), making it clear this is the refine step in the Tripo family. It does not explicitly contrast it with sibling generation tools, but the verb and 'refine' wording distinguish it well enough.

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 'for a legacy draft model task' and the example using task_id='draft-task-id' imply it is used after a draft job exists, and the KB reference points to broader family guidance. However, there is no explicit when/when-not guidance and no mention of alternatives such as gen_tripo_texture_model or gen_tripo_post_process.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_text_to_modelC

Submit a Tripo text_to_model task.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_text_to_model(prompt="stylized slime enemy", texture=True, pbr=True, confirm_spend=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
pbrNo
quadNo
promptYes
textureNo
auto_sizeNo
face_limitNo
model_seedNo
orientationNodefault
session_nameNodefault
texture_seedNo
confirm_spendNo
model_versionNo
generate_partsNo
smart_low_polyNo
negative_promptNo
texture_qualityNo
geometry_qualityNostandard

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 only says 'Submit' and provides an example with confirm_spend=true, which hints at spending/cost but does not explain async behavior, job creation, credit checks, or what happens after submission. Significant behavioral gaps remain.

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 compact and front-loaded with the core action, then a KB anchor, then a concrete example. It is appropriately short and the example is useful, though a bit more context could be packed in without bloating it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity tool with 17 parameters, no annotations, and no behavioral or parameter guidance. The description only covers submission and one example, leaving an agent without enough context to correctly invoke the tool or interpret its result. The output schema exists but is not explained; the description relies on an external KB reference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only names prompt, texture, pbr, and confirm_spend in the example. It does not explain quad, auto_size, face_limit, model_seed, orientation, session_name, texture_seed, model_version, generate_parts, smart_low_poly, negative_prompt, texture_quality, or geometry_quality.

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 ('Submit') and specific resource ('Tripo text_to_model task'). It also provides an example invocation. However, it does not explicitly differentiate from the sibling Tripo tools like image_to_model or refine_model, so it is clear but not fully distinguishing.

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 the many related sibling tools (e.g., gen_tripo_image_to_model, gen_tripo_refine_model, gen_tripo_get_task_status). The KB reference and example imply usage, but they do not state conditions, exclusions, or alternative selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_texture_modelB

Submit a Tripo texture_model task for an existing model task.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_texture_model(task_id="model-task-id", texture_prompt="mossy stone", confirm_spend=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
pbrNo
task_idYes
textureNo
session_nameNodefault
texture_seedNo
confirm_spendNo
model_versionNov3.0-20250812
texture_promptYes
texture_qualityNo
texture_alignmentNooriginal_image

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 mentions 'submit' and shows a confirm_spend argument, hinting at cost, but does not disclose that this likely creates an asynchronous job, consumes credits, or produces a task that must be polled and downloaded. The KB link offers partial guidance but the description itself 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?

The description is short, front-loaded with the core purpose, and includes a concrete example and KB pointer. It earns its place, though more parameter guidance would improve value 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?

With 10 parameters, zero annotations, and a 0% schema coverage, the description is not complete enough for correct invocation. It omits workflow context (e.g., that the model task comes from another gen_tripo tool), spend confirmation semantics, and explanations for optional parameters. The output schema covers return structure, but the submission behavior remains underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The example clarifies task_id and texture_prompt and hints that confirm_spend matters, but the other seven parameters (pbr, texture, session_name, texture_seed, model_version, texture_quality, texture_alignment) receive no explanation beyond their defaults.

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 opens with a specific verb and resource: 'Submit a Tripo texture_model task for an existing model task.' This clearly distinguishes it from sibling generation tools like gen_tripo_text_to_model or gen_tripo_refine_model, and the 'existing model task' qualifier narrows the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use it: after a model task already exists, and the example demonstrates the required task_id and texture_prompt. It does not explicitly name alternatives or state when not to use it, but the prerequisite is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_tripo_wait_for_taskB

Poll a Tripo task until it reaches a finalized status or timeout.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#tripo-task-family Example: gen_tripo_wait_for_task(task_id="model-task-id", timeout_s=900, poll_s=10)

ParametersJSON Schema
NameRequiredDescriptionDefault
poll_sNo
task_idYes
timeout_sNo

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 of behavioral disclosure. It does reveal the key blocking trait — that the tool polls until a finalized status or timeout — which is essential for an agent to know before calling. However, it does not clarify what happens on timeout (error vs. partial result), what a 'finalized status' means, or the polling cadence semantics, leaving important behavioral gaps.

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 efficient: one purpose sentence, a KB pointer, and a concrete example. Every element earns its place and the example is genuinely instructive. Not bloated, though the KB reference could arguably be shortened.

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 three-parameter polling tool with an output schema and zero annotation coverage, the description is mostly adequate — it states the purpose and shows parameter usage. Gaps remain around timeout behavior, return-value semantics, and what constitutes a 'finalized' status, but the output schema offsets some of this. Reasonably complete for a simple poller.

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 schema offers only names, types, and defaults. The description's example (task_id='model-task-id', timeout_s=900, poll_s=10) demonstrates realistic usage and implies the units (seconds) and role of each parameter. This partially compensates for the missing schema descriptions but doesn't explicitly explain each parameter's semantics or edge cases.

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 ('Poll a Tripo task') with a clear termination condition ('until it reaches a finalized status or timeout'). This distinguishes it from siblings like gen_tripo_get_task_status (one-shot status check) and gen_tripo_download_result (retrieval). It doesn't explicitly name a sibling it differs from, 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 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 gen_tripo_get_task_status, or when to skip polling and go straight to download. The KB reference could hold this context but the description itself provides no usage context, exclusions, or sequencing advice beyond a bare example.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_check_download_allowedB

Check whether a Uthana motion download is allowed before consuming quota.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_check_download_allowed(motion_id="motion-id")

ParametersJSON Schema
NameRequiredDescriptionDefault
motion_idYes
timeout_sNo
character_idNo

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 exist, so the description carries full behavioral disclosure burden. It suggests a read-only check ('Check whether...') and hints at quota economics, but it does not explicitly state that the tool is side-effect-free, whether it consumes quota itself, or what it returns beyond what the output schema may imply.

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 its core purpose. The KB reference and example are compact and useful, with no redundant filler. It is efficient, though a bit sparse on details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters, no annotations, and zero parameter coverage in the schema descriptions, the description is not complete enough on its own. It relies on an external KB link and leaves timeout_s, character_id, and behavioral side effects ambiguous. The output schema exists but its contents are not available in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only shows an example for motion_id and gives no explanation of timeout_s or character_id. The example adds minimal syntax but not meaning for these optional parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Check whether a Uthana motion download is allowed before consuming quota.' This clearly identifies the tool as a pre-download gate and distinguishes it from siblings like gen_uthana_download_motion and gen_uthana_get_motion.

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 'before consuming quota' implies the tool should be used prior to a download, but there is no explicit when-to-use statement, no exclusions, and no named alternative. The KB reference may help but is not a substitute for direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_create_characterC

Upload a Tripo/exported character file to Uthana and create an auto-rigged character target.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_create_character(local_file="C:/Generated/Hero.fbx", character_name="Hero", confirm_usage=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
auto_rigNo
timeout_sNo
local_fileYes
rerig_targetNo
session_nameNodefault
confirm_usageNo
character_nameNo
set_as_defaultNo
include_fingersNo
auto_rig_front_facingNo

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 convey the primary side-effect ('create an auto-rigged character target'), but it never explains the cost/confirmation implication hinted at by confirm_usage, any auth requirements, upload/processing behavior, or timeout semantics. The KB pointer offers context but not explicit behavioral guarantees.

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 the first sentence, followed by a useful KB pointer and a concrete one-line example. It is compact and every element earns its place, though the example's parameter naming could be more consistent with the schema's snake_case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (which covers return values) and no nested objects, the tool has ten parameters at 0% schema coverage, and the description explains only three of them. For a tool this complex, in-line parameter documentation or a fuller example is needed; the external KB pointer alone is not sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only touches three of ten parameters via the example (local_file, character_name, confirm_usage). Seven parameters—auto_rig, timeout_s, rerig_target, session_name, set_as_default, include_fingers, auto_rig_front_facing—are left entirely unexplained in both the schema and the description.

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 ('Upload a Tripo/exported character file to Uthana') and a clear outcome ('create an auto-rigged character target'). This distinguishes it from siblings like gen_uthana_text_to_motion, gen_uthana_get_character, and gen_uthana_create_locomotion. It stops short of explicitly naming the sibling it is not, so a 4 rather than 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 context is implied rather than stated: the KB reference (31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family) and a concrete example show how it fits into the generative pipeline, but the description never states explicitly when to use this versus gen_uthana_get_character or gen_uthana_import_animation_to_project, and gives no when-not conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_create_locomotionC

Generate Uthana locomotion for a character using travel angle, speed, and stride count.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_create_locomotion(character_id="character-id", travel_angle=45, confirm_usage=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
stridesNo
style_idNo
timeout_sNo
move_speedNo
character_idNo
session_nameNodefault
travel_angleNo
confirm_usageNo
estimated_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 burden of behavioral disclosure. It does not mention whether this is an asynchronous job, whether it consumes credits, whether the user must confirm usage, or whether returned output must be polled via gen_uthana_get_job. The confirm_usage parameter appears in the example but its meaning is never explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose. The KB reference and example are useful additions without fluff. Every sentence 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?

For a 9-parameter generative tool with no annotations, this description is too thin. It lacks pipeline context such as job polling, download/import follow-ups, confirmation implications, and return behavior. An agent could attempt a basic call but would not know how to handle the result or what side effects to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It maps natural-language concepts to some parameters: travel angle, speed, and stride count correspond to travel_angle, move_speed, and strides. However, it leaves style_id, session_name, timeout_s, confirm_usage, and estimated_seconds unexplained, and the example only shows character_id, travel_angle, and confirm_usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Generate Uthana locomotion for a character using travel angle, speed, and stride count.' This clearly identifies what the tool does. However, it does not explicitly distinguish itself from sibling tools like gen_uthana_text_to_motion or gen_uthana_video_to_motion, relying mostly on the tool name and parameter set for differentiation.

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, nor any prerequisites such as creating a character first. The KB reference is a pointer but not actual usage guidance, and the example shows a call but does not explain selection criteria or required setup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_download_motionB

Download a Uthana motion file after explicit usage approval.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_download_motion(motion_id="motion-id", output_format="fbx", confirm_usage=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsNo
no_meshNotrue
in_placeNo
motion_idYes
timeout_sNo
torso_onlyNo
motion_onlyNo
character_idNo
confirm_usageNo
output_formatNofbx
target_folderNo
speed_multiplierNo
check_download_allowedNo

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?

There are no annotations, so the description carries the full burden of behavioral disclosure. It does mention the approval requirement, but it omits other important traits such as whether the download consumes credits, writes files locally, requires authentication, or behaves differently depending on confirm_usage and check_download_allowed. This is a significant gap for a tool with no annotation safety or side-effect hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: one clear sentence, a KB pointer, and a concrete example. There is no filler or redundant restating of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the tool is complex with 13 parameters and no annotations. The description does not explain most parameters, the download workflow, prerequisites beyond approval, or how this step relates to the broader Uthana pipeline. The KB reference helps, but the description itself is not self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. The example hints at motion_id, output_format, and confirm_usage values, but the remaining ten parameters (fps, no_mesh, in_place, timeout_s, torso_only, motion_only, character_id, target_folder, speed_multiplier, check_download_allowed) are left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool downloads a Uthana motion file, using a specific verb and resource. It also adds a key qualifier ('after explicit usage approval'), though it does not explicitly contrast itself with sibling tools like gen_uthana_get_motion or gen_uthana_check_download_allowed.

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 communicates a clear prerequisite: explicit usage approval is required before downloading. However, it does not state when to prefer this tool over siblings, when not to use it, or what preceding checks (e.g., gen_uthana_check_download_allowed) should be run, leaving workflow routing largely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_get_accountB

Fetch Uthana account/org allowance state without exposing the API key.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_get_account()

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo
include_userNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a meaningful behavioral trait by stating the fetch happens 'without exposing the API key,' and 'fetch' implies a read-only operation. However, there are no annotations to cover the safety profile, and the description does not mention permissions, failure modes, rate limits, or response behavior. The description carries some load but not the full burden.

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, the KB pointer is useful, and the example is minimal and clear. There is no redundant text, though the space saved could have been used for parameter or usage guidance.

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 read tool with an output schema and two optional parameters, the description covers purpose and safety and links to KB documentation. It lacks when-to-use guidance and parameter semantics, and there are no annotations to fill those gaps. The output schema and simple scope prevent it from being severely incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain timeout_s or include_user beyond their names and defaults. The example call uses no arguments, giving no parameter guidance. Since the schema provides titles and defaults but no descriptions, the description should compensate and 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: 'Fetch Uthana account/org allowance state.' It also adds the safety qualifier 'without exposing the API key,' which clarifies intent. It does not explicitly contrast with sibling tools like gen_uthana_get_job or gen_uthana_get_character, but the resource scope is distinct enough.

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 gen_uthana_get_job or gen_uthana_get_motion. The KB reference hints at broader context but does not state conditions, prerequisites, or exclusions. Usage context is only implied by the purpose sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_get_characterA

Fetch Uthana character metadata by ID without downloading assets.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_get_character(character_id="character-id")

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo
character_idYes

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 the behavioral burden. 'Fetch' and 'without downloading assets' convey a read-only, non-download operation, which is useful. However, it does not mention side effects, required permissions, credit consumption, or error behavior for a metadata fetch.

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 core purpose, and includes a useful KB reference and invocation example without padding. Every sentence 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?

This is a low-complexity, two-parameter tool with an output schema, so the description does not need to explain return values. Still, the lack of parameter semantics and explicit routing versus siblings leaves minor but real gaps; the KB reference partially compensates by pointing to the relevant documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only says 'by ID' and gives an example using the placeholder 'character-id'; it does not explain where a valid character_id comes from, its expected format, or the meaning of timeout_s. The timeout parameter is left entirely undocumented in the description.

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 action ('Fetch'), a specific resource ('Uthana character metadata'), and an identifier mechanism ('by ID'). It also adds a distinguishing boundary: 'without downloading assets', which separates it from asset-returning siblings in the same family.

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 tool is for metadata-only needs and explicitly says it does not download assets, but it does not name alternative tools or give when-to-use/when-not-to-use conditions. The KB pointer adds context, but the description itself leaves tool selection mostly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_get_jobC

Poll a Uthana async job, such as video-to-motion, without downloading output.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_get_job(job_id="job-id")

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
timeout_sNo

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 must carry the burden. It states 'without downloading output' but does not explain behavior like whether it returns a status, completion percentage, or errors, nor whether it is non-blocking. For a polling tool, it could clarify that it returns current status and does not wait for completion, but this is only implied by the name and lacks detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences plus an example) and front-loaded with the core purpose. The knowledge base link is brief and the example is illustrative. It is appropriately sized for a simple tool, though it could include a bit more detail without becoming verbose.

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 is simple (2 params, no nested objects) but has no annotations and an output schema exists, the description is partially complete. It covers the core function and gives an example, but lacks behavioral details like return format or status codes. For an async polling tool, mentioning that it returns current job status would be valuable. The output schema might compensate, but the description itself is insufficient on its own.

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%, meaning the description adds little about parameters. The example shows job_id usage but does not explain timeout_s semantics. The schema defines timeout_s with a default, but the description does not clarify that it controls polling wait time. For a tool with one undocumented parameter (timeout_s), the description could be more helpful, but the example gives some context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool polls an async job and mentions an example use case (video-to-motion). It is differentiated from siblings like gen_uthana_get_motion and gen_uthana_get_character by the 'without downloading output' clause. However, it could be more explicit that it is specifically for status polling and not for retrieving generated content.

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 a general purpose but does not specify when to use this tool versus the many sibling gen_uthana tools (e.g., when to poll vs. wait, when to use get_motion vs. get_job). It mentions a knowledge base link but that is external and not part of the description directly. There is no guidance on when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_get_motionB

Get Uthana motion metadata by ID.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_get_motion(motion_id="motion-id")

ParametersJSON Schema
NameRequiredDescriptionDefault
motion_idYes
timeout_sNo

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 only says 'Get... metadata,' which implies read-only behavior, but it does not explicitly state that the operation is side-effect-free or what happens on unknown IDs. The timeout_s parameter is not explained, leaving uncertainty about potential wait behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main sentence is efficient and front-loaded, and the example is compact. There is no redundant prose, though the KB link and example consume space that could have been used for parameter details.

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 getter with an output schema, the core purpose and required ID are covered, and the output schema presumably explains return values. However, timeout_s is left unexplained, and there is no sibling differentiation, so the agent may not fully understand when to invoke this tool and what the timeout parameter does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only provides an example for motion_id and says nothing about the motion_id format or source. timeout_s is completely unexplained; its type and default exist only in the schema, so the description adds minimal value for parameter understanding.

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: 'Get Uthana motion metadata by ID.' This clearly identifies the operation and distinguishes it from other gen_uthana tools like download_motion or get_character, because it targets metadata retrieval specifically.

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 related tools such as gen_uthana_get_job or gen_uthana_download_motion. The only contextual signal is the phrase 'by ID,' which implies a retrieval use case, but no explicit conditions, prerequisites, or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_import_animation_to_projectA

Import a downloaded Uthana FBX into Unreal and report remaining retarget/readback gates.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_import_animation_to_project(local_file="C:/MCP/uthana/motion.fbx")

ParametersJSON Schema
NameRequiredDescriptionDefault
skeletonNo
motion_idNo
local_fileYes
character_idNo
content_pathNo/Game/Generated/Animations
import_materialsNo
require_bridge_pingNo

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 full responsibility for behavioral disclosure. It does add a key behavioral trait: the tool not only imports but also reports remaining retarget/readback gates. However, it omits prerequisites such as Unreal being running, the default require_bridge_ping behavior, or potential side effects of import.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: one sentence states the action, a KB link gives pipeline context, and a one-line example shows real usage. There is no filler or redundant restatement of the tool name.

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 are covered. But with 7 parameters, 0% schema description coverage, and no annotations, the description relies heavily on the KB reference to fill gaps like parameter roles and pipeline sequencing. It is adequate but not self-sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It only demonstrates local_file in the example, which confirms it is the FBX path, but leaves skeleton, motion_id, character_id, content_path, import_materials, and require_bridge_ping entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action and outcome: 'Import a downloaded Uthana FBX into Unreal and report remaining retarget/readback gates.' This distinguishes it from generic import tools and its sibling import_animation_fbx by naming the Uthana pipeline and the reporting behavior. The example reinforces the exact call shape.

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 context: it is for a downloaded Uthana FBX and references a KB section for the broader motion-task family. However, it does not explicitly state when to use this tool over the sibling import_animation_fbx or when not to use it, leaving the selection partially to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gen_uthana_text_to_motionA

Generate a Uthana motion from text after explicit usage approval.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_text_to_motion(prompt="loopable guard patrol walk", confirm_usage=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
foot_ikNo
timeout_sNo
character_idNo
session_nameNodefault
confirm_usageNo
estimated_secondsNo

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 available, the description carries the full burden of behavioral disclosure. It does disclose that explicit usage approval is required and points to a knowledge base article for the generative pipeline, but it does not explain cost/credit impact, asynchronous behavior, or what effects the operation has beyond generating a motion.

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 core purpose, and includes a useful example and KB reference. Every sentence earns its place, and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a seven-parameter generative tool with no annotations and likely external effects, the description leaves most parameter semantics and the tool's cost/time profile to an external KB. The presence of an output schema mitigates the need to document return values, but the description is still not complete enough for an agent to invoke this tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only gives semantic hints for prompt and confirm_usage via the example; the other five parameters (foot_ik, timeout_s, character_id, session_name, estimated_seconds) remain unexplained in both the schema and the description.

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 action (generate), a specific resource (Uthana motion), and the input modality (text), which is enough to distinguish it from siblings like gen_uthana_video_to_motion and gen_uthana_get_motion. The example reinforces the purpose with a concrete prompt.

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 provides an implied usage context through the example and the KB pointer, and it states an important precondition: explicit usage approval. However, it does not explicitly say when to choose this tool over alternatives such as gen_uthana_video_to_motion or gen_uthana_create_locomotion, nor does it state 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.

gen_uthana_video_to_motionC

Create a Uthana video-to-motion job after explicit usage approval.

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#uthana-motion-task-family Example: gen_uthana_video_to_motion(video_file="C:/capture/reference.mp4", motion_name="A_ReferenceMove", confirm_usage=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNovideo-to-motion-v2
timeout_sNo
video_fileYes
motion_nameNo
character_idNo
session_nameNodefault
confirm_usageNo
estimated_secondsNo

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 carries the full burden of behavioral disclosure. It mentions usage approval but does not describe side effects, job lifecycle, whether it blocks, or cost implications. The timeout parameter exists in the schema but is not explained in the description, leaving the agent guessing about execution behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and to the point, with a useful example and KB pointer. It front-loads the purpose and does not waste words, though it could be slightly more structured to enumerate parameter semantics.

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 8 parameters, no annotations, no parameter descriptions in the schema, and the description only partially covers them. While an output schema exists (which spares explanation of return values), the lack of parameter documentation and behavioral detail makes the definition incomplete for an agent to call it reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain all parameters. It only mentions video_file, motion_name, and confirm_usage in the example, leaving model, timeout_s, character_id, session_name, and estimated_seconds undefined. The example gives some meaning to the core parameters but is far from complete for an 8-parameter 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 clearly states the verb 'Create' and the resource 'Uthana video-to-motion job', which is specific and distinguishes it from text-to-motion or other generative tools. It also mentions usage approval, but does not clarify what the job produces or returns, 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?

The phrase 'after explicit usage approval' hints at a high-cost operation, and the KB reference provides context, but there is no explicit guidance on when to use this tool versus alternatives like gen_uthana_text_to_motion. The example demonstrates invocation but not selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geom_apply_displacementA

Apply Perlin-noise displacement to a DynamicMesh actor.

Args: actor_name: DynamicMesh actor label to mutate. magnitude: Displacement magnitude in centimeters. frequency: Perlin noise frequency. seed: Deterministic random seed. along_normal: Apply displacement along vertex normals.

Returns: Structured JSON with resulting mesh counts.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#mcp-geometry-tools Example: geom_apply_displacement(actor_name="DM_Rock", magnitude=12, frequency=0.08, seed=7)

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNo
frequencyNo
magnitudeNo
actor_nameYes
along_normalNo

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 behavioral burden. It discloses that the actor is mutated, that the operation is deterministic given a seed, and that it returns structured JSON with resulting mesh counts. It could add more about reversibility or failure conditions, but the key behavioral traits are present.

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 well structured with a front-loaded summary followed by compact args, returns, a KB pointer, and an example. Each section earns its place, and the parameter list is appropriately detailed given the lack of schema descriptions.

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 moderately complex mutation tool, the description covers target, parameters, return shape, and usage example. It does not explicitly mention prerequisites or when to prefer alternative geometry tools, but the provided information is sufficient for correct invocation in most cases.

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 does: every parameter is given meaningful semantics, including units for magnitude, the meaning of frequency, the deterministic nature of seed, and the role of along_normal.

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 first sentence names a specific verb ('Apply'), a specific algorithm ('Perlin-noise displacement'), and a specific resource ('DynamicMesh actor'). This clearly distinguishes it from sibling geometry tools like geom_extrude and geom_remesh.

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 makes clear the target type (DynamicMesh actor) and the operation context, and provides an illustrative example. It does not explicitly state when not to use this tool or name alternatives, but the intended usage is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geom_bake_to_static_meshA

Bake a DynamicMesh actor into a StaticMesh asset.

Args: actor_name: DynamicMesh actor label to bake. asset_path: Content Browser asset path including asset name. enable_nanite: Enable Nanite on the generated static mesh. enable_collision: Generate collision settings on the new static mesh. recompute_normals: Recompute normals during asset creation. recompute_tangents: Recompute tangents during asset creation. overwrite: Delete an existing asset at asset_path first. save: Save the generated package after creation.

Returns: Structured JSON with baked asset path and mesh counts.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#mcp-geometry-tools Example: geom_bake_to_static_mesh(actor_name="DM_CoverBlock", asset_path="/Game/Geometry/SM_CoverBlock_A")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
overwriteNo
actor_nameYes
asset_pathNo/Game/Geometry/SM_BakedDynamicMesh
enable_naniteNo
enable_collisionNo
recompute_normalsNo
recompute_tangentsNo

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 provided, the description carries full responsibility for behavioral disclosure. It explicitly mentions destructive behavior via the 'overwrite' parameter ('Delete an existing asset at asset_path first') and saving via 'save' ('Save the generated package after creation'). It also declares the return format ('Structured JSON with baked asset path and mesh counts'). This covers the main side effects and output, though it doesn't detail potential failure modes or prerequisites beyond expecting a DynamicMesh actor.

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 well-structured: a one-line purpose, a numbered list of parameters with explanations, a returns section, a KB reference, and a concrete example. Every element serves a purpose, with no fluff or repetition. The parameter list is necessary given the lack of schema descriptions, and the example demonstrates a realistic invocation.

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 (8 parameters, 0% schema coverage, and an output schema already describing return structure), the description covers all necessary aspects: parameter meanings, return format, behavior (overwrite/save), and an example. It also provides a KB reference for deeper context. Nothing critical for an agent to call this tool correctly appears to be missing.

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 for all 8 parameters. It does so comprehensively: each parameter has a concise, meaningful explanation (e.g., 'enable_nanite: Enable Nanite on the generated static mesh'). This adds value far beyond the schema's bare type/default information, making the parameters self-documenting.

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 starts with a clear, specific statement: 'Bake a DynamicMesh actor into a StaticMesh asset.' This names the verb (bake), the input resource (DynamicMesh actor), and the output (StaticMesh asset), making the tool's purpose unambiguous. It distinguishes this from sibling geometry tools like geom_boolean_op or geom_remesh by focusing on the conversion to a static mesh asset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for baking dynamic meshes but does not explicitly state when to use this tool over alternatives. It provides a concrete example and parameter explanations but no exclusions or comparisons to sibling tools. The KB reference hints at more context but is not directly integrated. This is implied usage rather than explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geom_boolean_opA

Apply a Geometry Script boolean operation between two DynamicMesh actors.

Args: target_actor: DynamicMesh actor label to mutate. tool_actor: DynamicMesh actor label used as the boolean cutter/tool. operation: "union", "intersection", "subtract", "trim_inside", or "trim_outside". output_space: "target", "tool", or "shared" transform space for the result. fill_holes: Fill holes generated by the boolean operation. simplify_output: Simplify coplanar boolean output. hide_tool: Hide the tool actor after a successful operation.

Returns: Structured JSON with target actor and resulting mesh counts.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#mcp-geometry-tools Example: geom_boolean_op(target_actor="DM_Block", tool_actor="DM_Cutter", operation="subtract")

ParametersJSON Schema
NameRequiredDescriptionDefault
hide_toolNo
operationNosubtract
fill_holesNo
tool_actorYes
output_spaceNotarget
target_actorYes
simplify_outputNo

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 present, the description carries the behavioral disclosure burden. It does disclose that the target_actor is mutated, that hide_tool changes visibility after success, and that fill_holes and simplify_output alter the resulting mesh. It does not mention failure modes, prerequisites, or undo/reversibility, but the core side effects are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a front-loaded summary, an Args list, Returns note, KB reference, and example. Each line contributes meaning and there is no filler. It is longer than a minimal two-sentence description, but the length is justified by the number of parameters and the added example/KB guidance.

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 mutating tool with no annotations, the description is quite complete: it documents all arguments, states the return shape, gives a concrete example, and links to KB documentation. It could be slightly more complete by covering what happens on invalid actors or how the tool handles failure/undo, but these are partially covered by the KB link and are not severe 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 is the only semantic source for the 7 parameters. It explains every one: the roles of target_actor and tool_actor, the five operation values, the output_space choices, and the effects of fill_holes, simplify_output, and hide_tool. This fully compensates for the schema gap.

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 first sentence is specific: 'Apply a Geometry Script boolean operation between two DynamicMesh actors.' It names the exact operation, resource type, and the two roles, which clearly distinguishes it from sibling geometry tools like geom_extrude or geom_remesh. The parameter list also clarifies union/intersection/subtract modes, leaving no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states what the tool does and gives a runnable example, but it never explicitly says when to choose this over sibling geometry tools or when not to use it. There are no exclusions or alternative tool mentions. The usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geom_create_dynamic_meshA

Create an editor DynamicMesh actor and seed it with a primitive mesh.

Args: actor_name: DynamicMesh actor label to create. primitive: One of "box", "sphere", "cylinder", "plane", or "empty". dimensions: Primitive dimensions in centimeters. Box/plane use X,Y,Z; sphere uses X as radius; cylinder uses X radius and Z height. location: Optional world location [x, y, z]. rotation: Optional world rotation [pitch, yaw, roll]. radial_steps: Segment count for sphere/cylinder primitives. height_steps: Vertical segments for cylinder and box-like primitives. overwrite: Delete an existing actor with the same label before creating.

Returns: Structured JSON with actor label, primitive, and mesh counts.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#mcp-geometry-tools Example: geom_create_dynamic_mesh(actor_name="DM_CoverBlock", primitive="box", dimensions=[200, 80, 120])

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNo
rotationNo
overwriteNo
primitiveNobox
actor_nameNoDM_GeneratedMesh
dimensionsNo
height_stepsNo
radial_stepsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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. It discloses the destructive overwrite behavior ('Delete an existing actor with the same label before creating'), the actor-creation side effect, and the primitive seeding behavior. It stops short of discussing editor/level save implications or permission needs, but the overwrite warning is meaningful, specific behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded: purpose sentence, args list, returns, KB pointer, and example. Every section adds information the schema does not provide, especially parameter semantics and the destructive overwrite behavior. The length is justified by the number of parameters and the absence of schema descriptions.

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 8 parameters, no annotations, and an output schema, the description is complete. It documents all parameter semantics, return contents, a knowledge-base reference, and a concrete usage example. An agent has enough context to select and invoke the tool correctly without opening the KB or guessing parameter formats.

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 document the 8 parameters, and it does. It explains units ('dimensions in centimeters'), primitive-specific dimension meanings ('sphere uses X as radius; cylinder uses X radius and Z height'), segment counts, and the overwrite flag. This is richer and more actionable than 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?

The description opens with a specific verb-resource pair: 'Create an editor DynamicMesh actor and seed it with a primitive mesh.' It names the concrete artifact being created and the primitive types supported. This clearly distinguishes it from sibling geometry tools like geom_extrude or geom_boolean_op, which operate on existing meshes rather than creating primitive-seeded actors.

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 makes the usage context clear: use this to create a DynamicMesh actor pre-populated with a box, sphere, cylinder, plane, or empty mesh. It does not explicitly name alternatives or state when not to use it, but the 'Create an editor DynamicMesh actor' framing gives an agent a clear decision point against mesh-mutation siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geom_extrudeA

Extrude faces on a DynamicMesh actor using Geometry Script modeling.

Args: actor_name: DynamicMesh actor label to mutate. distance: Extrusion distance in centimeters. direction: Fixed extrusion direction [x, y, z]. direction_mode: "fixed" or "average_face_normal". area_mode: "entire_selection", "per_polygroup", or "per_triangle". uv_scale: UV scale applied to generated side faces. solids_to_shells: Treat solids as shells during extrusion.

Returns: Structured JSON with resulting mesh counts.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#mcp-geometry-tools Example: geom_extrude(actor_name="DM_Panel", distance=25, direction=[0, 0, 1])

ParametersJSON Schema
NameRequiredDescriptionDefault
distanceNo
uv_scaleNo
area_modeNoentire_selection
directionNo
actor_nameYes
direction_modeNofixed
solids_to_shellsNo

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?

No annotations are provided, so the description bears the full burden. It states it mutates an actor and returns structured JSON with mesh counts, which is useful. However, it does not disclose side effects like whether the original mesh is modified in place, or if the operation is destructive or reversible. This is a moderate gap 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 structured with a clear summary, a list of parameters, a returns note, a knowledge base reference, and an example. It is moderately concise and front-loaded with the main action, though the parameter list is necessary. The example adds real value without being overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, 3 enum-like fields, and an output schema), the description is quite complete. It covers the key functional aspects, provides an example, and references a knowledge base for deeper info. The output schema is present, so return values are documented. Minor gaps include prerequisites and exact behavior of the solids_to_shells flag, but overall it's thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, but the description lists all 7 parameters with concise explanations, significantly compensating for the lack of schema-level documentation. It adds meaning for each parameter (e.g., direction_mode options and uv_scale purpose), though it could clarify parameter interactions or defaults further. Baseline is 3 due to the high coverage provided by the description itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Extrude faces on a DynamicMesh actor'), the resource ('DynamicMesh actor'), and provides an example with concrete arguments, making the tool's purpose unambiguous. It also distinguishes itself from sibling geometry tools like geom_boolean_op and geom_remesh by focusing on extrusion.

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 a clear context for when to use this tool (extrusion on DynamicMesh actors) but does not explicitly state when not to use it or mention alternatives. It implies usage through the example and parameter descriptions, but lacks explicit exclusions, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geom_remeshA

Uniformly remesh a DynamicMesh actor.

Args: actor_name: DynamicMesh actor label to mutate. target_triangle_count: Approximate triangle count when target_edge_length is 0. target_edge_length: Explicit edge length target; <=0 uses triangle count mode. iterations: Number of remeshing iterations. discard_attributes: Drop mesh attributes before remeshing. reproject: Reproject vertices to the input mesh surface.

Returns: Structured JSON with resulting mesh counts.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#mcp-geometry-tools Example: geom_remesh(actor_name="DM_Rock", target_triangle_count=1200, iterations=12)

ParametersJSON Schema
NameRequiredDescriptionDefault
reprojectNo
actor_nameYes
iterationsNo
discard_attributesNo
target_edge_lengthNo
target_triangle_countNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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, and it partially succeeds: it discloses that the actor is mutated, explains the discard_attributes destruction behavior, and states the return shape. However, it never says whether the operation is reversible/undoable, whether remeshing happens in-place on the existing mesh or creates a new object, or what prerequisites exist beyond the actor being a DynamicMesh. For a mutation tool with zero annotation coverage, these are notable gaps.

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 a crisp one-line purpose and follows a logical Args/Returns/KB/Example structure where each section earns its place. The parameter documentation is somewhat redundant with schema defaults but justifies itself by adding semantics. The KB reference is of marginal value to an AI agent without a retrieval mechanism, but the example is genuinely instructive.

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 elaboration, and the description covers all parameters, both operating modes, and provides a worked example. It even states the actor-type prerequisite implicitly through 'DynamicMesh actor label to mutate'. The main gap is the missing disclosure of in-place mutation consequences and reversibility, which matters for a destructive geometry operation with no annotations.

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 fully does: all six parameters receive meaning beyond the bare schema. It clarifies the conditionality between target_triangle_count and target_edge_length ('<=0 uses triangle count mode'), explains what reproject and discard_attributes actually do, and gives the example usage. This is exemplary compensation for a schema with no descriptions.

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?

"Uniformly remesh a DynamicMesh actor" states a specific verb, resource, and scope in one sentence. Among the geometry siblings (geom_boolean_op, geom_extrude, geom_uv_unwrap, geom_apply_displacement, geom_bake_to_static_mesh), none perform remeshing, so an agent can unambiguously select this tool. The 'uniformly' qualifier adds precision about the remeshing strategy.

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 through the two-mode explanation (triangle count vs edge length) and a concrete example, but it never explicitly states when to choose this tool over alternatives or when not to use it. There are no exclusion conditions or alternative routing to sibling geometry tools. The KB reference hints at deeper guidance but isn't actionable in the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geom_uv_unwrapA

Generate or repack UVs for a DynamicMesh actor.

Args: actor_name: DynamicMesh actor label to mutate. uv_channel: UV channel index. method: "xatlas", "patch_builder", "recompute", or "layout". texture_resolution: Layout texture resolution used for packing. max_iterations: XAtlas iteration count. auto_pack: Pack generated PatchBuilder UVs.

Returns: Structured JSON with UV channel and mesh counts.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#mcp-geometry-tools Example: geom_uv_unwrap(actor_name="DM_CoverBlock", method="xatlas", texture_resolution=2048)

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNoxatlas
auto_packNo
actor_nameYes
uv_channelNo
max_iterationsNo
texture_resolutionNo

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 burden. It does state that the tool mutates a DynamicMesh actor and returns a structured JSON with UV channel and mesh counts, and it briefly explains the auto_pack behavior. However, it doesn't disclose that generating/repacking likely overwrites existing UV data, whether the operation is reversible, or any required permissions. Some behavior is revealed, but the destructive implication is left implicit.

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 docstring-style format is well structured: a clear one-line purpose, an Args block, Returns, KB reference, and a concrete example. Every section earns its place with no fluff. The purpose is front-loaded, and the layout makes it easy for an agent to scan the essential 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?

The description covers all parameters, includes a return summary, points to a KB section, and gives an example. The presence of an output schema means the return details are already structured, so the textual return note is a bonus. Missing elements are usage guidance and prerequisites (e.g., actor must be a DynamicMesh component), which would make it fully complete for a tool with this complexity.

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 description coverage, the description must compensate, and it does by listing all six parameters with concise explanations. It adds real meaning for 'method' by enumerating the allowed values ('xatlas', 'patch_builder', 'recompute', or 'layout'), and clarifies the roles of texture_resolution and auto_pack. Some entries (e.g., uv_channel: 'UV channel index') are minimal but still give context beyond the raw 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?

The opening sentence 'Generate or repack UVs for a DynamicMesh actor' clearly states the specific action and resource. This distinguishes it from siblings like mesh_audit_uv_channels (which inspects rather than generates) and other geometry operations like geom_remesh. The purpose is unambiguous and immediately front-loaded.

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. It doesn't mention mesh_audit_uv_channels for inspection or when to prefer layout vs xatlas methods. The example shows a call but doesn't explain selection criteria or prerequisites, leaving the agent to infer appropriateness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_actor_identityC

Return actor labels, object names, full paths, classes, and Blueprint generated-class paths.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: get_actor_identity()

ParametersJSON Schema
NameRequiredDescriptionDefault
include_allNo
actor_name_or_labelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 disclosure burden. It implies a read-only operation by saying 'Return,' but it does not explain what happens with no arguments, whether include_all changes scope, what is returned when actor_name_or_label is empty, or any failure/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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with the purpose, and includes a compact example plus KB pointer. It is efficient, though some of the space could have been used for parameter semantics.

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 omits crucial invocation context: how to target a specific actor, what include_all actually includes, and what happens when both parameters use defaults. The example suggests a zero-argument call is valid, but the behavior of that call is not explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain either parameter. The parameter names are somewhat self-explanatory, but the interaction between actor_name_or_label and include_all, the meaning of 'label' vs 'object name', and default behavior are left undocumented.

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 ('Return') and explicitly lists the identity data returned: actor labels, object names, full paths, classes, and Blueprint generated-class paths. This clearly distinguishes the tool's purpose from spawning, finding, or mutating actors, though it does not explicitly name sibling 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 is given for when to use this tool versus related tools like find_actors_by_name, find_actors_by_class, get_actor_properties, or get_actors_in_level. The description only shows an example call and a KB reference, leaving the agent to infer selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_actor_propertiesC

Get all properties of an actor by name.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: get_actor_properties(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
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. 'Get all properties' implies a read operation, but it does not clarify what 'all properties' includes, how names are matched, whether the operation is purely local, or whether any side effects occur.

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 statement is front-loaded and the example is minimal. The KB link is short but unexplained; overall it is concise without being overly terse.

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 one-parameter read tool with an output schema, it is nearly complete. The main gaps are lack of alternative-tool guidance and precise name-matching semantics, but the output schema covers return-value expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema lists only a string parameter named 'name' with no description, so the description adds the essential meaning that the value is an actor's name. The example provides invocation format, but exact-name semantics, case sensitivity, and matching behavior are left unspecified.

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 action and resource: 'Get all properties of an actor by name.' This distinguishes it from mutation tools like set_actor_property and spawn_actor, though it does not explicitly differentiate it from read-style siblings like get_actor_identity or spatial_describe_actor.

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 prefer this tool over alternatives such as get_actor_identity, find_actors_by_name, or get_actors_in_level. The KB reference and example show how to call it, but not when it should be chosen.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_actors_in_levelA

Get a list of all actors in the current UE5 level.

Returns a compact single-line JSON array of actor objects when the editor is connected. When Unreal is unavailable, returns a structured JSON error object instead of an empty array so audits do not mistake a disconnected bridge for an empty level. Example: [{"name": "BP_MyActor", "type": "StaticMeshActor"}, ...]

Bug #3 fix:

  • Returns a JSON string so FastMCP sends it verbatim as a single TextContent block (no pydantic_core indent=2 pretty-printing).

  • Connected success responses keep the historical top-level JSON array.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: get_actors_in_level()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full behavioral burden, and it is exemplary: it discloses the connected success format, the disconnected-bridge error object, why errors are preferred over empty arrays, and the JSON-string serialization behavior. This goes well beyond typical descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured with a front-loaded purpose sentence, a return/behavior section, an example, and a KB reference. It is slightly longer than strictly necessary—the 'Bug #3 fix section is somewhat redundant with the earlier return format explanation—but each part remains informative.

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?

As a zero-argument read-only query, the description is complete: it states what is returned, what happens on success, what happens when the editor is unavailable, includes a concrete JSON example, and points to the relevant KB topic. Nothing an agent needs to invoke it correctly 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 input schema has zero properties and the parameter count is zero, so there are no parameter meanings to clarify. The description adds no parameter semantics, but the zero-parameter baseline is 4 and the schema fully covers the case.

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 first sentence 'Get a list of all actors in the current UE5 level' names a specific verb and resource, and the word 'all' distinguishes it from sibling filtering tools like find_actors_by_class and find_actors_by_name. It is immediately clear what the 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the tool's scope clear — all actors, current level, no filtering — which implies when it is appropriate. However, it does not explicitly mention sibling alternatives or state when not to use it, leaving selection guidance to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_blueprint_componentsA

List all components of a Blueprint (SCS + native C++ components).

For each SCS component the response includes its class name and any properties that differ from the component class defaults.

Args: blueprint_name: Asset name of the Blueprint.

Returns: Dict with 'blueprint', 'count', and 'components' array. Each component entry has: 'name', 'source' ('SCS' or 'NativeC++'), 'class', and optionally 'modified_properties' (dict of prop -> value).

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_blueprint_components(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 behavioral burden. It discloses the return structure, component source values ('SCS' or 'NativeC++'), class names, and optional modified_properties. The word 'List' implies a read-only operation, and no side effects or contradictions are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with purpose, args, returns, a KB link, and an example. Every section adds useful detail, and the core purpose is front-loaded. It is slightly detailed but not bloated.

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 one-parameter read-only tool, the description covers the purpose, parameter meaning, return shape, and an example. However, it does not explain failure behavior, blueprint path conventions beyond the example, or when to prefer this over get_scs_nodes, so it is not fully 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%, but the description compensates with an 'Args' section defining blueprint_name as 'Asset name of the Blueprint' and provides a concrete example path. This adds meaningful guidance beyond the schema's bare title 'Blueprint Name'.

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 and resource: 'List all components of a Blueprint (SCS + native C++ components).' It clarifies the scope of the tool and distinguishes it implicitly from similar siblings like get_scs_nodes and get_blueprint_functions, though it does not explicitly name or contrast 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 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 sibling tools such as get_scs_nodes or get_blueprint_functions. The description explains what the tool does, but not when an agent should select it over alternatives or when it should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_blueprint_functionsA

List all function graphs defined inside a Blueprint class.

Returns each function's name, input pins, and output pins. Use this before calling add_blueprint_function_node on a custom function, or before modifying an existing function graph.

Args: blueprint_name: Blueprint asset name (e.g., "BP_MyCharacter")

Returns: Dict with 'functions' list. Each entry has: name, inputs (list of {name, type}), outputs (list of {name, type})

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_blueprint_functions(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral disclosure burden. The verbs 'List' and 'Returns' indicate a read-only operation, and the return structure is clearly described. It does not cover failure behavior or invalid blueprint_name handling, but for an introspective listing tool this is a reasonable level of transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with purpose, usage, args, returns, KB link, and an example. It is mostly lean, though the return information is stated twice ('Returns each function's name...' and the 'Returns:' section), adding slight redundancy without much new value.

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 tool with an output schema, the description covers why to use it, what it returns, a KB pointer, and an example. The main completeness gap is the unresolved blueprint_name format ambiguity and lack of edge-case behavior, but overall the tool can be invoked reasonably well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no parameter description, so the description must compensate. It attempts to define blueprint_name as a 'Blueprint asset name (e.g., BP_MyCharacter)' but the example uses a full object path '/Game/MCP_Test/BP_Example'. This internal contradiction makes the accepted input format ambiguous, which is significant for a tool with only one parameter.

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 opens with a specific verb and resource: 'List all function graphs defined inside a Blueprint class.' It then states precisely what is returned: each function's name, input pins, and output pins. This clearly differentiates it from sibling tools like get_blueprint_nodes or add_blueprint_function_node.

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 explicit, concrete usage context: 'Use this before calling add_blueprint_function_node on a custom function, or before modifying an existing function graph.' This names a relevant sibling workflow, though it does not explicitly state when not to use the tool or mention alternative listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_blueprint_graphsA

List every graph inside a Blueprint: EventGraph(s), function graphs, macro graphs, and delegate graphs.

Use this to discover graph names before calling get_blueprint_nodes or add_blueprint_function_node with a non-default graph_name.

Args: blueprint_name: Asset name, e.g. 'ThePlayerCharacter'

Returns: Dict with 'graphs' list. Each entry has: graph_name - name to pass as graph_name to other tools graph_type - 'EventGraph', 'Function', 'Macro', or 'Delegate' node_count - number of nodes currently in the graph

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_blueprint_graphs(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes

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 behavioral disclosure burden. It clearly states the output shape (dict with 'graphs' list including graph_name, graph_type, node_count) and implies a read-only operation through 'List every graph.' It does not discuss error conditions, but none are essential for this inspection-style 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 well organized into purpose, args, returns, a KB reference, and an example. Every section adds practical value, the main purpose is front-loaded, and there is no redundant restating of schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only listing tool with no annotations, the description fully covers what the tool does, when to use it, what to pass, what the response contains, and a concrete example. An agent can select and invoke it correctly without needing additional 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?

The input schema provides only 'type: string' for blueprint_name, so the description compensates by defining it as 'Asset name, e.g. ThePlayerCharacter' and offering a concrete call example with '/Game/MCP_Test/BP_Example'. There is minor ambiguity about whether a bare asset name or full path is expected, but the examples reduce the risk.

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 opens with 'List every graph inside a Blueprint' and enumerates EventGraph, function, macro, and delegate graphs, giving a specific verb and resource. It also names related tools (get_blueprint_nodes, add_blueprint_function_node), making the tool's role clear among many siblings.

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 explicitly directs the agent to 'Use this to discover graph names before calling get_blueprint_nodes or add_blueprint_function_node with a non-default graph_name.' This provides a clear trigger condition and context, though it does not name alternative listing tools or explicitly state 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.

get_blueprint_nodesA

Return every node in a Blueprint graph with full pin data.

Use this before editing a graph — it gives you node_id (GUID), node_name (short object name like 'K2Node_CallFunction_40'), node_type, position, function_name / event_name / variable_name where applicable, and a pins list (pin_id, pin_name, direction, type, default_value, linked_to).

graph_name special values: 'EventGraph' (default) — main event graph '*' or 'all' — EVERY graph in the Blueprint (EventGraph + functions + macros). Response has 'graphs' list with per-graph node lists, plus 'total_count'.

Args: blueprint_name: Asset name, e.g. 'ThePlayerCharacter' graph_name: Graph to inspect. Defaults to 'EventGraph'. Pass '*' or 'all' to get every graph at once. include_hidden_pins: Include hidden/internal pins in output.

Returns: Single-graph: Dict with 'nodes' list and 'count'. All-graphs: Dict with 'graphs' list (each has graph_name, nodes, count) and 'total_count'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_blueprint_nodes(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNoEventGraph
blueprint_nameYes
include_hidden_pinsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does well by explaining return shapes, graph_name special values, and the effect of include_hidden_pins. It does not explicitly state that the operation is read-only or side-effect free, though 'Return' and the 'before editing' guidance strongly imply it.

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 dense but organized: a one-line summary, usage guidance, parameter definitions, return structure, knowledge-base pointer, and example. Each section earns its place and the key behavior is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only graph inspection tool with 3 parameters, the description covers usage context, parameter semantics, return formats for both single-graph and all-graphs modes, and provides a concrete example. Nothing an agent needs to call it successfully is missing.

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 coverage is 0%, but the description fully compensates by documenting all three parameters: blueprint_name with an example, graph_name with default and special values, and include_hidden_pins with its meaning. The Args section adds substantial meaning beyond the bare input 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?

The first sentence, 'Return every node in a Blueprint graph with full pin data,' is a specific verb-resource combination that clearly states both the scope (every node) and the depth (full pin data). It also lists the exact fields returned, which differentiates it from siblings like get_blueprint_functions or get_blueprint_graphs.

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 explicitly says 'Use this before editing a graph,' giving a clear operational context for when the tool is appropriate. It does not explicitly name alternatives or state when not to use it, so it misses the full when/when-not bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_blueprint_variable_defaultsA

Read the default value(s) of Blueprint member variables.

Returns both the FBPVariableDescription.DefaultValue (the value stored in the Blueprint asset) and the live CDO value exported as text.

Args: blueprint_name: Asset name of the Blueprint. variable_name: If specified, only return this variable. Leave empty to return ALL variables.

Returns: Dict with 'blueprint', 'count', and 'variables' array. Each variable entry has: 'variable_name', 'variable_type', 'default_value', 'tooltip', and optionally 'cdo_value'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_blueprint_variable_defaults(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
variable_nameNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 and does so well: 'Read' signals side-effect-free access, and the Returns section discloses the exact shape, including that cdo_value is optional and that both asset-stored and live CDO values are returned. It does not cover errors or edge cases, but for a read-only getter this is strong behavioral disclosure.

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-sentence purpose, then organized into Args, Returns, KB, and Example sections. Every section earns its place and there is no filler or duplication of 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?

For a two-parameter read tool the description is nearly complete: it documents parameters, return structure, optional filtering, a KB pointer, and an example. It stops short of describing failure behavior for unknown blueprint/variable names, but that is an edge case rather than a gap in core invocation guidance.

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 meaning for every parameter, and it does: blueprint_name is the asset name, variable_name is an optional filter, and leaving it empty returns all variables. The example also demonstrates the expected asset path format.

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 opening sentence uses a specific verb and resource: 'Read the default value(s) of Blueprint member variables.' It then sharpens the scope by distinguishing the asset-stored default from the live CDO value, which is clear enough to tell apart from sibling getters/setters like get_blueprint_variables and set_blueprint_variable_default.

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: call this when you need Blueprint variable defaults, and use variable_name to narrow results. However, it never names sibling tools or states when NOT to use this tool versus get_blueprint_variables or set_blueprint_variable_default, so usage guidance is mostly inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_blueprint_variablesA

List all member variables defined in a Blueprint class.

Returns each variable's name, type, default value, and category. Use this to inspect existing variables before adding new ones.

Args: blueprint_name: Blueprint asset name (e.g., "BP_MyCharacter") category: Optional category filter (empty string = return all)

Returns: Dict with 'variables' list. Each entry has: name, type, default_value, category, is_exposed, is_read_only

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_blueprint_variables(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo
blueprint_nameYes

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 provided, the description carries the full behavioral burden; it conveys that this is a non-mutating inspection operation through 'List' and 'inspect,' and it details the category-filter and return structure. It does not mention error behavior or access requirements, but those are minor omissions for a read-only listing 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, then organizes Args, Returns, KB pointer, and Example into scannable sections with no filler. The length is justified because each section provides information needed to call the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only query, the description covers what it does, when to use it, both parameters, the return shape, and a concrete example, plus a knowledge-base reference. An agent has enough information to invoke the tool correctly without needing the schema or annotations.

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 Args section adds meaning the schema lacks: category is described as an optional filter where empty string returns all results, and blueprint_name is given with an example. The only weakness is the format ambiguity between the short asset-name example ('BP_MyCharacter') and the path-style example ('/Game/MCP_Test/BP_Example').

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 opens with a specific verb and resource ('List all member variables defined in a Blueprint class') and enumerates the fields returned, so there is no ambiguity about what the tool does. It is clearly distinct from sibling tools like get_blueprint_nodes or add_blueprint_variable.

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 sentence 'Use this to inspect existing variables before adding new ones' gives a concrete workflow trigger and implies a read-only pre-mutation check. It does not explicitly name alternatives or state when not to use it, stopping short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bt_graph_infoA

Inspect the current state of a Behavior Tree graph.

Returns every node in the BT graph with its type, position, instance class, pin connections, and sub-nodes (decorators/services). Use this to verify build_behavior_tree or add_bt_node worked correctly.

Args: behavior_tree_name: Name of the BT asset to inspect

Returns: Dict with 'success', 'node_count', 'nodes' array where each node has: - 'class': graph node class name - 'instance': runtime BTNode class name - 'x', 'y': graph position - 'pins': pin names and connections - 'subnodes': decorator/service sub-nodes

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: get_bt_graph_info(behavior_tree_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
behavior_tree_nameYes

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?

No annotations are provided, so the description carries the disclosure burden. It communicates non-mutating behavior through 'Inspect' and 'current state,' and fully discloses the return contract: a dict with success, node_count, and nodes including class, instance, position, pins, and subnodes. It does not mention permission requirements or error behavior, but the read-only framing plus detailed return shape is strong for a simple inspection 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 well-organized and front-loaded, starting with the operation, then Args, Returns, KB reference, and Example. The Returns list is somewhat redundant given that an output schema exists, but it remains scannable and every section serves a clear purpose.

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 inspection tool, this is nearly complete: it names the parameter, explains the returned dict, links to relevant KB documentation, and gives a working example. The main omissions are error behavior and explicit differentiation from bt_get_info, which are minor given the output schema and simple read-only nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the Args section is the only source of parameter meaning. It says behavior_tree_name is the 'Name of the BT asset to inspect' and provides a concrete example, which is useful. However, it does not specify whether a full asset path, short asset name, or display label is expected, leaving the single parameter somewhat ambiguous.

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 opens with a specific verb and resource: 'Inspect the current state of a Behavior Tree graph.' It then details exactly what is returned, including every node's type, position, instance class, pins, and sub-nodes. This clearly distinguishes it as a read/verification tool from mutation siblings like build_behavior_tree and add_bt_node.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit usage trigger: 'Use this to verify build_behavior_tree or add_bt_node worked correctly.' This tells an agent when to call it after graph mutations. It does not name alternative read tools such as bt_get_info or state when not to use it, so the context is clear but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_changed_assets_sinceA

List Content Browser assets changed since a timestamp.

Compares package file modification times and optionally includes dirty in-editor packages. Accepts Unix epoch seconds or ISO-8601 timestamps.

Args: timestamp: Epoch seconds or ISO-8601 timestamp, e.g. "2026-06-07T00:00:00Z". path: Content root to scan, default "/Game". include_dirty: Include unsaved dirty content/map packages. include_unreal_generated: Include /Engine and /Script paths if encountered. limit: Maximum changed assets to return; 0 means no explicit cap.

Returns: StructuredResult JSON with outputs: changed_assets[], dirty_assets[], changed_count, dirty_count.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#b2-graph-aware-diagnostics-diagnosticstoolspy Example: get_changed_assets_since(timestamp="2026-06-07T00:00:00Z", path="/Game")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game
limitNo
timestampYes
include_dirtyNo
include_unreal_generatedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and handles it well. It discloses the underlying mechanism (comparing package file modification times), optional inclusion of dirty in-editor packages, acceptance of multiple timestamp formats, and the exact structure of the returned output.

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 structured into Args, Returns, KB reference, and an example. Every sentence adds value, and the example illustrates a realistic call without unnecessary elaboration.

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 5 parameters, no annotations, and an output schema, the description covers all essential information: parameter semantics, return structure, timestamp formats, and a usage example. Nothing critical is missing for an agent to invoke the tool correctly.

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%, but the description compensates fully with a detailed Args section. Every parameter gets a meaningful explanation beyond its type: path is 'Content root to scan', include_unreal_generated is defined, and limit's 0 semantics are clarified.

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 first line, 'List Content Browser assets changed since a timestamp,' uses a specific verb and resource, making the tool's purpose immediately clear. It distinguishes itself from sibling tools like ue_find_assets_by_class or find_actors_by_class by focusing on changed assets based on timestamps.

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 clearly implies when to use this tool: when you need a list of assets modified after a given timestamp. It provides context such as content root scanning and dirty package handling, but it does not explicitly name alternative tools or state 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.

get_knowledge_baseA

Retrieve knowledge base content for a given topic.

Returns the full content of the matching reference doc(s) plus relevant book extracts from 4 UE5 textbooks. This is the primary anti-hallucination tool — always call this before implementing a system.

Args: topic: Topic to retrieve. Use list_knowledge_base_topics() to see all options. Examples: "ai", "blueprints", "animation", "ui", "materials", "gameplay", "input", "data", "communication", "components"

MANDATORY RULE: Call this tool before implementing ANY UE5 system. Before AI systems → get_knowledge_base("ai") Before animation → get_knowledge_base("animation") Before UI/HUD → get_knowledge_base("ui") Before gameplay → get_knowledge_base("gameplay") Before materials → get_knowledge_base("materials") Before input → get_knowledge_base("input") Before data/structs → get_knowledge_base("data") Before communication → get_knowledge_base("communication")

KB: see knowledge_base/00_AGENT_KNOWLEDGE_BASE.md#overview Example: get_knowledge_base(topic="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden. It discloses that the operation is a retrieval ('Retrieve'), describes what is returned (reference docs plus book extracts from 4 UE5 textbooks), and sets an explicit usage expectation. It does not describe failure modes or size/performance caveats, but for a read-only knowledge lookup the behavior is well covered.

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 somewhat long but well structured: a clear first sentence, return semantics, parameter guidance, and an explicit rule block with useful mappings. The 'KB: see...' pointer and example block add minor redundancy, but the organization keeps the important information front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter, no annotations, and an output schema that presumably defines the return shape, the description is nearly complete: it covers what the tool returns, how to choose the topic, and when it must be called. The only small gap is not explicitly differentiating it from search_knowledge_base, and the 'Example' topic call could mislead an agent into thinking 'Example' is a valid topic.

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 only a bare string type with 0% description coverage, so the description must compensate. It does so with concrete example topics and a pointer to list_knowledge_base_topics() for the full option set. The lone example call uses topic='Example', which is slightly ambiguous, but the overall parameter guidance is strong.

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 opens with a specific verb-resource pair: 'Retrieve knowledge base content for a given topic.' It then clarifies the exact return value ('full content of the matching reference doc(s) plus relevant book extracts') and positions itself as the 'primary anti-hallucination tool,' making its role unmistakable even among many sibling 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?

The description gives explicit when-to-use guidance with a MANDATORY RULE and concrete mappings from UE5 systems to topic values. It says to use list_knowledge_base_topics() for all options, but it does not explicitly contrast this with the sibling search_knowledge_base or state when not to use this tool, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_node_by_idA

Fast single-node lookup — returns full pin data for exactly one node.

Use this instead of get_blueprint_nodes when you already know a node's ID or name and just need its current pin state (e.g. to verify a connection was made, or to read a default value).

node_id can be:

  • A GUID string (from previous add_* or get_blueprint_nodes calls)

  • A short object name, e.g. 'K2Node_CallFunction_40'

Returns the same structure as a single entry from get_blueprint_nodes: node_id, node_name, node_type, pos_x, pos_y, function_name / event_name / variable_name (where applicable), pins list (pin_id, pin_name, direction, type, default_value, linked_to).

Args: blueprint_name: Asset name, e.g. 'ThePlayerCharacter' node_id: GUID or short object name of the node. graph_name: Graph to search. Default 'EventGraph'. include_hidden_pins: Include hidden/internal pins. Default False.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_node_by_id(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
graph_nameNoEventGraph
blueprint_nameYes
include_hidden_pinsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/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 behavioral disclosure burden. It clearly signals a read-only lookup operation, states it returns data for exactly one node, and documents the accepted identifier formats (GUID or short object name). It does not mention error/not-found behavior, but the core behavioral contract is well covered for a query 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 longer than average but every section earns its place: purpose, when-to-use, input semantics, return structure, and a worked example. It is well organized with clear labels and front-loaded with the core lookup purpose. Minor redundancy around 'returns full pin data' and the later structure list prevents a perfect score.

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 4-parameter schema, the presence of an output schema, and the complexity of the sibling toolset, this description is complete. It covers use cases, alternatives, parameter formats, defaults, return structure, and provides a knowledge base pointer and example. Nothing essential for correct invocation is missing.

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%, but the description compensates fully by explaining every parameter: blueprint_name, node_id, graph_name, and include_hidden_pins. It also adds crucial meaning not present in the schema, such as node_id accepting GUIDs or short object names, and supplies an example call. This is exactly the compensation needed for an empty 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?

The description uses a specific verb and resource: 'Fast single-node lookup — returns full pin data for exactly one node.' It also explicitly differentiates itself from get_blueprint_nodes, making the tool's distinct purpose unmistakable. An agent can immediately understand what this tool does and how it differs from nearby siblings.

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 directly states when to use this tool: 'Use this instead of get_blueprint_nodes when you already know a node's ID or name and just need its current pin state.' It also gives concrete example scenarios like verifying a connection or reading a default value. This is explicit routing guidance with no reliance on inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_onboarding_contextA

Return a curated knowledge-base packet for a specific Unreal task domain.

Supported tasks: blueprints, animation, ai, materials, niagara, umg, world_building, audio, generative, multiplayer, gas, metasounds.

KB: see knowledge_base/00_AGENT_KNOWLEDGE_BASE.md#mandatory-agent-rules

Example: get_onboarding_context(task="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes

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?

No annotations are provided, so the description carries the full burden. It discloses that it returns a curated packet and references a specific KB file, which is helpful. However, it does not state whether the tool is read-only, what the output structure looks like, or any potential failure modes. For a simple retrieval tool this is acceptable but not exhaustive.

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 succinct, uses a bullet list for supported tasks, and includes a clear example. Every sentence contributes useful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single parameter, an explicit list of valid values, an example, and an output schema, the description is fully sufficient. The agent knows exactly what to pass and what to expect, and the KB reference adds depth. No additional context is needed.

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?

The schema provides no description for the 'task' parameter (0% coverage), so the description fully compensates by listing the valid task domains and showing an example call. This gives the agent everything needed to supply a correct parameter 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 clearly states the tool returns a curated knowledge-base packet for a specific Unreal task domain, and enumerates the supported tasks (blueprints, animation, ai, etc.). This makes the purpose unambiguous and distinguishes it from the many action-oriented sibling tools.

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 when to use it (when needing onboarding context for a task domain) but does not explicitly state alternatives or when not to use it. The example gives a concrete usage pattern, but no explicit guidance on selecting this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_contextB

Return the current Unreal project/editor context with a 5 second cache.

Includes the .uproject path, engine version, open level, selected actor, dirty packages, top-level Content folders, and project/plugin list.

KB: see knowledge_base/00_AGENT_KNOWLEDGE_BASE.md#mandatory-agent-rules

Example: get_project_context()

ParametersJSON Schema
NameRequiredDescriptionDefault
force_refreshNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 the 5-second cache behavior and lists the exact contents returned, which is useful. However, it does not explicitly state read-only behavior, failure modes, or any side effects, though a retrieval tool implies safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the core behavior is in the first sentence, followed by a useful bulleted content list, a KB reference, and an example. Every element earns its place with no 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?

An output schema exists and the description lists returned data fields, so return semantics are reasonably covered. The main gap is the undocumented force_refresh parameter and the absence of explicit usage guidance, which leaves the tool slightly incomplete for a fully self-sufficient definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter force_refresh has 0% schema description coverage, and the description never directly explains how it works. The mention of the 5-second cache hints that force_refresh likely bypasses the cache, but the agent must infer this rather than read it explicitly.

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: 'Return the current Unreal project/editor context' and enumerates the included fields. It is specific enough to be distinguished from most sibling tools, though it does not explicitly name or contrast any sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as get_onboarding_context, get_server_info, or other context-gathering tools. There is no explicit when/when-not guidance; only the KB link, which points to general rules rather than usage criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recent_output_logA

Retrieve recent lines from the Unreal Engine Output Log.

Use this after running any tool to check for warnings, errors, or diagnostic messages that Unreal wrote to the log.

Args: lines: Number of recent log lines to return (default 200, max 1000) filter_category: Only return lines containing this string (e.g. "LogBlueprint", "LogPython", "LogAssetTools", "Error")

Returns: JSON string: { "success": true, "lines": ["LogPython: Warning: ...", "LogBlueprint: Error: ..."], "count": 45, "filter": "Error" }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: get_recent_output_log()

ParametersJSON Schema
NameRequiredDescriptionDefault
linesNo
filter_categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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 of behavioral disclosure. It documents the exact JSON return shape including success, lines, count, and filter, and specifies the default and max for lines, providing sufficient transparency for a read-only log retrieval 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 well-structured with purpose, usage, args, return format, KB reference, and an example. Every section adds actionable detail without redundancy, and the core purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two optional parameters, the description covers when to use it, parameter semantics, return structure, an example invocation, and a knowledge base reference. Nothing needed for correct invocation is missing.

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?

The input schema only lists parameter names, types, and defaults with no descriptions (0% schema coverage). The description fully compensates by defining 'lines' with default 200 and max 1000, and 'filter_category' with concrete example strings such as 'LogBlueprint' and 'Error'.

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 the specific operation 'Retrieve recent lines from the Unreal Engine Output Log', naming the verb, resource, and scope. The usage note 'Use this after running any tool to check for warnings, errors, or diagnostic messages' further frames it as a general diagnostic reader, distinguishing it from other unrelated 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?

Explicitly provides usage context with 'Use this after running any tool to check for warnings, errors, or diagnostic messages'. It gives clear guidance on when to call the tool, though it does not name exclusions or compare with log-related alternatives such as pie_capture_log.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_scs_nodesA

List every SimpleConstructionScript (SCS) component in a Blueprint.

Returns name, component_class, variable_guid, parent_name, is_root, and supports_overlap_events (True for PrimitiveComponent subclasses).

Use this BEFORE add_overlap_event or add_component_overlap_event to find the exact component_name and variable_guid needed. The variable_guid is required to create a K2Node_ComponentBoundEvent that is scoped to a specific component (not the whole actor).

Args: blueprint_name: Blueprint asset name (e.g. "BP_NPC")

Returns: Dict with 'scs_nodes' list. Each entry has: name, component_class, variable_guid, parent_name, is_root, supports_overlap_events

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: get_scs_nodes(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It clearly explains what the tool returns, including the semantics of supports_overlap_events (True for PrimitiveComponent subclasses) and why variable_guid matters (scoping a K2Node_ComponentBoundEvent to a specific component, not the whole actor). It doesn't mention error conditions or prerequisites, but for a read-only list operation the disclosed behavior is substantial and accurate.

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 well-structured and front-loaded: purpose first, then return fields, usage guidance, args, returns, KB pointer, and example. Each section earns its place, and there is no filler or repetition of schema-only information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, the description covers everything an agent needs: what it lists, the exact return shape, when to use it, the parameter format, an example, and a KB reference. Even though an output schema exists, the written Returns section makes the tool self-sufficient.

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 only names blueprint_name with no description (0% schema coverage), so the description must compensate. It does so with an Args section explaining 'Blueprint asset name (e.g. "BP_NPC")' plus a concrete example call with a full asset path. This adds meaningful usage guidance beyond the raw 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?

The first sentence states a specific verb ('List') and resource ('every SimpleConstructionScript (SCS) component in a Blueprint'), making the tool's function immediately clear. It also enumerates the exact returned fields, distinguishing it from generic component-listing siblings like get_blueprint_components.

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 explicitly says 'Use this BEFORE add_overlap_event or add_component_overlap_event' to obtain the required component_name and variable_guid. This directly routes the agent to the right context and identifies the relevant sibling tools for which this is a prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_server_infoA

Return Unreal-MCP-Ghost server version, transport, tool count, KB docs, and a start-here prompt for newly connected MCP agents.

KB: see knowledge_base/00_AGENT_KNOWLEDGE_BASE.md#mandatory-agent-rules

Example: get_server_info()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 provided, the description carries the burden of behavioral disclosure. 'Return ... server version, transport, tool count, KB docs' clearly indicates a read-only information retrieval operation with no mutation or side effects. The KB pointer and example also help the agent understand what to expect, though there is no explicit statement about failure modes or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, stating the return payload in one sentence, adding a relevant KB pointer, and providing a minimal example. Every sentence earns its place; there is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, zero-parameter info tool with an output schema present, the description is complete. It tells the agent what fields will be returned, points to the knowledge base, and shows the invocation form. Nothing essential 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 and the schema is empty, so there is no semantic burden to carry. Baseline 4 applies because no parameter documentation is needed; the included example call reinforces that the tool takes no arguments.

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 ('Return') and names the resource (Unreal-MCP-Ghost server info) while enumerating the exact fields returned: version, transport, tool count, KB docs, and a start-here prompt. It is clear and self-contained, though it does not explicitly differentiate itself from sibling info tools like server_lifecycle_status or server_transport_diagnostics.

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 clearly signals the intended context ('for newly connected MCP agents') and points to the knowledge base for mandatory rules, giving an agent enough situational awareness to call it during onboarding. It does not explicitly state when not to use it or name alternatives, but the context is clear enough for a zero-parameter info tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_skeleton_bone_namesA

List all bone names in a Skeletal Mesh's skeleton.

Use this before setting up an IK Rig to discover the exact bone names required for retarget chains (start_bone / end_bone parameters).

Args: skeletal_mesh_path: Content path to the Skeletal Mesh (e.g. "/Game/Characters/Player/SK_Player")

Returns: dict with keys: success, bone_count, bone_names (list of strings), message

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: get_skeleton_bone_names(skeletal_mesh_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
skeletal_mesh_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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, and it does well by implying a read-only query with List and by documenting the exact return keys: success, bone_count, bone_names, message. It does not explicitly confirm the operation is side-effect-free or describe failure behavior, but for a simple query this is adequate.

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, then usage context, Args, Returns, a KB pointer, and an example follow. Every section 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?

For a one-parameter query tool with an output schema, the definition is complete: it specifies the path format, the return contract, and a runnable example. No critical call-time information is missing.

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?

The schema has 0% description coverage, but the Args section fully documents the single parameter as a Content path to the Skeletal Mesh with a concrete example path. The agent has everything needed to populate skeletal_mesh_path correctly.

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 opens with a specific verb and resource: List all bone names in a Skeletal Mesh's skeleton. It further ties the purpose to IK Rig retarget-chain setup, which differentiates it from the broad animation/mesh sibling set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear invocation context: use this before setting up an IK Rig to discover the exact bone names required for retarget chains. It does not state when not to use it or name alternatives, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_call_mcp_toolA

Call a KotorMCP tool through GhostRigger's /mcp/tools/call endpoint.

Use ghostrigger_list_mcp_tools() first to discover available tool names and their argument schemas.

Key tool names (see ghostrigger_list_mcp_tools for full list): ghostrigger_open_model — open a model by resref ghostrigger_render_model — render a model to PNG ghostrigger_model_info — get geometry/bone/material info ghostrigger_list_game_models — list all models in the game ghostrigger_audit — audit model for issues kotor_lookup_2da — look up a 2DA table row kotor_lookup_tlk — look up a TLK dialog string kotor_list_modules — list all game modules kotor_describe_module — describe module contents

Args: tool_name: Name of the KotorMCP tool to call arguments: JSON string of arguments (e.g. '{"resref": "n_bastila"}')

Returns: JSON string: {"result": {...}} or {"error": "..."}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_call_mcp_tool(tool_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsNo{}
tool_nameYes

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 burden. It states the call returns a JSON string with result or error, but does not disclose side effects, read/write nature, rate limits, or permission requirements. Since it can invoke many tools, the lack of behavioral details (e.g., whether calls are safe or destructive) is a 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 well-structured and front-loaded with the purpose, then usage guidance, parameter details, return format, and an example. It includes a KB reference and is reasonably concise given the variety of tools it covers, without excessive fluff.

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 generic dispatcher, the description provides sufficient context: return format, example, and pointer to the discovery tool. The KB reference adds value. While it cannot document every sub-tool's arguments, it delegates that to the list tool, making it complete enough for an agent to understand and 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 coverage is 0%, but the description compensates by explaining 'tool_name' and 'arguments' with a concrete example and list of possible tool names. It also points to ghostrigger_list_mcp_tools for argument schemas, giving enough context for an agent to construct 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?

The description clearly states the tool calls a KotorMCP tool via an endpoint and lists key tool names, making the purpose specific. It is distinguishable from siblings like 'call_tool' by referencing GhostRigger and KotorMCP, though it doesn't explicitly differentiate from that generic sibling.

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 instructs to use ghostrigger_list_mcp_tools first to discover tool names and schemas, providing clear guidance on when to use this dispatcher. It gives examples of tool names but does not explicitly mention alternative generic call tools or when not to use this one, though the recommendation to list tools first sets expectations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_export_modelA

Export a KotOR MDL model to FBX (or another format) via GhostRigger.

Calls the KotorMCP 'ghostrigger_open_model' tool through GhostRigger with export options. The exported FBX is saved to export_path on the local filesystem.

This is the first half of the KotOR→UE5 pipeline:

  1. ghostrigger_export_model → exports MDL to FBX on disk

  2. import_static_mesh / import_skeletal_mesh → imports FBX into UE5

Args: resref: Model resource reference (e.g. "n_bastila", "plc_bench") export_path: Absolute path on the MCP server machine where the FBX should be saved (e.g. "/home/user/exports/n_bastila.fbx" or "C:/exports/n_bastila.fbx") module_dir: Optional path to the module directory format: Export format: "fbx" (default) — future: "gltf", "obj"

Returns: JSON string: { "success": true, "resref": "n_bastila", "export_path": "/home/user/exports/n_bastila.fbx", "format": "fbx" } or {"error": "..."}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_export_model(resref="Example", export_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNofbx
resrefYes
module_dirNo
export_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 provided, the description carries the full burden and does well: it discloses that the tool writes an FBX to a local filesystem path, calls another tool (ghostrigger_open_model), and returns a structured JSON success/error payload. It doesn't mention overwrite or prerequisite behavior, but the core side effect and result format are clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with clear sections (summary, pipeline, Args, Returns, KB, Example) and front-loaded purpose. It earns its length. The example contains a contradictory export_path ('/Game/MCP_Test/Example' is a UE path, not an absolute filesystem path), which slightly mars an otherwise tight structure.

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 description covers purpose, all parameters, return format, and pipeline linkage, which is strong for a 4-param tool with no annotations. The main gaps are lack of explicit overwrite/prerequisite behavior and the misleading example path, which could cause an agent to pass an invalid export path. These are minor but real.

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 fully, and it does. The Args section explains resref, export_path, module_dir, and format with concrete examples, defaults, and allowed values, adding meaning far beyond the bare schema titles.

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: 'Export a KotOR MDL model to FBX (or another format) via GhostRigger.' It also names the pipeline position and distinguishes from the downstream import tools (import_static_mesh / import_skeletal_mesh), so an agent can clearly tell this is the export step, not an import or open step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit pipeline context: 'This is the first half of the KotOR→UE5 pipeline' and lists the follow-up import tools. This tells the agent when to use it in a workflow. It does not enumerate when not to use it or compare with ghostrigger_open_model, but the pipeline framing is sufficient guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_healthA

Check whether the GhostRigger IPC server is running and healthy.

Returns: JSON string: { "status": "ok", "program": "GhostRigger", "port": 7001, "version": "2.8", "mcp": true } or {"error": "Cannot reach GhostRigger at http://localhost:7001: ..."}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_health()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 behavioral burden. It discloses that the tool reaches an external HTTP endpoint (localhost:7001), returns a structured JSON status payload (status, program, port, version, mcp) or an error object, and includes an example. This is adequate transparency for a read-only health check, though it doesn't explicitly say 'no 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?

The description is compact and front-loaded, with the purpose stated first, followed by the return format, a KB pointer, and an example. Every part earns its place; there is no repetition of schema information 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 zero-parameter health check, the description covers the essential invocation facts: what it checks, what a successful response looks like, what an error looks like, and an example call. It is complete enough for an agent to call correctly. A brief note about how this relates to ghostrigger_ping would raise it further, but it's not strictly required for execution.

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 and the schema coverage is 100%, so there is nothing for the description to add beyond confirming no arguments are needed. The example 'ghostrigger_health()' reinforces this, matching the baseline of 4 for parameterless tools.

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 action ('Check whether the GhostRigger IPC server is running and healthy') and a clear resource (GhostRigger IPC server on port 7001). It is more specific than a bare verb but does not explicitly differentiate itself from the sibling ghostrigger_ping, which likely overlaps in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as ghostrigger_ping or ghostrigger_read_resource. The KB reference and example show how to call it, but there is no stated condition like 'use this when you need full health/version info rather than just connectivity.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_import_to_ue5A

Full KotOR→UE5 pipeline: export MDL via GhostRigger then import FBX into UE5.

Step 1: Calls GhostRigger to export the KotOR model to FBX at export_path. Step 2: Calls UE5 via exec_python to import the FBX as a StaticMesh or SkeletalMesh at ue5_destination_path.

Args: resref: KotOR model resource reference (e.g. "n_bastila") export_path: Absolute path where the FBX should be written (must be accessible to both GhostRigger and the UE5 machine — use a shared/mounted folder) ue5_destination_path: Content Browser destination (default "/Game/KotOR/Models/") is_skeletal: If True, import as SkeletalMesh (default False) skeleton: Existing skeleton asset path to reuse (SkeletalMesh only) module_dir: Optional module directory for GhostRigger

Returns: JSON string: { "success": true, "resref": "n_bastila", "export_path": "/shared/n_bastila.fbx", "asset_path": "/Game/KotOR/Models/n_bastila", "asset_type": "StaticMesh", "ghostrigger_export": {...}, "ue5_import": {...} }

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_import_to_ue5(resref="Example", export_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
resrefYes
skeletonNo
module_dirNo
export_pathYes
is_skeletalNo
ue5_destination_pathNo/Game/KotOR/Models/

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 burden. It discloses that this is a multi-step operation (calls GhostRigger then UE5), that it writes an FBX file, and that it imports into the Content Browser. It also documents the return JSON structure. It doesn't mention failure modes or side effects like overwriting existing assets, but the step disclosure and return format are solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with numbered steps, a clear Args list, and a Returns section. It's longer than average but every section earns its place given the multi-step nature. The example is slightly confusing (uses '/Game/MCP_Test/Example' as export_path, which looks like a UE5 path rather than a filesystem path), but overall it's organized and front-loaded.

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 description covers the pipeline steps, parameter semantics, return format, and even points to a knowledge base article. It lacks explicit error-handling or prerequisite information (e.g., GhostRigger must be running, UE5 must be available), but for a complex orchestration tool it provides enough for an agent to invoke it correctly in most cases.

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 each parameter's role, including the critical shared-folder constraint for export_path, the default for ue5_destination_path, and the conditional nature of skeleton (SkeletalMesh only). This is strong compensation for 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?

The description clearly states a two-step pipeline: export via GhostRigger then import into UE5, with specific verbs and resources (export MDL to FBX, import FBX as StaticMesh/SkeletalMesh). It distinguishes itself from siblings like ghostrigger_export_model and import_static_mesh by combining both steps into one orchestrated operation.

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 step-by-step usage context and notes the shared/mounted folder requirement for export_path. It doesn't explicitly name alternative tools or when-not-to-use conditions, but the pipeline nature and KB reference give adequate context for an agent to know when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_list_mcp_toolsA

List all KotorMCP tools available through GhostRigger's /mcp/tools/list endpoint.

GhostRigger exposes ~68 KotOR resource tools (installation management, discovery, game data lookups, 3-D model pipeline, module exploration, GFF/2da/TLK reading, animation debug, decompile, and more).

Returns: JSON string: {"tools": [{name, description, inputSchema}, ...]}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_list_mcp_tools()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 disclosure burden. It does describe the remote endpoint and the exact JSON return shape, and 'List' strongly implies a read-only operation, but it never explicitly states that no state changes occur or what happens if GhostRigger is unavailable. These are gaps for a tool with no annotation safety profile.

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 main sentence is front-loaded and the description is compact, with a useful category survey, return format, and example. The KB pointer to an animation deep-dive file feels slightly tangential for a tool-listing endpoint, keeping this from a top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter discovery tool with an output schema, the description is complete: it names the endpoint, states the return contract, gives a category overview, and shows an example invocation. An agent has everything needed to select and call this 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 has zero parameters, so the baseline is 4; there are no parameter semantics to add. The description appropriately avoids inventing parameter details, and the example call reinforces the no-argument usage.

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 opens with a precise statement: 'List all KotorMCP tools available through GhostRigger's /mcp/tools/list endpoint.' This combines a specific verb, resource, and endpoint, and the KotorMCP qualifier differentiates it from generic sibling listing tools like list_available_tools or list_toolsets.

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 intended use is clear: call this when you need to enumerate the ~68 KotOR resource tools GhostRigger exposes, and the category list helps an agent recognize the scope. It does not explicitly name exclusions or alternatives, but the endpoint and domain scope provide enough context to route the call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_list_resourcesA

List all kotor:// URI resource templates available from GhostRigger.

Returns the list of resource templates defined by KotorMCP, e.g.: kotor://k1/2da/{table} kotor://k1/tlk/{strref} kotor://k1/module/{module_id}/utc/{resref}

Returns: JSON string: {"resources": [{uri, name, description, mimeType}, ...]}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_list_resources()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 burden of behavioral disclosure. It states that the tool only lists resources and returns a JSON string with the shape {'resources': [{uri, name, description, mimeType}, ...]}, which is meaningful behavioral detail. The read-only nature is implied by 'List' and 'Returns,' though it does not explicitly rule out side effects or describe 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized: a one-sentence purpose, concrete URI examples, a return-type declaration, a KB pointer, and an example call. It is slightly redundant in saying 'List all...' and then 'Returns the list...,' but there is no filler and the most important information is front-loaded.

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 zero-parameter listing tool, the description provides enough detail to select and invoke it correctly: purpose, return format, example output fields, and a call example. The KB reference adds a discovery path for deeper context, though it does not explicitly distinguish this tool from ghostrigger_list_mcp_tools, which lists MCP tools rather than resource templates.

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?

There are zero parameters, so the input schema leaves nothing to document. The description reinforces this with a call example, ghostrigger_list_resources(), which is sufficient. This matches the baseline for parameter-free tools.

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 opens with a specific verb and object: 'List all kotor:// URI resource templates available from GhostRigger.' It goes beyond the tool name by explaining that these are URI resource templates and gives concrete examples of the template formats. This clearly distinguishes it from sibling tools like ghostrigger_read_resource, which consume individual resources rather than listing available templates.

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 establishes clear context: use this tool when you need the catalog of kotor:// resource templates exposed by KotorMCP/GhostRigger. It does not explicitly name alternatives or exclusion conditions, but the examples and return type make the intended use unambiguous for a zero-argument list operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_open_creatureA

Tell GhostRigger to open a KotOR UTC creature blueprint.

Sends POST /api/open_utc. GhostRigger will locate the creature blueprint and display it for editing.

Args: resref: Creature resource reference (e.g. "n_bastila001") module_dir: Optional module directory path

Returns: JSON string: {"status": "ok", "action": "open_utc"}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_open_creature(resref="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
resrefYes
module_dirNo

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 provided, the description carries the full burden. It discloses that the tool sends a POST to /api/open_utc and that GhostRigger will locate and display the blueprint for editing. It does not explicitly state whether the operation mutates anything or what happens on failure, but for an 'open' action the behavioral disclosure is reasonably complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args, Returns, KB, and Example sections. It is reasonably concise and front-loads the main purpose. The KB link adds navigational context, though the example is weak because it uses 'Example' as a resref value instead of a real creature resource reference.

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 two-parameter open tool, the description is mostly complete: it gives the endpoint, the effect, parameter roles, a return shape, and an example. It does not mention prerequisites such as GhostRigger being reachable or what occurs when the resref is not found, but those gaps are minor given the low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It does add meaning for both parameters: resref is called a 'Creature resource reference' with an example, and module_dir is marked as optional. However, module_dir's semantics remain thin ('Optional module directory path'), and the example uses a placeholder 'Example' rather than a realistic resref.

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 opens with a specific verb and resource: 'Tell GhostRigger to open a KotOR UTC creature blueprint.' It also identifies the endpoint (POST /api/open_utc) and the action ('open_utc'), which distinguishes it from sibling tools like ghostrigger_open_model. An agent can clearly tell this tool is for opening UTC creature blueprints specifically.

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 clearly indicates when to use the tool: when you need to open a KotOR UTC creature blueprint for editing. It does not explicitly name alternatives or exclusion cases, but the context is clear enough that an agent would not confuse it with read-only resource listing or model-opening sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_open_modelA

Tell GhostRigger to open a KotOR MDL model for viewing/editing.

Sends POST /api/open_mdl with the given resref. GhostRigger will locate the model in the game library and display it in the 3-D viewport.

Args: resref: Model resource reference (e.g. "n_bastila", "plc_bench") module_dir: Optional path to the module directory if the model is inside a specific module (leave empty to use the game installation library)

Returns: JSON string: {"status": "ok", "action": "open_mdl"} or {"error": "..."}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_open_model(resref="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
resrefYes
module_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 the HTTP endpoint, that the model is located in the game library and displayed in the 3-D viewport, and that the response is a status/error JSON. It does not state side effects, whether the operation is non-destructive, permissions required, or failure semantics beyond a generic error string.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a summary, endpoint, Args, Returns, KB, and Example, and it front-loads the key action. Minor redundancy exists in the placeholder example 'ghostrigger_open_model(resref="Example")', which is not as informative as the earlier real resref examples, but the overall size is appropriate.

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 tool with no annotations, the description provides the endpoint, parameter semantics, return shape, and an example, making invocation practical. It lacks an explicit side-effect or non-destructive note and alternative-tool routing, but an agent can safely call this tool based on the provided information.

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?

The input schema has 0% description coverage, but the description fully compensates by defining resref with concrete examples ('n_bastila', 'plc_bench') and explaining module_dir as optional with empty-string behavior meaning the game installation library. This gives the agent complete guidance for both arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'open' and the resource 'KotOR MDL model' for viewing/editing, adding the concrete implementation detail 'POST /api/open_mdl'. This distinguishes it from sibling tools like ghostrigger_open_creature and ghostrigger_export_model by specifying the exact type of asset.

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 tool is for opening a model for viewing/editing and explains the optional module_dir scenario when a model lives inside a specific module. However, it does not mention alternatives or conditions for when not to use this tool, leaving the agent to infer routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_pingA

Ping the GhostRigger IPC server (POST /api/ping).

Returns: JSON string: {"status": "ok", "action": "ping", "program": "GhostRigger"}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_ping()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 behavioral disclosure burden. It clearly specifies the HTTP method, endpoint, and exact JSON response format, and the example confirms a zero-argument call. It does not discuss error behavior or side effects, but for a ping operation this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: action and endpoint first, then return value, KB reference, and a usage example. Every line earns its place with 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?

For a zero-parameter health-check tool with an output schema context, the description is complete: it provides the endpoint, the exact response payload, a KB pointer, and an example. Nothing essential for invoking or interpreting this tool 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 input schema has zero parameters, so parameter semantics are not a concern. The description reinforces the no-argument call with the example 'ghostrigger_ping()', which is the baseline expected for a zero-parameter tool.

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 action ('Ping') and a specific target ('the GhostRigger IPC server'), and includes the HTTP endpoint POST /api/ping. This distinguishes it from sibling tools like ghostrigger_health and ghostrigger_read_resource by clarifying it is a connectivity probe.

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 this tool is for checking whether the GhostRigger IPC server is reachable, but it does not explicitly state when to use it versus sibling alternatives such as ghostrigger_health or ghostrigger_list_mcp_tools. No when-to-use or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghostrigger_read_resourceA

Read a kotor:// resource URI from GhostRigger.

Examples: "kotor://k1/2da/appearance" — appearance.2da table "kotor://k1/tlk/42" — TLK string 42 "kotor://k1/module/danm13/utc/n_bastila001" — Bastila's UTC

Args: uri: A kotor:// URI (use ghostrigger_list_resources to see all templates)

Returns: JSON string: {"content": {...}} or {"error": "..."}

KB: see knowledge_base/16_ANIMATION_DEEP_DIVE.md#overview Example: ghostrigger_read_resource(uri="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYes

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 provided, the description discloses the return format (JSON string with content or error) and points to a knowledge base for deeper context. It is a read operation implied by the name and the description does not contradict that. It doesn't mention side effects, but for a read tool that's acceptable. It also indicates the need to know valid URIs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with sections for examples, args, returns, and KB reference. It is somewhat verbose with the trailing example call using a placeholder 'Example' that could confuse, but overall it is appropriately sized and front-loaded with the purpose.

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 read tool, the description covers purpose, usage, parameter semantics, return format, and error handling. It also references a KB for more depth and a sibling for resource discovery. The only minor gap is the ambiguous example call at the end, but overall it's complete enough for an agent to invoke correctly.

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?

The schema provides only a string type with no description (0% coverage). The description compensates by explaining the URI format, giving concrete examples, and instructing to use ghostrigger_list_resources to see all templates, which fully clarifies the parameter's meaning and valid 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 clearly states the tool reads a kotor:// resource URI from GhostRigger, with specific examples of URI formats (2da, tlk, utc). It distinguishes itself from the sibling ghostrigger_list_resources by pointing to it for discovering templates, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using ghostrigger_list_resources to see available templates, implying that this tool should be used after listing to fetch a specific resource. It doesn't explicitly state when not to use it, but the reference to the sibling provides adequate guidance for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hlod_assign_layerC

Assign an HLOD Layer asset to named actors or the current editor selection.

KB: see knowledge_base/25_WORLD_PARTITION_AND_HLOD.md#mcp-world-partition-and-hlod-tools Example: hlod_assign_layer(hlod_layer="/Game/HLOD/HLODLayer_Buildings", actors=["SM_Blockout_01"])

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNo
actorsNo
hlod_layerYes

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 it 'assigns' an HLOD layer, implying a mutation, but it does not disclose whether the assignment modifies the actors' properties, what happens if the HLOD layer doesn't exist, how the selection fallback works, or whether there are side effects. It also does not mention any error behavior or reversibility. The example demonstrates a valid call but does not reveal behavioral traits beyond the basic operation. This is a significant gap for a mutation tool without annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of a single sentence followed by a KB reference and an example. It is front-loaded with the purpose and avoids unnecessary fluff. However, it could be more informative without becoming verbose, such as explaining the parameter precedence or selection fallback. It is appropriately sized but could be improved with a brief note on parameter usage. Overall, it is concise and well-structured for its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity—two actor-related parameters, a selection fallback, and a required HLOD layer—the description is incomplete. It does not explain how the selection is used if no actors are provided, whether 'actor' and 'actors' are mutually exclusive, or what happens if both are given. It also does not mention any validation or error cases. While an output schema exists (not shown), the description does not address the operational context needed for correct invocation. The KB reference is helpful but is not part of the description itself. For a tool with these nuances, the description should provide more guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must explain the parameters. It mentions 'named actors' and 'current editor selection', which maps to the 'actor' and 'actors' parameters, and provides an example using 'actors'. However, it does not clarify the difference between the singular 'actor' and plural 'actors', how they relate to the selection fallback, or what happens if both are provided. It also does not mention that 'hlod_layer' is required. The example only shows the 'actors' parameter, leaving the 'actor' parameter's purpose ambiguous. The description adds minimal semantic value beyond the schema, which itself only provides types and 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 clearly states the action: assign an HLOD Layer asset to named actors or the current editor selection. The verb 'assign' and the resource 'HLOD Layer asset' are specific, and the target (named actors or selection) is explicit. It distinguishes from other HLOD tools like hlod_generate by focusing on assignment, but it doesn't explicitly differentiate itself from other tools that might assign layers. Overall, the purpose is clear and specific.

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: you assign an HLOD layer to actors or selection. It mentions two modes (named actors or current selection), which gives some context. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or conditions (e.g., 'use this when you have a specific HLOD layer and actors to assign'). The KB reference is given but not elaborated in the description itself, so the guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hlod_generateC

Run the World Partition HLOD builder commandlet for the active map.

KB: see knowledge_base/25_WORLD_PARTITION_AND_HLOD.md#mcp-world-partition-and-hlod-tools Example: hlod_generate(setup=True, build=True, layer="HLODLayer_Buildings")

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNo
buildNo
forceNo
layerNo
setupNo
statsNo
deleteNo
extra_argsNo
report_onlyNo

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?

There are no annotations, so the description carries the full burden of disclosing behavioral traits. It does not state whether running the builder is destructive, whether it modifies the active map or generated assets, how long it might take, or what prerequisites are needed. The example hints at setup and build modes but does not explain consequences or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, followed by a KB pointer and a useful example. There is no redundant fluff. The KB line is slightly meta rather than directly actionable, but it does not hurt readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, no annotations, and no parameter descriptions, the description is not complete enough for an agent to invoke it correctly in all cases. The output schema reduces the need to describe return values, and the KB link helps, but prerequisite conditions, side effects, and most parameter meanings remain unspecified. The example covers one common path but not the full parameter space.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description is responsible for explaining the 9 parameters, but it only mentions setup, build, and layer in the example. Params like force, stats, delete, extra_args, report_only, and actor are left entirely unexplained. The example demonstrates a typical invocation but does not compensate for the missing semantics of the other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Run the World Partition HLOD builder commandlet') and a clear scope ('for the active map'). It is more specific than the tool name alone and is understandable without needing to inspect the schema. It does not explicitly distinguish itself from the sibling hlod_assign_layer, but the action is clearly about generating/building HLODs rather than assigning actors.

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 through the example call and the active-map scope, but it does not state when to prefer this tool over alternatives such as hlod_assign_layer or the wp_* tools. It provides no exclusions or preconditions like requiring the map to be saved or HLOD layers to exist beforehand. The KB link is a useful pointer but does not itself contain usage guidance in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

implement_blueprint_interfaceB

Make a Blueprint implement a Blueprint Interface.

Args: blueprint_name: Blueprint that will implement the interface interface_name: Interface asset name

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: implement_blueprint_interface(blueprint_name="/Game/MCP_Test/BP_Example", interface_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
interface_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 carries the full burden. It states the action but doesn't disclose side effects (e.g., whether this modifies the Blueprint asset permanently, whether it requires compilation, whether it can be undone, or what happens if the interface is already implemented). The KB reference is a pointer but not a disclosure.

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 compact: a one-line summary, parameter explanations, a KB reference, and an example. The example is valuable and front-loaded enough. The KB reference is a bit cryptic but doesn't waste 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?

For a 2-parameter tool with no annotations and no output schema details, the description is adequate but not complete. It gives the essential inputs and an example, but lacks behavioral context (side effects, prerequisites, error conditions) and doesn't describe the return value. The KB reference helps but is not a substitute for inline guidance.

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 does provide one-line explanations for both parameters ('Blueprint that will implement the interface' and 'Interface asset name'), which adds meaning beyond the bare schema titles. However, it doesn't specify path formats (e.g., /Game/... prefix) beyond the example, and doesn't clarify whether the interface_name is a full asset path or just a name.

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 ('Make a Blueprint implement') and a specific resource ('a Blueprint Interface'), which clearly distinguishes it from sibling tools like create_blueprint_interface or add_interface_function_node. It could be slightly more explicit about the relationship to the interface asset, but the core purpose is clear.

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 context: it's for making an existing Blueprint implement an interface, and the KB reference points to more detailed guidance. However, it doesn't explicitly state when to use this tool versus alternatives like create_blueprint_interface or add_interface_function_node, nor does it mention prerequisites (e.g., the interface must already exist).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_animation_fbxA

Import an animation-only FBX onto an existing UE Skeleton.

This is the receiving half of DCC animation handoffs such as Cascadeur's Animation FBX preset. It deliberately disables mesh, material, and texture import so a validation or animation pass cannot silently replace a production SkeletalMesh.

Args: file_path: Absolute path to an FBX file on the Unreal host. skeleton: Existing Skeleton asset path, for example /Game/Characters/Mannequins/Meshes/SKM_Manny_Skeleton. destination_path: Content Browser folder for AnimSequence assets. destination_name: Optional asset name override. Empty preserves the FBX take/file naming chosen by Unreal. animation_length: exported_time (default) or animated_key. import_custom_attributes: Preserve authored FBX custom attributes. remove_redundant_keys: Allow Unreal's lossless redundant-key cleanup. use_default_sample_rate: Sample at Unreal's default rate when true. custom_sample_rate: Explicit sample rate when greater than zero. replace_existing: Replace same-named destination assets only when explicitly requested. Defaults false for non-destructive proof.

Returns: StructuredResult JSON with imported AnimSequence paths, the resolved Skeleton, and the effective import settings.

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#import-and-retargeting Example: import_animation_fbx( file_path="C:/Animations/Walk.fbx", skeleton="/Game/Characters/Mannequins/Meshes/SKM_Manny_Skeleton", destination_path="/Game/Animations", )

ParametersJSON Schema
NameRequiredDescriptionDefault
skeletonYes
file_pathYes
animation_lengthNoexported_time
destination_nameNo
destination_pathNo/Game/Animations/
replace_existingNo
custom_sample_rateNo
remove_redundant_keysNo
use_default_sample_rateNo
import_custom_attributesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it deliberately disables mesh/material/texture import to prevent replacing production SkeletalMesh, and it explains the non-destructive default for replace_existing. It also describes the return type (StructuredResult JSON). While it does not cover all possible failure modes or prerequisites, the description transparently communicates the most significant behaviors and safety characteristics.

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?

Despite having 10 parameters, the description is well-structured with a summary, parameter list with one-line explanations, Returns section, KB reference, and an example. It is front-loaded with the core purpose and then organizes details logically. Each sentence serves a purpose, and the length is appropriate for the tool's complexity. No fluff or repetition.

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?

The description covers all essential aspects: what the tool does, when to use it (DCC handoffs), behavioral safeguards, all parameters with semantics, return value, a KB reference for deeper context, and a concrete example. An agent has enough information to invoke the tool correctly with confidence. The presence of an output schema reduces the need to describe return format in detail, though it still summarizes it.

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 explain every parameter. It does so concisely: file_path (absolute path), skeleton (existing skeleton asset path), destination_path (folder), destination_name (override behavior), animation_length (two options), import_custom_attributes (preserve), remove_redundant_keys (cleanup), sample rate options, and replace_existing (non-destructive default). It also includes an example call. This fully compensates for the schema's lack of descriptions.

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 opens with a clear, specific statement: 'Import an animation-only FBX onto an existing UE Skeleton.' It names the exact operation, the resource type, and the target. It further distinguishes itself by stating it disables mesh, material, and texture import, which differentiates it from sibling import tools like import_skeletal_mesh and import_static_mesh. An agent can immediately understand what this tool does and how it differs.

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 context: 'This is the receiving half of DCC animation handoffs such as Cascadeur's Animation FBX preset.' It also explains the intentional restriction to animation-only data, which implies when to use it. However, it does not explicitly state when NOT to use this tool or name alternative import tools (e.g., import_skeletal_mesh for mesh import). The usage context is clear but lacks explicit exclusions or direct comparisons that would earn a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_folder_as_characterA

Import a character export folder (mesh + textures + animations) as a complete set under one UE5 destination.

Designed for KotOR/GhostRigger export folders that follow the layout: / .fbx ← skeletal mesh (required) textures/ T_d.tga ← diffuse T_n.tga ← normal map ... animations/ ← optional animation FBXs Idle.fbx Walk.fbx

The skeletal mesh FBX is imported first (establishing the skeleton), then all texture files, then any animation FBXs reusing the created skeleton.

Args: folder_path: Absolute path on MCP server machine character_name: Used for the UE5 subfolder, e.g. "Bastila" ue5_base_path: Root Content Browser path (default "/Game/Characters/") skeleton: Existing skeleton path to reuse (leave empty to auto-create) import_animations: Import FBX files in an "animations" subfolder (default True) import_morph_targets: Import morph targets from the skeletal mesh (default True)

Returns: JSON string with the full import report and key asset paths: { "success": true, "character_name": "Bastila", "ue5_destination": "/Game/Characters/Bastila", "skeletal_mesh": "/Game/Characters/Bastila/SK_Bastila", "skeleton": "/Game/Characters/Bastila/SK_Bastila_Skeleton", "textures": ["/Game/Characters/Bastila/Textures/T_Bastila_d", ...], "animations": ["Idle", "Walk"], "reused_skeleton": false, "errors": [] }

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#overview Example: import_folder_as_character(folder_path="/Game/MCP_Test/Example", character_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
skeletonNo
folder_pathYes
ue5_base_pathNo/Game/Characters/
character_nameYes
import_animationsNo
import_morph_targetsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and delivers: it discloses the import sequencing (skeletal mesh first to establish the skeleton, then textures, then animations reusing that skeleton), the auto-create vs. reuse skeleton behavior, and the return report structure including the 'reused_skeleton' flag. This is unusually thorough behavioral disclosure.

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 long but every section earns its place: purpose is front-loaded, the folder layout tree is essential for the format-dependent tool, the import-order paragraph explains behavior, and the Args/Returns blocks compensate for the empty schema and missing output schema. The KB pointer and example are compact additions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter composite import tool with zero annotations and zero schema descriptions, this description is essentially complete: purpose, folder format, import sequencing, all parameters, return JSON shape, example call, and a knowledge-base reference. The errors array in the return format even hints at failure reporting. Nothing an agent needs to invoke it correctly is missing.

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 fully: all six parameters (folder_path, character_name, ue5_base_path, skeleton, import_animations, import_morph_targets) get meaningful explanations including defaults and the 'leave empty to auto-create' semantics for skeleton. The folder layout diagram also clarifies what folder_path must point to.

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: 'Import a character export folder (mesh + textures + animations) as a complete set under one UE5 destination.' It clearly distinguishes the composite scope from siblings like import_skeletal_mesh, import_texture, and import_animation_fbx by emphasizing the complete mesh+textures+animations bundle, even though it never names 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: 'Designed for KotOR/GhostRigger export folders' and spells out the exact expected folder layout (required mesh FBX, textures subfolder, optional animations subfolder). It lacks explicit when-not-to-use guidance or named alternatives, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_skeletal_meshA

Import an FBX file as a Skeletal Mesh into UE5 Content Browser.

Args: file_path: OS path to the FBX file on the UE5 Windows machine (e.g. "C:/Characters/Bastila.fbx") destination_path: Content Browser destination (default "/Game/Characters/") skeleton: Content Browser path to an existing Skeleton asset to reuse, e.g. "/Game/Mannequin/SK_Mannequin_Skeleton". Leave empty ("") to create a new skeleton from the file. import_animations: Import embedded animations as AnimSequence assets (default True) import_morph_targets: Import morph targets / blend shapes (default True) import_materials: Import materials embedded in the FBX (default True)

Returns: JSON string with StructuredResult — outputs on success: { "success": true, "stage": "import_skeletal_mesh", "outputs": { "asset_path": "/Game/Characters/SK_Bastila", "asset_type": "SkeletalMesh", "skeleton_path": "/Game/Characters/SK_Bastila_Skeleton", "animations_imported": ["Idle", "Walk"], "reused_skeleton": false }, "warnings": [], "errors": [], "log_tail": [] }

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#overview Example: import_skeletal_mesh(file_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
skeletonNo
file_pathYes
destination_pathNo/Game/Characters/
import_materialsNo
import_animationsNo
import_morph_targetsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 of behavioral disclosure, and it does a solid job: it explains skeleton reuse versus creation, details all import toggles, and provides the StructuredResult success response with animation output, warnings/errors/log fields. It does not discuss overwrite behavior or failure side effects, but the import outcome and return shape are clearly disclosed. This goes well beyond a minimal description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with a clear purpose statement, followed by a compact parameter block and a return contract. It is somewhat long but every section earns its place. The trailing example is slightly inconsistent since file_path is documented as an OS path but the example shows a Content Browser-like path, which slightly detracts from the polish.

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 6-parameter import tool with no annotations and an output schema present, the description is largely complete: parameters, defaults, skeleton behavior, success output, and a knowledge-base reference are all included. Minor gaps remain — such as noting what happens on file-not-found, destination conflicts, or prerequisite skeleton validity checks. Overall, the agent can call the tool correctly with the information given.

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?

The input schema has zero parameter descriptions, so the description must compensate, and it does: every parameter gets a purpose and meaningful semantics, including the file_path OS-path example, destination default, skeleton reuse behavior, and boolean import toggles. The description also clarifies the subtle distinction between leaving skeleton empty to create a new skeleton versus supplying an existing Skeleton asset path. This makes the parameters actionable without needing to open 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?

The opening line names a specific verb and target — "Import an FBX file as a Skeletal Mesh into UE5 Content Browser." This cleanly distinguishes the tool from sibling import tools like import_static_mesh and import_animation_fbx by making the asset type explicit. The description follows through with a concrete success output showing asset_path and 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what the tool does but never says when to choose this tool versus alternatives such as import_static_mesh, import_animation_fbx, or batch_import_folder. There is no exclusion guidance, prerequisite mention, or explicit conditions for picking this tool instead of a sibling. The usage context is only implied by the tool's name and top sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_sound_assetA

Import a WAV, OGG, or MP3 file from the UE5 host machine into the Content Browser as a SoundWave asset.

The file must already be present on the Windows machine running UE5 (e.g. "C:/Sounds/jump.wav" or "D:/Project/Audio/SFX_Shoot.wav"). For files that exist on the sandbox, use import_sound_asset_from_sandbox instead.

Args: file_path: Absolute OS path to the audio file on the UE5 Windows machine (e.g. "C:/Sounds/jump.wav"). Supports WAV, OGG, and MP3 formats. destination_path: Content Browser folder for the imported asset. Default: "/Game/Audio/" auto_create_cue: If True, also creates a SoundCue asset wired to the imported SoundWave in the same folder. The cue is named _Cue.

Returns: JSON string with the result: Success: {"success": true, "asset_path": "/Game/Audio/jump", "asset_type": "SoundWave", "cue_path": "/Game/Audio/jump_Cue"} (cue_path only if auto_create_cue=True) Failure: {"success": false, "error": ""}

Example usage: import_sound_asset( file_path="C:/Sounds/SFX_TurretFire.wav", destination_path="/Game/Audio/SFX/", auto_create_cue=True )

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#overview Example: import_sound_asset(file_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
auto_create_cueNo
destination_pathNo/Game/Audio/

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 burden. It discloses the import result, optional SoundCue creation with a predictable naming rule, and the exact JSON success/failure response. It does not mention collision or overwrite behavior, but the main side effects are clearly described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured and front-loaded: purpose, prerequisite, alternative, parameters, return format, then a usable example. The later 'KB' line and second malformed example add noise and risk confusion, so it is not fully concise.

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 3-parameter tool with no annotations and no helpful schema descriptions, this is nearly complete: source requirements, sibling routing, parameter defaults, return JSON, and a valid example are all included. The misleading final example is the main 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?

All three parameters are documented beyond the empty input schema: file_path gets absolute-OS-path and format semantics, destination_path gets a default, and auto_create_cue gets behavioral meaning plus cue naming. However, the trailing example uses file_path="/Game/MCP_Test/Example", which looks like a Content Browser path rather than an absolute OS path and slightly undermines the clear parameter contract.

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: importing a WAV, OGG, or MP3 file from the UE5 host machine into the Content Browser as a SoundWave asset. It clearly distinguishes itself from the sibling import_sound_asset_from_sandbox and names the optional SoundCue side effect.

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?

Explicitly states the prerequisite that the file must already exist on the Windows machine running UE5, and directly names import_sound_asset_from_sandbox as the alternative for sandbox files. This gives the agent clear selection criteria between the two import tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_sound_asset_from_sandboxA

Import an audio file that lives on the sandbox (Linux side) into the UE5 Content Browser as a SoundWave asset.

The file at local_file_path is read, base64-encoded, embedded in a Python script that runs inside UE5, decoded back to bytes, written to the Windows temp folder on the UE machine, and then imported with AssetTools.

For audio files that already exist on the UE5 Windows machine (e.g. downloaded via a browser or placed manually), use import_sound_asset instead — it is simpler and does not require base64 transfer.

Typical workflow: 1. Use audio_generation to create a sound → get a Genspark file URL 2. Use DownloadFileWrapper to save the file to /home/user/webapp/.mp3 3. Call import_sound_asset_from_sandbox( local_file_path="/home/user/webapp/.mp3", ...)

Args: local_file_path: Absolute path to the audio file on the sandbox (e.g. "/home/user/webapp/SFX_TurretFire.mp3") asset_name: Name for the new UE SoundWave asset (no spaces, e.g. "SFX_TurretFire") destination_path: UE content-browser folder (default "/Game/Audio") loop: If True, sets the SoundWave looping flag

Returns: Dict with 'asset_path' (e.g. "/Game/Audio/SFX_TurretFire.SFX_TurretFire") on success, or 'error' on failure.

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: import_sound_asset_from_sandbox(local_file_path="/Game/MCP_Test/Example", asset_name="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
asset_nameYes
local_file_pathYes
destination_pathNo/Game/Audio

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 provided, the description carries the behavioral disclosure burden. It explains the full transfer mechanism: base64-encoding, embedding in a Python script, decoding on the UE machine, writing to the Windows temp folder, and importing via AssetTools. It also documents the return dict. Minor gaps such as failure modes or cleanup behavior prevent a perfect score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a front-loaded purpose, mechanism, workflow, args, returns, and example. It is longer than strictly necessary, and the incorrect example detracts from its usefulness. The structure is solid, but the misleading example makes the whole description less reliable.

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 description covers the core operation, prerequisite workflow, alternative tool routing, all parameter details, return contract, and even a KB pointer. Since no annotations or schema descriptions exist, this is a fairly complete package. The only notable completeness flaw is the contradictory example.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The Args section adds crucial meaning beyond the schema, which has 0% description coverage: path format, asset name constraints, default destination, and loop flag behavior. However, the included example uses '/Game/MCP_Test/Example' for both local_file_path and asset_name, which contradicts the documented sandbox path and no-spaces name format, creating real ambiguity for an agent following the example.

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 precise verb and resource: import an audio file from the sandbox into the UE5 Content Browser as a SoundWave asset. It also explicitly names the sibling tool import_sound_asset and contrasts the scenario, so an agent can distinguish the two without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use versus when-not-to-use guidance: 'For audio files that already exist on the UE5 Windows machine ... use import_sound_asset instead.' It also provides a concrete three-step workflow involving audio_generation, DownloadFileWrapper, and this tool, leaving no ambiguity about the intended usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_static_meshA

Import a 3D model as a Static Mesh into UE5 Content Browser.

Supports FBX, OBJ, glTF (.gltf), and GLB (.glb) formats. For glTF/GLB files UE5's Interchange Framework handles import automatically — FBX options are not applied but all other parameters still work.

Args: file_path: OS path on UE5 machine (e.g. "C:/Models/table.fbx") destination_path: Content Browser destination (default "/Game/Meshes/") combine_meshes: Merge all meshes into one asset (default True) generate_lightmap_uvs: Auto-generate UV channel 1 for lightmaps (default True) auto_generate_collision: Create simple collision hull (default True) import_materials: Import materials embedded in the file (default True) import_textures: Import textures embedded in the file (default True)

Returns: JSON string with StructuredResult — outputs on success: { "success": true, "stage": "import_static_mesh", "outputs": { "asset_path": "/Game/Meshes/SM_Table", "asset_type": "StaticMesh", "poly_count": -1 }, "warnings": [], "errors": [], "log_tail": [] }

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#overview Example: import_static_mesh(file_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
combine_meshesNo
import_texturesNo
destination_pathNo/Game/Meshes/
import_materialsNo
generate_lightmap_uvsNo
auto_generate_collisionNo

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 behavioral burden and mostly carries it: it discloses the static-mesh import side effect, a format-specific caveat (glTF/GLB bypass FBX options), and the exact JSON return shape. It does not discuss duplicate-overwrite behavior or error cases, but the coverage is strong.

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 and organized into format, caveat, Args, Returns, KB, and Example sections. It is somewhat long but justifiable given seven parameters and no schema descriptions; the misleading example using a /Game path for file_path keeps it from a 5.

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 description includes supported formats, a per-format caveat, parameter semantics, and a concrete return contract, making it quite complete for an import tool. It lacks explicit notes on what happens when an asset at destination_path already exists, and the example conflicts with the file_path guidance.

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 property descriptions are absent (0% coverage), so the Args section fully compensates by explaining all seven parameters in plain language, including defaults and the OS-path vs Content-Browser-path distinction. This is substantial added meaning beyond the bare schema titles.

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?

Description states a specific verb+resource: 'Import a 3D model as a Static Mesh into UE5 Content Browser.' It also lists supported formats (FBX, OBJ, glTF, GLB) and the target asset type, which distinguishes it from sibling import tools like import_skeletal_mesh.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by the name and first sentence: static-mesh imports with common 3D formats. However, there is no explicit when-to-use-versus-alternatives guidance, no mention of prerequisites such as file existence, and no reference to import_skeletal_mesh or batch_import_folder.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_textureA

Import a texture file into UE5 Content Browser as a Texture2D asset.

Supports PNG, JPG/JPEG, TGA, EXR, HDR, and BMP formats. The file must already exist on the Windows machine running UE5.

When texture_type is "auto" (default) the correct compression settings and sRGB flag are inferred from the filename suffix: *_n / *_normal / *_nrm → TC_NORMALMAP, sRGB=False *_r / *_rough / *_m / *_metal *_ao / *_occlusion / *_orm *_mask → TC_MASKS, sRGB=False *_h / *_height / *_disp → TC_MASKS, sRGB=False *_e / *_emissive / *_emit → TC_DEFAULT, sRGB=True everything else (BaseColor…) → TC_DEFAULT, sRGB=True

Args: file_path: Absolute OS path on the UE5 Windows machine (e.g. "C:/Textures/T_Wood_BaseColor.png") destination_path: Content Browser folder (default "/Game/Textures/") texture_type: "auto" | "diffuse" | "normal" | "roughness" | "metallic" | "ao" | "emissive" | "height" | "default" Overrides filename-based detection when not "auto".

Returns: JSON string with StructuredResult — outputs on success: { "success": true, "stage": "import_texture", "outputs": { "asset_path": "/Game/Textures/T_Wood_BaseColor", "asset_type": "Texture2D", "texture_type": "BaseColor", "srgb": true, "compression": "TC_DEFAULT" }, "warnings": [], "errors": [], "log_tail": [] } failure: {"success": false, "stage": "import_texture", "errors": [""]}

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#overview Example: import_texture(file_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
texture_typeNoauto
destination_pathNo/Game/Textures/

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does so thoroughly: it discloses supported formats, the requirement that the file exist on the UE5 machine, the auto-detection rules, and the exact return JSON structure for success and failure. It even provides an example call, making the tool's behavior fully transparent.

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 long but well-structured with clear sections (intro, formats, auto-detection, Args, Returns, KB, Example). Every sentence adds meaningful information; the auto-detection mapping is essential and not redundant. The main purpose is front-loaded.

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?

The description covers everything an agent needs: supported formats, file existence requirement, auto-detection rules, parameter defaults, return format with both success and failure examples, and a KB reference. It is complete for a tool of this complexity, especially with an output schema present.

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?

Since schema coverage is 0%, the description must fully explain parameters. It does: file_path is an absolute OS path with example, destination_path has a default and explains Content Browser folder, and texture_type is described with the full list of allowed values and override behavior. The auto-detection mapping adds extra value 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?

The description explicitly states 'Import a texture file into UE5 Content Browser as a Texture2D asset' with supported formats, clearly distinguishing it from mesh/sound import siblings. It is a specific verb+resource statement that leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: file must exist on the Windows machine, and texture_type auto-detection logic is explained with filename suffix mappings. While it doesn't explicitly say 'use this for textures instead of import_static_mesh,' the scope is evident from the tool name and description, and the auto-detection guidance is detailed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_audio_feedback_reportA

Verify Insanitii generated SoundWave assets and the level audio feedback director wiring.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_audio_feedback_report()

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?

No annotations are present, so the description carries the behavioral burden. 'Verify' and the 'report' naming imply a read-only validation action, but the description does not explicitly state that no assets are modified or what side effects, if any, occur.

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 description is concise and front-loaded. The KB reference adds useful context, though the example line is redundant for a zero-parameter tool and could be omitted.

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 report with an output schema, the description adequately identifies the verification targets and points to relevant KB context. It could be more complete by explaining when to prefer it over sibling insanitii reports.

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 the description does not need to explain parameter behavior. With an empty input schema, there is no semantic gap to fill.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Verify') and clearly identifies what is verified: 'SoundWave assets' and 'level audio feedback director wiring'. This distinguishes it from sibling insanitii report tools that target different systems.

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 instead of the many sibling insanitii_*_report tools. The KB reference and example call provide context but do not state usage conditions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_manual_control_readiness_reportB

Launch PIE and verify possessed-player movement/look readiness for Insanitii.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#complete-command-reference Example: insanitii_manual_control_readiness_report(mode="play", wait_seconds=10.0, stop_after_probe=True)

This is not a replacement for human feel testing. It proves the slice has a possessed pawn, visible movement/look mappings, gameplay input components, no obvious cursor trap, movement input response, and control rotation response.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoplay
wait_secondsNo
include_dialogsNo
stop_after_probeNo

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?

There are no annotations, so the description carries the full burden of disclosing behavioral traits. It discloses what the tool verifies and its limitation relative to human testing, but it does not say whether PIE is left running, whether the report is blocking, or what side effects 'Launch PIE' causes despite stop_after_probe existing as a parameter.

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 main purpose, then uses a KB pointer, a concrete example, and a compact bullet-style list of verified properties. It is a little longer than necessary, but every section adds useful choice-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema presumably documents the report shape, and the description explains what the tool checks and its main limitation, so this is not a bare stub. However, with no annotations and no parameter semantics, the description still leaves important call-invocation gaps; the KB pointer helps but does not make the description self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only appears to explain parameters through a single example. It never states what mode values are valid, what wait_seconds controls, what include_dialogs does, or what stop_after_probe actually stops; include_dialogs is not even mentioned.

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 opens with a specific verb+resource: 'Launch PIE and verify possessed-player movement/look readiness for Insanitii,' and then enumerates the concrete checks performed (possessed pawn, movement/look mappings, gameplay input components, cursor trap, movement input response, control rotation response). This clearly separates it from the many other insanitii readiness reports 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its usage context (automated readiness proof) and explicitly says it is not a replacement for human feel testing, but it does not name alternative tools or state when another insanitii report should be used instead. The KB pointer hints at a broader command reference but does not provide the routing itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_phase1_readiness_reportA

Run the Insanitii Phase 1 smoke-readiness checklist against the open editor.

The report prefers native bridge routes added for project smoke testing, then falls back to read-only UE Python probes when the running editor has not yet reloaded the latest UnrealMCP plugin binary.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_phase1_readiness_report()

ParametersJSON Schema
NameRequiredDescriptionDefault
include_dialogsNo

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?

The description discloses useful runtime behavior: it prefers native bridge routes and falls back to read-only UE Python probes when the editor has not reloaded the latest UnrealMCP plugin binary. Since no annotations are present, the description bears the full safety-disclosure burden, but it only explicitly labels the UE Python fallback as read-only and does not state whether the overall report can produce side effects or interfere with open dialogs.

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 compact and front-loaded with the core action in the first sentence. The fallback explanation adds valuable context without excess. The KB path and zero-argument example are somewhat redundant for a no-required-parameter tool, so it is not a perfect 5, but every remaining sentence 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?

The presence of an output schema covers return-value expectations, and the description gives enough high-level behavior for an agent to attempt the call. However, the single parameter is unexplained and the description does not provide any guidance among the many Insanitii report siblings. The KB pointer helps a little but does not close the gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions the only parameter, include_dialogs. The parameter name and default value hint that dialogs may be included or affected, but the agent cannot determine what 'include_dialogs' controls, whether it suppresses UI, or what behavior it triggers. The description was expected to compensate for the low schema coverage and 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?

The first sentence is a specific verb+resource statement: run the 'Insanitii Phase 1 smoke-readiness checklist' against the open editor. The 'Phase 1' and 'smoke-readiness' qualifiers clearly separate this from sibling Insanitii reports such as phase2_lifestyle_report, manual_control_readiness_report, and player_station_interaction_route_report.

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 context is implied by the tool name and first sentence ('Phase 1 smoke-readiness'), so an agent can infer when it is relevant. However, the description does not explicitly say when to choose this over sibling Insanitii reports, nor does it state exclusions or prerequisites. The preference/fallback paragraph describes internal execution behavior, not tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_phase2_lifestyle_reportB

Run the Insanitii Phase 2 lifestyle-framework readiness checklist.

This smoke workflow verifies that the native time, economy, and lifestyle manager classes are visible to the editor, the Blueprint wrapper exists, the manager actor is placed, and the manager can generate daily job options for the current lifestyle.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_phase2_lifestyle_report()

ParametersJSON Schema
NameRequiredDescriptionDefault
include_dialogsNo

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 must carry the full burden. It does disclose the specific checks the tool performs, giving a good overview of behavior. However, it does not state whether any state is modified, whether it is safe/read-only, or how the include_dialogs parameter affects execution. The word 'verifies' implies read-only but is not explicit.

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 efficient and well-structured: a clear purpose statement, a bullet-like list of verification points, a KB reference, and an example. Every sentence contributes to understanding and there is no redundant elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a single optional parameter)Skip, an output schema, and a KB reference, which reduces the need for return-value documentation. However, the include_dialogs parameter is unexplained, and there is no guidance on how this readiness report relates to the other phase-specific reports. These gaps leave part of the invocation context incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, include_dialogs, has zero schema description coverage, and the description never mentions it. The example call with no arguments hints that it is optional, but its meaning and effect remain completely opaque. The description fails to compensate for the schema's lack of documentation.

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 ('Run') and a resource ('Insanitii Phase 2 lifestyle-framework readiness checklist'), then enumerates concrete verification targets (manager classes visibility, Blueprint wrapper existence, actor placement, job generation). This clearly distinguishes it from sibling readiness reports like phase1, manual control, or world reactivity.

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 identifies the tool as a smoke workflow for readiness checking, which implies its context. However, it does not explicitly state when to use this tool over other readiness reports, nor does it give any exclusions or alternative conditions. The KB reference points to broader documentation, but the description alone leaves the when-to-use decision partially to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_phase3_objective_reportC

Run the Insanitii Phase 3 objective-loop readiness checklist.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_phase3_objective_report()

ParametersJSON Schema
NameRequiredDescriptionDefault
include_dialogsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/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 disclosing behavioral traits. It only says 'Run the checklist' without indicating side effects, whether it is read-only, how it behaves with the include_dialogs parameter, or what the output schema contains. The output schema exists but is not described, leaving agents uninformed about the tool's effects and return format.

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 very short, consisting of one sentence plus a KB reference and an example call. This is appropriately concise for a simple report tool, and the example provides a clear invocation pattern. However, the structure could be improved by integrating the parameter explanation and usage context, making it slightly under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the environment with numerous insanitii report tools, this description is incomplete. It does not explain what the checklist entails, when to run it, or how it differs from other phase reports. The output schema is present but unexplained, and the parameter is undocumented. An agent would struggle to decide when to invoke this tool and how to set include_dialogs correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning the parameter include_dialogs has no description in the schema. The tool description does not mention this parameter at all, providing no additional meaning beyond the raw type (boolean) and default (true). This is a significant gap because agents cannot understand what 'include_dialogs' controls.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Run' and the resource 'Insanitii Phase 3 objective-loop readiness checklist,' which is specific and distinguishes it from other phase reports. However, it does not explicitly state what 'running' entails (e.g., generating a report) or what the output is, leaving some ambiguity about the tool's primary function.

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 offers no guidance on when to use this tool versus its siblings like insanitii_phase1_readiness_report or insanitii_phase3_pie_runtime_report. It does not mention any prerequisites, context, or scenarios where this checklist is appropriate. The KB reference 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.

insanitii_phase3_pie_runtime_reportC

Launch PIE, probe Insanitii runtime systems, optionally exercise the Day 1 loop, and stop PIE.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_phase3_pie_runtime_report()

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoplay
wait_secondsNo
exercise_loopNo
include_dialogsNo
stop_after_probeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full burden, and it does disclose the stateful lifecycle: it launches PIE, optionally runs the Day 1 loop, and stops PIE — signaling a side-effectful, resource-heavy operation rather than a passive read. However, it omits key behavioral traits: interaction with an already-running PIE session, whether world/save state is mutated by the Day 1 loop, expected duration (wait_seconds suggests a sleep), and behavior when things fail. The start/stop chain is disclosed, but the deeper behavioral surface is not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the primary behavior is stated in the first sentence, followed by a KB reference and a minimal no-arg example. Every element earns its place and there is no filler. It is properly concise rather than merely short, so it earns a 4; the KB link format is slightly cryptic and the example is trivial, keeping it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-step operation that launches a live game session, probes runtime systems, and exercises a gameplay loop — with zero annotations and zero parameter descriptions — the description is not complete enough. It leaves undefined what 'probe' evaluates, what the Day 1 loop is, what mode/include_dialogs control, and how the tool behaves if a PIE session already exists. The presence of an output schema covers return values, but the operational context an agent needs before invoking a stateful runtime tool is largely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it barely does. The narrative maps loosely to two parameters: 'optionally exercise the Day 1 loop' hints at exercise_loop and 'stop PIE' aligns with stop_after_probe. But mode (what values besides 'play' exist?), wait_seconds (wait for what?), and include_dialogs (which dialogs?) receive zero explanation in either the schema or the description. With five parameters and no descriptions anywhere, this is a significant 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?

The description states a concrete multi-step operation with specific verbs and resources: 'Launch PIE, probe Insanitii runtime systems, optionally exercise the Day 1 loop, and stop PIE.' This distinguishes it from sibling reports like insanitii_phase1_readiness_report or insanitii_phase3_objective_report, which are clearly not PIE-based runtime probes. It is not a 5 because 'Insanitii runtime systems' and 'Day 1 loop' are unexplained jargon; the agent must rely on the KB pointer to understand what is actually being probed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention the lower-level pie_launch_session / pie_stop_session / pie_capture_log siblings, nor the other insanitii_*_report tools, nor any conditions that would select this tool over them. The KB pointer ('see knowledge_base/10_WORLD_BUILDING.md#overview') is a background reference, not a usage gate. The usage context is only weakly implied by the tool name and the example invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_place_day1_set_dressingC

Place readable Day 1 prototype set dressing in small UE Python chunks.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_place_day1_set_dressing()

ParametersJSON Schema
NameRequiredDescriptionDefault
load_levelNo
save_levelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/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 itself. It only says 'in small UE Python chunks', which hints at execution but does not explain side effects, whether it modifies the level, how load_level/save_level parameters affect behavior, or what output to expect. The example call is terse and offers no behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief—only two sentences plus an example—but this brevity is under-specification rather than efficient conciseness. It lacks structure, no headings, no parameter explanations, and the KB reference is a vague pointer. The example is helpful but minimal. It does not earn its place because it omits essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that places set dressing in UE, the description is severely incomplete. It does not explain what 'readable set dressing' means, what 'small UE Python chunks' entails, how the parameters affect operation, or what the output schema contains. The KB link might provide more, but it is not inline and the description itself is insufficient for an agent to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate for the two boolean parameters (load_level, save_level). The description does not mention these parameters at all, leaving their meaning and impact completely undocumented. This is a critical gap given the parameters likely control level loading and saving behavior.

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 ('Place') and resource ('readable Day 1 prototype set dressing') with a specific scope ('small UE Python chunks'). It is distinguishable from sibling tools like the many insanitii_* reporting tools, as this one is an action. However, it does not explicitly contrast with other placement tools or mention its unique role among the insanitii_* family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It mentions 'Day 1 prototype' and provides an example call, but does not state prerequisites, when to prefer it over other set dressing tools, or any exclusions. The KB reference is a pointer but not direct usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_place_ordinary_errand_stationsC

Place Insanitii ordinary-errand stations using small, crash-resistant UE Python chunks.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_place_ordinary_errand_stations()

ParametersJSON Schema
NameRequiredDescriptionDefault
load_levelNo
save_levelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/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 mentions 'crash-resistant' behavior and placement, but it does not disclose side effects such as level loading/saving, mutation of the world, or any risks despite the load_level and save_level parameters implying significant behavior. This is a meaningful gap 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 compact and front-loads the core action. The KB reference and example both add practical value without excessive length, though the phrase 'small, crash-resistant UE Python chunks' is vague and could be more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a placement tool with two boolean parameters, no annotations, and no parameter documentation, the description is incomplete. It does not explain what ordinary-errand stations are, what load_level/save_level do, or what the expected outcome is. The output schema helps but cannot compensate for missing usage and parameter context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the two parameters, load_level and save_level, at all. The example call with no arguments implies defaults are acceptable, but the agent gets no help understanding what these booleans control or when to override them.

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 and resource: 'Place Insanitii ordinary-errand stations.' It states the implementation style ('small, crash-resistant UE Python chunks'), which helps set expectations. However, it does not differentiate from sibling placement tools like insanitii_place_day1_set_dressing, so it is clear but not fully distinguishing.

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 a knowledge-base reference and an example call, but it never states when to use this tool versus alternatives, nor any prerequisites or workflow context. There is no explicit guidance on when placing ordinary-errand stations is appropriate or how it fits into the broader Insanitii pipeline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_player_station_interaction_route_reportB

Launch PIE and verify player-view interaction traces for every Day 1 task station.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#complete-command-reference Example: insanitii_player_station_interaction_route_report(mode="play", wait_seconds=10.0, stop_after_probe=True)

This proves the possessed first-person pawn can be placed at each station approach, look through its camera at the Tripo-backed station mesh, resolve the station through the same visibility trace shape the detector uses, and complete through UInsanitiiInteractionDetectorComponent::AttemptInteract.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoplay
wait_secondsNo
include_dialogsNo
stop_after_probeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 the tool launches PIE, places the pawn, and runs through an interaction attempt, and the example hints at wait and stop behavior. But it does not disclose potential side effects of actually invoking AttemptInteract, whether PIE is left running, or what the report output contains.

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 opening sentence is a crisp purpose statement, followed by a KB pointer, a concrete call example, and a short technical rationale. It is slightly verbose in the final paragraph, but every sentence adds context about what the verification actually proves.

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 output schema likely covers return values, but the description does not compensate for the 0% parameter documentation or the lack of side-effect disclosure. For a tool that launches PIE and executes gameplay interactions, missing parameter semantics and explicit usage boundaries makes it incomplete for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the tool description does not explain any of the four parameters. It gives an example with mode, wait_seconds, and stop_after_probe, but never defines them or mentions include_dialogs. This leaves a significant gap for an agent selecting parameter values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific action—'Launch PIE and verify player-view interaction traces for every Day 1 task station'—so the tool's function is immediately clear. It does not explicitly differentiate itself from sibling insanitii_* reports, but the scope ('every Day 1 task station') is specific enough to be useful.

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 when to use it: to prove the first-person pawn can interact with each Day 1 station through the detector's visibility trace. However, it never states when not to use it or names alternatives (e.g., other insanitii reports), leaving the agent to infer the choice from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_save_load_reportB

Verify the Insanitii demo save/load skeleton restores day, cash, and mental state in PIE.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_save_load_report()

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoplay
wait_secondsNo
stop_after_probeNo

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?

With no annotations, the description carries the full behavioral burden, but it only says 'Verify' in PIE. It does not disclose that the tool likely launches/stops a PIE session according to wait_seconds and stop_after_probe, whether it mutates or saves state, or what side effects the probe may have.

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, front-loaded with the core purpose, and includes a useful KB reference. The example line is slightly redundant with the function name but harmless; no filler or unnecessary detail exists.

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 description names what is verified and points to a KB section, and an output schema exists to describe results. However, with no annotations and no parameter semantics, an agent cannot fully understand how to invoke the tool beyond calling it with defaults or know when it should be used over sibling reports.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanations for mode, wait_seconds, or stop_after_probe. The example call uses no arguments, so an agent cannot tell what values are meaningful or how each parameter affects the verification.

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 ('Verify') and a specific resource ('the Insanitii demo save/load skeleton') with exact restore fields ('day, cash, and mental state') and environment ('PIE'). This clearly differentiates the tool from the many other insanitii_*_report siblings by its save/load focus, even though no alternative is named explicitly.

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 when to use the tool: when verifying save/load restoration in PIE. However, it gives no explicit guidance about when not to use it or which sibling report to prefer instead, such as insanitii_phase3_pie_runtime_report or insanitii_world_reactivity_report.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insanitii_world_reactivity_reportB

Verify Insanitii Day 1 reactive world actor tagging and director wiring.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: insanitii_world_reactivity_report()

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 full burden. 'Verify' plus the 'report' suffix reasonably imply a read-only, non-mutating operation, and the zero-argument example reinforces that. However, nothing is stated about side effects, the nature of the returned report, or any external state it reads. With zero annotation coverage, the description should disclose more than it does.

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 compact: a single purpose sentence, a KB reference, and a working example. The example is genuinely useful for a zero-arg tool since it demonstrates invocation syntax. The KB line ('KB: see knowledge_base/10_WORLD_BUILDING.md#overview') is slightly cryptic as a bare path without context, but it does not waste words. Minor deduction for the obscure KB formatting.

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, report-style verification tool that has an output schema, the description covers the essentials: what is verified, where to find supporting knowledge, and how to invoke it. The output schema presumably documents the return format, so the description need not repeat it. Adequate for a no-arg report, though the KB reference and the meaning of 'director wiring' could be more explicit.

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 the baseline is 4 per the rubric. The description confirms the zero-arg invocation with an explicit example call (insanitii_world_reactivity_report()). There is nothing further the description needs to explain about parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Verify') and a specific resource ('Insanitii Day 1 reactive world actor tagging and director wiring'), which clearly distinguishes it from the many other insanitii_* report tools in the sibling list (e.g., audio_feedback, phase1_readiness, save_load). The terminology is somewhat project-specific jargon, but the KB pointer helps resolve that. Loses a point because the purpose relies on understanding internal concepts rather than being self-contained.

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 invoke this tool versus the sibling insanitii_* reports. It never states conditions, exclusions, or alternatives. The verification intent is implied by 'Verify' and the report suffix, but no explicit selection criteria are given. Among ~10 sibling insanitii report tools, this is a notable gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insert_anim_graph_slotA

Insert a Slot node on the main AnimGraph between the current pose chain and Root.

Use this so PlaySlotAnimationAsDynamicMontage / montages targeting the same slot name layer aim and fire animations over locomotion from the state machine.

Args: anim_blueprint_name: AnimBP asset path or name (e.g. ABP_SithSoldier or full /Game/... path) slot_name: Anim slot name (default DefaultSlot — must match montage slot / blueprint calls) graph_name: Optional graph name; defaults to AnimGraph

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: insert_anim_graph_slot(anim_blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
slot_nameNoDefaultSlot
graph_nameNo
anim_blueprint_nameYes

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?

No annotations are provided, so the description must carry the behavioral disclosure burden. It does explain the insertion target and intended montage behavior, but it does not disclose side effects such as whether the AnimBP is compiled, whether existing slot nodes are affected, or what happens if the named graph does not 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?

The description is well-organized and front-loaded with the core purpose, followed by usage context, parameter details, a KB pointer, and an example. It is efficient overall, though the KB pointer and example are slightly redundant with the prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return-value documentation is not required. The description covers the main action, parameter semantics, and a practical example. Missing details are preconditions and failure behavior, which would improve completeness for a mutating graph-editing tool with no annotations.

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%, and the description fully compensates by explaining each parameter: asset path/name semantics, slot_name default and matching requirement, and graph_name defaulting behavior. This adds substantial value over 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?

The description states a specific verb and resource: 'Insert a Slot node on the main AnimGraph between the current pose chain and Root.' This precisely identifies what the tool does and is distinct from sibling animation-graph tools like insert_blend_bool_fire_before_slot and add_animation_state.

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 explicitly explains when to use the tool: 'Use this so PlaySlotAnimationAsDynamicMontage / montages targeting the same slot name layer aim and fire animations over locomotion from the state machine.' It defines a clear use case but does not mention when not to use it or name alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insert_blend_bool_fire_before_slotA

Insert Blend List By Bool + Sequence Player between locomotion and the AnimGraph Slot (requires insert_anim_graph_slot first: Root ← Slot ← …).

Locomotion feeds the false branch; sequence_asset (e.g. fire rifle) feeds the true branch. bind_bool_variable (default bIsShooting) auto-binds Active Value when the editor plugin supports it. force_insert=True layers a NEW BlendListByBool above an existing one (chain multiple gates, e.g. bIsInAir → jump on top of bIsShooting → fire). Default rebinds the existing node instead.

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: insert_blend_bool_fire_before_slot(anim_blueprint_name="/Game/MCP_Test/BP_Example", sequence_asset="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
graph_nameNo
force_insertNo
sequence_assetYes
bind_bool_variableNobIsShooting
anim_blueprint_nameYes
swap_blend_pose_orderNo

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 provided, the description carries the full burden. It discloses key behaviors: the auto-binding of bind_bool_variable when supported, the difference between force_insert (layers new node) and default (rebinds existing), and the branch feeding. It also notes the prerequisite for insert_anim_graph_slot. However, it does not mention potential side effects like compilation, reversibility, or failure modes, which would strengthen transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured with formatting (bold, code, example). It front-loads the main purpose, then provides prerequisites, parameter behavior, and a concrete example. Every sentence adds useful information, though it could be slightly tightened. The use of a KB reference and example is effective for an expert audience.

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 complexity and absence of annotations, the description covers the main usage, prerequisites, and key parameter behaviors. It references a knowledge base for further context. However, the omission of two parameters and lack of error/edge-case information makes it incomplete. The presence of an output schema mitigates the need to describe return values, but the parameter gaps remain a weakness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must document all parameters. It explains sequence_asset (feeds true branch), bind_bool_variable (default bIsShooting, auto-binds), and force_insert (layers new node). However, graph_name and swap_blend_pose_order are entirely unexplained, and anim_blueprint_name is only shown in the example. This is a significant gap given the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: inserts a Blend List By Bool and Sequence Player between locomotion and the AnimGraph Slot. It names the specific components and the required target location, distinguishing it from generic node insertion tools. The prerequisite reference to insert_anim_graph_slot further clarifies its specific role in the animation graph pipeline.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit prerequisites (requires insert_anim_graph_slot first) and explains the intended flow (locomotion to false branch, sequence_asset to true branch). It explains the behavior of force_insert for chaining gates, but does not explicitly mention alternative tools or when not to use this tool. The context is sufficient for a domain expert to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_input_mapping_contextB

Inspect an Enhanced Input Mapping Context and return action/key mappings.

KB: see knowledge_base/15_INPUT_SYSTEM_AND_UMG.md#overview Example: inspect_input_mapping_context(imc_path_or_name="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
imc_path_or_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 exist, so the description carries the behavioral transparency burden. 'Inspect' implies read-only behavior and the return value is stated, but it does not explicitly confirm non-mutation, error behavior, or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with a clear purpose statement followed by a KB pointer and one useful example. No filler is present, though the KB link is somewhat ancillary.

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 one-parameter tool with an output schema, the description covers the primary task and parameter usage adequately. Missing usage guidance and explicit behavioral guarantees are gaps, but they are not critical for basic tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the parameter name 'imc_path_or_name' and the example '/Game/MCP_Test/Example' clarify that the tool accepts an asset path or name. Deeper semantics like name resolution rules or valid path formats are not explained.

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?

Description uses a specific verb ('Inspect') and resource ('Enhanced Input Mapping Context') and clearly states the output ('action/key mappings'). This distinguishes it from creation/setup siblings like create_input_mapping_context and add_input_mapping, 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?

No when-to-use guidance or exclusions are provided. The example and KB link illustrate invocation but do not explain when this tool should be chosen over alternatives such as the create/add input-mapping tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_static_mesh_sectionsA

Inspect one static mesh's original material and render sections.

KB: see knowledge_base/22_GEOMETRY_SCRIPT_AND_MODELING.md#working-example

Example: inspect_static_mesh_sections(asset_path="/Game/Props/SM_Console", lod_index=0)

This is a bounded read-only native bridge operation. It accepts only a project asset below /Game/ and never saves, modifies, or exports the mesh. Polygon-group names preserve imported material-section identity needed for DCC round trips and material-family classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
lod_indexNo
asset_pathYes
max_sectionsNo

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 provided, the description carries the full burden of behavioral disclosure. It explicitly states it is read-only, never saves, modifies, or exports the mesh, and explains that polygon-group names preserve material-section identity. This is strong transparency for a simple read operation, though it omits error-handling details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it leads with the purpose, references a knowledge base, gives a concrete example, and then explains safety and output semantics. It is reasonably concise and front-loaded, though the behavioral paragraph could be trimmed without losing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose, safety, and an example, and the output schema presumably documents return values. However, it fails to explain the parameters, which are undocumented in the schema. This incompleteness makes it adequate but not comprehensive for an agent to use all parameters correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero description coverage for its three parameters. The description does not explain the meaning of lod_index or max_sections, only providing an example with lod_index=0. This leaves the agent without adequate understanding of the parameters, which is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Inspect'), the resource ('one static mesh'), and the specific objects ('original material and render sections'). It differentiates from sibling inspection tools by specifying exactly what is inspected and by noting it is read-only. The example reinforces the usage, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it is a bounded read-only operation, only accepts project assets below /Game/, and never modifies or exports the mesh. This implies when to use (for inspection without side effects) but does not explicitly name alternatives or state when not to use it. It gives enough guidance for typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_available_toolsA

List available MCP tools by domain/category using tool_inventory_categories.json.

Pass a category such as blueprint_graph, ui_umg, asset_import, or a friendly domain alias such as blueprints, generative, multiplayer, gas, or world_building.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#complete-command-reference

Example: list_available_tools()

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoall

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?

Annotations are absent, so the description carries the full burden of behavioral disclosure. It does reveal the data source (tool_inventory_categories.json), which is useful, but it never explicitly states that this is a read-only, side-effect-free operation, nor does it describe error behavior, alias completeness, or whether categories are case-sensitive. More behavioral context was needed given 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 compact and front-loaded with the core purpose. Every section earns its place: purpose sentence, category/alias guidance, KB pointer, and a minimal example. There is no filler or repetition of schema content that isn't already useful.

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 low-complexity (one optional parameter), an output schema exists so return values are already documented, and the schema defines the 'all' default. The description covers what is missing from structured fields: valid values, aliases, and a usage example. The remaining gap—failure behavior for invalid domains—is minor and partially mitigated by the KB reference.

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 fully compensates by explaining the 'domain' parameter in practical terms: it lists canonical category values (blueprint_graph, ui_umg, asset_import), friendly aliases (blueprints, generative, multiplayer, gas, world_building), and shows usage via an example. It doesn't enumerate every possible category, but the KB pointer covers that 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?

The description states a specific verb and resource ('List available MCP tools') with a qualifying mechanism ('by domain/category using tool_inventory_categories.json'). It gives concrete canonical categories and friendly aliases, which differentiates it conceptually from sibling tools like list_toolsets or ghostrigger_list_mcp_tools, but it never explicitly names an alternative or says what it is not.

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 concretely: pass a category or friendly alias, with an example call and a KB reference for the complete command reference. However, there is no guidance on when NOT to use this tool, no mention of alternatives such as list_toolsets/describe_toolset, and no statement about what happens if an invalid or unknown domain is passed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_bridge_toolsetsC

List TCP bridge command categories as Toolset-like descriptors.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
categoryNo
registry_pathNo
response_formatNotext

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are completely absent, so the description must carry the full behavioral burden. The description only says 'List', which implies a read-only operation, but it does not explicitly state that there are no side effects, whether network access or a running bridge is required, or how the output is structured beyond the output schema. This is insufficient for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words, but it is under-specified. Conciseness alone does not make it useful; it lacks essential details about parameters and usage. The structure is acceptable, but the content is too sparse to earn a higher score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 optional parameters and no annotations, the description is drastically incomplete. It does not define 'TCP bridge command categories' or 'Toolset-like descriptors', nor does it hint at how filters or response formats work. Even though an output schema exists, the description should clarify the tool's purpose and parameter effects to be minimally usable. It falls far short.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description makes no mention of the four optional parameters (status, category, registry_path, response_format). Since the schema only provides titles and defaults, and the description adds nothing, the agent has no idea how these parameters affect the listing. The description completely fails to compensate for the schema's lack of explanations.

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 action ('List') and a precise resource ('TCP bridge command categories'), with a clear output format ('Toolset-like descriptors'). It distinguishes from generic listing tools like list_toolsets by explicitly scoping to TCP bridge categories, though it doesn't contrast with siblings like describe_bridge_toolset or search_bridge_commands.

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. Siblings such as describe_bridge_toolset, search_bridge_commands, and call_bridge_command exist, but the description does not indicate which scenario each is appropriate for. The agent is left to infer that this lists categories rather than executing commands.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_knowledge_base_topicsA

List all available knowledge base topics.

Returns an index of every topic you can query with get_knowledge_base(). Call this first if you are unsure which topic covers the system you need.

MANDATORY: Query the knowledge base before implementing any UE5 system.

KB: see knowledge_base/00_AGENT_KNOWLEDGE_BASE.md#overview Example: list_knowledge_base_topics()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It is transparent about being a read-only listing operation by explaining it 'Returns an index of every topic' and referencing the companion get_knowledge_base() call. It does not explicitly state that it modifies nothing, but the list/return framing makes the non-destructive behavior clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the primary purpose. Every section adds value: the return behavior, the usage guidance, the mandatory rule, the KB reference, and the example call. There is no filler or repeated schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter listing tool, the description is complete. It explains what the tool returns, when to use it, why it matters, and where to find additional KB context. Since an output schema exists, the return format does not need to be restated in prose.

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 the schema already fully describes the call signature. The description reinforces this with an example call using no arguments, which is sufficient context for an agent to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all available knowledge base topics') and the resource ('knowledge base topics'). It also clarifies that it returns an index of every topic queryable via get_knowledge_base(), which distinguishes it from the related sibling tool without needing to inspect schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance: call this first when unsure which topic covers the system you need. It also adds a MANDATORY rule to query the knowledge base before implementing any UE5 system, giving the agent a clear decision rule for when this tool is relevant.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_toolsetsB

List Unreal MCP toolsets with optional text/category/status filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
categoryNo
filter_textNo
response_formatNotext

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 burden of behavioral disclosure. 'List' implies a non-destructive read operation and the optional filters are disclosed, but no detail is given about how filters interact, what response_format controls, or any listing limits. This is adequate for a simple list tool but not especially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no filler. The verb and resource are front-loaded, and the filter options are stated compactly at the end, making it easy for the agent to parse quickly.

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?

This is a fairly simple list tool with an output schema, so return-value details do not need to be in the description. However, the description lacks usage guidance, omits response_format semantics, and does not distinguish this tool from sibling toolset/tool listing tools. It is minimally viable but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It maps three of the four parameters (filter_text, category, status) to 'filters' and clarifies they are optional, which adds some meaning beyond bare parameter names. However, response_format is not mentioned at all, and filter value semantics/combination behavior are unspecified.

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 action ('List') and a resource ('Unreal MCP toolsets'), and adds the key point that text/category/status filters are optional. This is clear and tied to the tool name, though it does not explicitly differentiate this tool from siblings like list_bridge_toolsets or list_available_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?

No guidance is given about when to use this tool versus alternatives such as list_bridge_toolsets, list_available_tools, or describe_toolset. The description states what the tool does but not when it should be preferred, nor does it mention 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.

make_actor_vr_grabbableB

Make a Blueprint Actor grabbable in VR by adding a GrabComponent.

From Ch. 16: To make any Actor grabbable, add GrabComponent and set Mobility to Movable on the root mesh. The VRPawn's InputAction GrabLeft/Right uses a sphere trace near the motion controller to find GrabComponents.

Args: blueprint_name: Blueprint to make grabbable grab_type: Grab type ("Free", "Snap", "None", "Custom") grab_component_name: Name for the GrabComponent simulate_physics: Enable physics simulation for realistic grabbing

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: make_actor_vr_grabbable(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
grab_typeNoFree
blueprint_nameYes
simulate_physicsNo
grab_component_nameNoGrabComponent

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 disclosure burden. It clearly reveals the mutation (adds a GrabComponent) and mentions the Mobility-to-Movable requirement. However, it does not state what happens to an existing GrabComponent, whether the blueprint is compiled or saved, or failure behavior. This is adequate but incomplete for a blueprint-modifying 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 well-structured: purpose, background, Args, KB pointer, and example. Nothing is wasteful, though the 'From Ch. 16' background is helpful context rather than strictly invocation-critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an additive mutation with an output schema, the description covers purpose, all parameters, and points to a KB reference. Missing pieces are prerequisites such as the need for a root mesh, behavior on name collisions with existing components, and post-conditions like compilation or saving. These are relevant for an agent modifying a Blueprint 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?

The schema has 0% description coverage, but the Args block compensates by explaining all four parameters, including enum values for grab_type and a concrete example. It adds real meaning beyond the bare schema, though blueprint_name path syntax could be more precise.

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 and resource: 'Make a Blueprint Actor grabbable in VR by adding a GrabComponent.' It clearly explains what the tool does. It does not explicitly distinguish itself from the sibling create_grab_component, so it misses the top bar for 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 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 like create_grab_component, or when not to use it. The VRPawn sphere trace context explains why the tool exists but does not help an agent choose between this and related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mass_add_traitA

Add a trait class to a MassEntity config asset.

Args: config_asset: MassEntity config asset path or object path. trait_class: MassEntity trait class, short name or /Script path. save: Save the asset after mutation.

Returns: Structured JSON with the added trait and updated trait list.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: mass_add_trait(config_asset="/Game/Mass/EntityConfigs/EC_CrowdAgent", trait_class="MassLODTrait")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
trait_classYes
config_assetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 does disclose that this is a mutating operation, that saving occurs based on the save parameter, and that structured JSON is returned. However, it does not mention validation behavior, duplicate handling, failure modes, or what happens when the config asset does not 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?

The description is well-structured, front-loaded with the core purpose, and followed by concise Args, Returns, KB, and Example sections. Every section earns its place, though the Args formatting could be more compact without losing clarity.

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 mutating tool, the description covers the call signature, parameter formats, save behavior, return value, a KB reference, and a concrete example. It does not cover prerequisite conditions or error handling, but the output schema and example reduce the missing context to a minor gap.

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 explain the parameters, and it does so thoroughly: config_asset accepts a path or object path, trait_class accepts a short name or /Script path, and save controls persistence after mutation. This adds meaningful semantic value beyond the raw schema 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 first sentence states a specific verb and resource: 'Add a trait class to a MassEntity config asset.' This clearly distinguishes it from sibling tools like mass_create_entity_config and mass_inspect_entity_config, which create or inspect configs rather than mutating them by adding a trait.

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 when to use the tool through its wording, args, and example, but it does not explicitly state when to choose this over alternatives or provide any exclusions. The KB reference and example give helpful context, but there is no explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mass_create_entity_configA

Create a MassEntity config asset and optionally seed trait classes.

Args: name: Asset name to create. path: Content Browser folder under /Game. parent_config: Optional parent MassEntity config asset path. traits: Optional MassEntity trait classes, short names or /Script paths. overwrite: Delete an existing asset before creation. save: Save the asset package after creation.

Returns: Structured JSON with asset path, trait list, and config GUID.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: mass_create_entity_config(name="EC_CrowdAgent", traits=["MassAssortedFragmentsTrait"])

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Mass/EntityConfigs
saveNo
traitsNo
overwriteNo
parent_configNo

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 provided, the description carries the full burden of behavioral disclosure. It reveals non-obvious side effects: 'overwrite: Delete an existing asset before creation' and 'save: Save the asset package after creation.' It also states the return shape as 'Structured JSON with asset path, trait list, and config GUID.' It does not cover failure behavior when the asset exists and overwrite is false, but the core side effects are transparent.

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 well-structured and appropriately sized for a 6-parameter tool. It front-loads a one-sentence summary, then gives an Args block, Returns, KB pointer, and a concrete example. Every section serves a purpose, especially the example showing 'mass_create_entity_config(name="EC_CrowdAgent", traits=["MassAssortedFragmentsTrait"])'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the input schema, output schema, and this detailed description, an agent has nearly everything needed to call the tool correctly. All parameters are semantically covered, the return format is stated, and an example is present. The main gap is the unspecified behavior when an asset already exists and overwrite=false, which is a minor omission.

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 does so effectively by explaining each parameter: traits accept 'short names or /Script paths', overwrite means deleting an existing asset, path is 'under /Game', and parent_config is an optional path. This adds meaning beyond the bare schema and gives an agent enough to invoke correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Create a MassEntity config asset and optionally seed trait classes.' This clearly identifies the tool's purpose and distinguishes it semantically from sibling tools like mass_add_trait (which modifies an existing config) and mass_inspect_entity_config (which reads config). However, it does not explicitly name or reference these alternatives, so differentiation is clear but not 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?

The description provides no explicit guidance on when to use this tool versus alternatives such as mass_add_trait or mass_inspect_entity_config. Usage must be inferred from the verb 'Create' and the parameter list. There are no context cues, exclusions, or conditional recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mass_inspect_entity_configA

Inspect traits, parent config, and optional validation for a MassEntity config.

Args: config_asset: MassEntity config asset path or object path. validate: Validate the entity template against the editor world when available.

Returns: Structured JSON with trait details, parent path, and validation status.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: mass_inspect_entity_config(config_asset="/Game/Mass/EntityConfigs/EC_CrowdAgent", validate=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
validateNo
config_assetYes

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?

Annotations are absent, so the description must carry the behavioral burden. It discloses that validation is optional and conditional ('when available'), and states the return format (structured JSON). However, it does not explicitly declare the operation as read-only or describe side effects (e.g., whether validation can alter state). This is an implied non-destructive inspect, but not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a summary, args, returns, KB reference, and example. It is concise and front-loaded with the core purpose. The example repeats some arg details but adds a concrete use case. 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?

Given that an output schema exists (though not shown), the description does not need to detail return fields. It covers the essential inputs, explains the return structure, includes a KB pointer, and provides a full example. It is adequate for an inspection tool with only two parameters and no side-effect complexity.

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 compensate. It explains both parameters: config_asset as 'MassEntity config asset path or object path' and validate as 'Validate the entity template against the editor world when available.' This adds meaningful context beyond type/name in the schema, clarifying semantics and expected usage.

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 opens with a clear verb+resource+scope: 'Inspect traits, parent config, and optional validation for a MassEntity config.' This precisely states what the tool does and what it covers. It distinguishes itself from sibling tools like mass_create_entity_config (creation) and mass_add_trait (modification) by being an inspection operation.

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. It does not mention exclusions, prerequisites, or when a different inspection tool (e.g., statetree_inspect) might be more appropriate. The example shows usage but does not contextualize selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mat_add_expressionA

Add a material expression (node) to a Material asset.

Common expression_type values: Texture — TextureSample (provide texture_path in params) Multiply — Multiply two inputs Add — Add two inputs Lerp — Linear interpolation Constant — Single float constant (provide value in params) Constant3 — RGB vector constant (provide r,g,b in params) Constant4 — RGBA vector constant (provide r,g,b,a in params) Param_Scalar — Scalar parameter (provide param_name in params) Param_Vector — Vector parameter (provide param_name in params) Param_Texture — Texture parameter (provide param_name in params) Fresnel — Fresnel effect CheapContrast — Cheap contrast adjustment Desaturation — Desaturation OneMinus — 1 - input VertexColor — Vertex color input WorldPosition — World position

expression_params (JSON object): texture_path: str — For TextureSample/Param_Texture param_name: str — For Param_* expressions value: float — For Constant r,g,b,a: float — For Constant3/Constant4

Args: material_path: Full asset path (e.g. '/Game/Materials/M_Rock') expression_type: Expression class short name (see above) position_x: Canvas X position. Default 0. position_y: Canvas Y position. Default 0. expression_params: JSON object of expression-specific params.

Returns: JSON StructuredResult. outputs.expression_index — Index for use in mat_connect_expressions outputs.expression_name — Object name of the created expression

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: mat_add_expression(material_path="/Game/MCP_Test/M_Example", expression_type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
position_xNo
position_yNo
material_pathYes
expression_typeYes
expression_paramsNo

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 provided, the description carries the behavioral disclosure burden. It clearly states that the operation creates a node on a Material asset and explicitly documents the outputs (expression_index and expression_name). It does not discuss side effects such as whether compilation or saving is required afterward, but the core mutation and return contract are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with clear sections (expression types, params, returns, example), and the long list of expression types is genuinely useful. However, the example uses expression_type='Example', which is not in the provided list of valid values and could mislead an agent. The KB link to Blueprint Fundamentals also appears tangential for a material-expression tool, adding slight noise.

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 complex 5-parameter tool with no annotations, the description covers most essential domain knowledge: valid expression types, required parameter keys, defaults, and return values. But the Param_Texture mapping conflict and the unexplained mismatch between the schema's expression_params type (anyOf string/null) and the description's 'JSON object' wording leave gaps that could cause incorrect 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 does with rich parameter guidance: defaults for position_x/position_y, material_path format, and per-expression parameter requirements. However, there is an internal inconsistency: Param_Texture is listed as needing param_name, but expression_params later lists texture_path as also applying to Param_Texture. This ambiguity prevents a perfect score.

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 opens with a specific verb and resource: 'Add a material expression (node) to a Material asset.' This clearly distinguishes it from sibling tools like mat_connect_expressions, mat_compile, and mat_validate_material, and the listed expression types further pin down what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use this tool: when adding an expression node to a material. It also hints at the workflow by stating that the returned expression_index is 'for use in mat_connect_expressions,' which helps an agent sequence calls correctly. It does not explicitly enumerate exclusions or contrast with mat_create_material, but the intended usage is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mat_compileA

Compile (recompile) a Material and return structured errors/warnings.

Always run this after finishing material expression edits. Returns had_errors and a list of compile messages so the agent can diagnose and fix problems without opening the Material Editor.

Args: material_path: Full asset path (e.g. '/Game/Materials/M_Rock') save_after_compile: Also save the material asset. Default True.

Returns: JSON StructuredResult. outputs.had_errors — bool outputs.had_warnings — bool outputs.error_count — int outputs.warning_count — int outputs.saved — bool

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: mat_compile(material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
material_pathYes
save_after_compileNo

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 does disclose the default save behavior and lists return fields. However, it promises 'a list of compile messages' in the opening, but the Returns section lists only booleans and counts, leaving ambiguity about what the structured result actually contains.

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?

Well-structured with sections for args, returns, KB pointer, and example; purpose is front-loaded. Slightly verbose, and the compile-messages inconsistency adds avoidable confusion, but every section 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?

Covers purpose, when to use, parameters, return structure, and includes an example. It is incomplete because it never resolves the gap between the promised compile messages and the listed output fields, and the KB reference to blueprint fundamentals appears tangential for a material compile 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 coverage is 0%, but the description fully compensates by defining material_path with a full asset path and concrete example, and save_after_compile with its default and meaning. The example call further clarifies usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Compile (recompile) a Material and return structured errors/warnings.' The purpose is clear, but it does not explicitly distinguish itself from closely related siblings like mat_get_compile_diagnostics or compile_material_and_report.

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 when-to-use context: 'Always run this after finishing material expression edits.' This is a concrete trigger. However, it does not mention alternatives or exclusions, such as when another diagnostics-focused tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mat_connect_expressionsA

Connect two material expression nodes or connect an expression to a material input.

For material root input connections (BaseColor, Metallic, etc.) use '' (empty string) as to_expression_name and the slot name as to_input_name.

Common material root input names: BaseColor, Metallic, Specular, Roughness, EmissiveColor, Opacity, OpacityMask, Normal, WorldPositionOffset, SubsurfaceColor, AmbientOcclusion, Refraction, PixelDepthOffset

Common expression output names: RGB, R, G, B, A, (default) ''

Args: material_path: Full asset path to the Material from_expression_name: Object name of the source expression node (from mat_add_expression outputs.expression_name) from_output_name: Output pin name on the source node (e.g. 'RGB', 'R', '') to_expression_name: Object name of the target expression, OR '' to connect directly to a material root input slot to_input_name: Input pin/slot name on the target (e.g. 'A', 'BaseColor')

Returns: JSON StructuredResult.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: mat_connect_expressions(material_path="/Game/MCP_Test/M_Example", from_expression_name="ExampleName", from_output_name="ExampleName", to_expression_name="ExampleName", to_input_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
material_pathYes
to_input_nameYes
from_output_nameYes
to_expression_nameYes
from_expression_nameYes

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 responsibility for behavioral disclosure. It only states the action 'Connect' and a generic 'Returns JSON StructuredResult.' It does not mention that this is a mutation (modifies the material asset), whether recompilation is required, if existing connections will be broken, or any side effects. This is a significant gap for a tool that modifies graph connections, leaving the agent without guidance on consequences or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (intro, special case, common names, Args, Returns, KB, Example) and front-loads the core action. While it is longer than average, every section contributes necessary information given the tool's complexity (5 parameters, special-case handling). It is not verbose or redundant; it strikes a good balance between thoroughness and efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the 0% schema coverage, the description covers all parameters, the special root-input case, common pin names, and includes an example and a KB reference. It also notes that from_expression_name comes from mat_add_expression, implying a required sequence. An output schema exists, so return values are not needed in the description. It is missing explicit prerequisites (e.g., material must exist, expressions must be added first) and failure modes, but covers the essential context well.

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 does this thoroughly with an 'Args' section that explains each of the five parameters, provides examples (e.g., 'RGB', 'A', ''), clarifies the meaning of empty strings for root connections, and references mat_add_expression outputs as a source for from_expression_name. This adds substantial meaning beyond the bare schema and effectively documents parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Connect two material expression nodes or connect an expression to a material input.' It uses a specific verb-resource pair and distinguishes itself from sibling tools like mat_add_expression (which adds nodes) and mat_compile (which compiles). The special case for root input connections further clarifies the exact scope, leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context for the special case of connecting to material root inputs (using '' for to_expression_name), lists common input names, and references mat_add_expression outputs for from_expression_name. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide clear exclusions. The guidance is implicit rather than explicit, so it does not fully meet the 'explicit when/when-not/alternatives' standard.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mat_create_materialA

Create a new Unreal Engine Material asset.

Creates an empty material with the specified properties. After creation use mat_add_expression and mat_connect_expressions to build the material graph, then mat_compile to validate.

Blend modes: Opaque, Masked, Translucent, Additive, Modulate Shading models: DefaultLit, Unlit, SubSurface, PreintegratedSkin, ClearCoat, SubsurfaceProfile, TwoSidedFoliage, Hair, Cloth, Eye, SingleLayerWater

Args: material_name: Name for the new material asset (e.g. 'M_Rock') package_path: Content Browser folder. Default '/Game/Materials'. blend_mode: Material blend mode. Default 'Opaque'. shading_model: Shading model. Default 'DefaultLit'. two_sided: Enable two-sided rendering. Default False.

Returns: JSON StructuredResult. outputs.material_path — Full asset path (e.g. '/Game/Materials/M_Rock') outputs.next_steps — Suggested follow-up actions

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: mat_create_material(material_name="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
two_sidedNo
blend_modeNoOpaque
package_pathNo/Game/Materials
material_nameYes
shading_modelNoDefaultLit

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 behavioral disclosure burden. It clearly identifies this as a mutating creation operation, notes that the material starts empty, and documents the StructuredResult outputs. It does not disclose duplicate-asset behavior or whether the asset is persisted immediately, but the core side effect and return value are made explicit.

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 longer than average but well organized: summary, workflow, valid value lists, args, returns, KB reference, and example. It is front-loaded, and the extra enum lists earn their place because the schema has no enums or descriptions.

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 create-tool with no annotations, it covers the full creation lifecycle, parameter meanings, valid enum values, return shape, and an example. The remaining gaps are the material_name/package_path ambiguity and the lack of guidance about what happens if the named asset already 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?

Schema description coverage is 0%, so the Args section is essential and does document all five parameters with defaults and valid values for blend_mode and shading_model. However, the example passes a full asset path as material_name while the parameter text treats material_name as a bare name and package_path as the folder, creating ambiguity about how paths should be supplied.

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 action and resource: it creates a new, empty Unreal Engine Material asset with given properties. It clearly distinguishes itself from the expression/compile workflow tools by describing the follow-up sequence, but it does not explicitly differentiate itself from similarly named creation siblings like create_material or material_create_master.

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 a useful workflow: create the empty material, then use mat_add_expression and mat_connect_expressions to build the graph, then mat_compile to validate. It does not explicitly state when to prefer an alternative creation tool or when not to use this one, so exclusions are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

material_create_functionA

Create a Material Function asset and expose it to the material function library.

Args: function_name: Function asset name, e.g. "MF_TriplanarTint" folder_path: Content Browser folder for the function description: Tooltip/description shown in the Material Editor overwrite: Delete/recreate an existing asset at the same path save: Save the asset package immediately

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: material_create_function(function_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
overwriteNo
descriptionNo
folder_pathNo/Game/Materials/Functions
function_nameYes

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 burden of behavioral disclosure. It does well by revealing key side effects: 'Delete/recreate an existing asset at the same path' and 'Save the asset package immediately,' plus exposing the asset to the library. It does not mention failure behavior when overwrite is false, but the core behavioral traits are 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 its purpose, uses a compact Args list to add parameter meaning, and includes a helpful example and KB pointer. Every line earns its place without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters with no schema descriptions and no annotations, the description provides a strong baseline: full parameter semantics, side effects, an example, and a KB reference. An output schema exists, so return values need no explanation. Missing usage-guidance and overwrite edge cases are the main 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%, but the description fully compensates by explaining every parameter: function_name, folder_path, description, overwrite, and save. The example further clarifies invocation syntax.

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: 'Create a Material Function asset and expose it to the material function library.' This clearly identifies what the tool does and distinguishes it from sibling material-related tools like create_material or material_create_master.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given on when to use this tool versus alternatives such as material_create_master, mat_create_material, or material_create_instance_from_master. The KB link is useful but does not provide when/when-not selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

material_create_instance_from_masterA

Create a Material Instance Constant from a master Material.

Args: instance_name: Material instance asset name, e.g. "MI_Prop_Red" parent_material_path: Parent material or material instance path folder_path: Content Browser folder for the instance overwrite: Delete/recreate an existing asset at the same path save: Save the asset package immediately

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: material_create_instance_from_master(instance_name="ExampleName", parent_material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
overwriteNo
folder_pathNo/Game/Materials/Instances
instance_nameYes
parent_material_pathYes

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 provided, the description carries the behavioral disclosure burden. It discloses the destructive overwrite behavior ('Delete/recreate an existing asset at the same path') and the save side effect ('Save the asset package immediately'). This is meaningful transparency beyond the bare schema, though it does not mention failure behavior or validation rules.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-sentence purpose, a terse Args list, a KB pointer, and a concrete example. Every part adds value, and the example clarifies the expected path format.

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 an output schema exists and the description covers all parameters plus the important destructive and save side effects, nothing essential is missing for an agent to invoke this tool correctly. The KB link provides an additional path to deeper material context if needed.

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 fully compensates. The Args block gives meaningful semantics for all five parameters: naming example, parent material or material instance path, Content Browser folder, overwrite behavior, and save behavior. This is complete and goes well beyond the raw 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 opens with a specific verb and resource: 'Create a Material Instance Constant from a master Material.' This clearly identifies the asset type being created and the input resource. However, it does not explicitly contrast with nearby sibling tools like create_dynamic_material_instance or material_create_master, so it lacks explicit 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 the usage context through 'from a master Material' and by naming the instance asset parameters, but it never states when to prefer this tool over alternatives. No exclusions or alternative routing guidance is provided, only a KB reference. This is reasonable but leaves the when-to-use decision mostly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

material_create_masterA

Create a reusable master Material with standard technical-art parameters.

The generated graph includes BaseColor, Metallic, Roughness, EmissiveColor, and Opacity parameters, plus optional texture parameters for BaseColor, Normal, ORM, and Emissive maps. Use material_wire_texture_set to wire actual texture assets into the graph after creation.

Args: material_name: Material asset name, e.g. "M_Master_Prop" folder_path: Content Browser folder for the asset base_color: RGBA default BaseColor parameter metallic: Default Metallic scalar roughness: Default Roughness scalar emissive_color: RGBA default EmissiveColor parameter opacity: Default Opacity scalar blend_mode: "opaque" or "translucent" use_texture_parameters: Add standard texture parameter nodes overwrite: Delete/recreate an existing asset at the same path compile: Force a material shader compile before returning save: Save the asset package immediately

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: material_create_master(material_name="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
opacityNo
metallicNo
overwriteNo
roughnessNo
base_colorNo
blend_modeNoopaque
folder_pathNo/Game/Materials
material_nameYes
emissive_colorNo
use_texture_parametersNo

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 provided, the description carries the behavioral burden: it discloses what the generated graph contains, and the Args reveal side effects including overwrite deleting/recreating an existing asset, compile forcing a shader compile, and save persisting the package immediately. It does not state behavior when an asset already exists and overwrite=false, but the core behavioral profile is clear.

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 summary, tightly grouped Args with one-line semantics, a KB pointer, and an example. There is no filler or repetition of schema defaults, and the extra length is justified by zero schema descriptions.

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 12-parameter creation tool with no annotations and an output schema, the description is thorough: it covers generated graph nodes, texture wiring next steps, all parameter semantics, and an example. It is incomplete only in resolving the material_name-vs-folder_path path ambiguity and in differentiating itself from the sibling create_material 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?

Because schema description coverage is 0%, the Args section compensates by adding semantic meaning to all 12 parameters: RGBA/scalar types, blend_mode allowed values, and side-effect flags. The only blemish is contradictory path guidance: material_name is described as a bare name while the example passes a full /Game path, which could confuse agents.

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 action ('Create'), a specific resource ('reusable master Material'), and enumerates the generated graph parameters (BaseColor, Metallic, Roughness, EmissiveColor, Opacity). The 'master' qualifier and the texture-wiring pointer distinguish it from generic material creation and instance 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?

The description clearly anchors usage to creating reusable master materials and explicitly directs agents to material_wire_texture_set for wiring texture assets, which is a concrete alternative. It does not spell out when to prefer create_material or material_create_instance_from_master, so it stops short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

material_set_instance_parameters_bulkA

Set many Material Instance parameters in one bridge call.

Args: material_instance_path: Material Instance Constant asset path scalar_parameters: Mapping of scalar parameter names to floats vector_parameters: Mapping of vector parameter names to RGBA arrays texture_parameters: Mapping of texture parameter names to texture paths save: Save the material instance package immediately

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: material_set_instance_parameters_bulk(material_instance_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
scalar_parametersNo
vector_parametersNo
texture_parametersNo
material_instance_pathYes

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?

With no annotations, the description must carry the burden of side-effect disclosure. It does disclose that save persists the package immediately, but it does not state whether specified values override or merge with existing parameters, whether the change is reversible, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: a purpose sentence followed by a structured Args list, KB pointer, and a minimal example. Every section carries useful information and there is 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?

All five parameters are semantically explained, the required path is shown in an example, and an output schema exists so return values need not be described. It is still missing explicit usage boundaries and prerequisites, but within the schema/annotation context it is largely complete.

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 Args section is the only semantic source. It adds clear meaning to all five parameters: path, float scalar mappings, RGBA vector arrays, texture path mappings, and save behavior—well beyond the schema's bare 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?

The opening sentence uses a specific verb and resource—'Set many Material Instance parameters'—and the word 'bulk' differentiates it from single-parameter material tools. The args list and example reinforce that this targets a Material Instance Constant asset path.

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 'in one bridge call' and 'many parameters' imply the tool is for bulk updates, but there is no explicit when-to-use or when-not-to-use guidance, and no alternative tools are named. Prerequisites such as the material instance asset already existing are not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

material_wire_texture_setA

Wire a standard texture set into a Material graph.

ORM textures are assumed to pack Occlusion in R, Roughness in G, and Metallic in B. Empty texture paths are ignored.

Args: material_path: Material asset path base_color_texture: Texture path wired to BaseColor normal_texture: Texture path wired to Normal orm_texture: Packed ORM texture path wired to AO/Roughness/Metallic emissive_texture: Texture path wired to EmissiveColor compile: Force a material shader compile before returning save: Save the material package immediately

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: material_wire_texture_set(material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
orm_textureNo
material_pathYes
normal_textureNo
emissive_textureNo
base_color_textureNo

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. It discloses the non-obvious ORM channel assumption (R/G/B), states that empty texture paths are ignored, and clarifies what compile/save flags do. It does not discuss overwriting existing pin connections or default persistence, but the main side-effect surface is covered.

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 organized: purpose, key assumption, parameter semantics, KB pointer, and example. Every section earns its place, and the most decision-relevant facts are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with seven parameters and no annotations, the description is complete enough to call correctly: all parameters are explained, non-obvious packing behavior is documented, an example is supplied, and a KB reference exists. An output schema also exists, so return-value documentation is not required here.

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%, yet the Args block documents all seven parameters with graph-target semantics: each texture path is mapped to BaseColor, Normal, AO/Roughness/Metallic, or EmissiveColor, and compile/save behavior is specified. The example and ORM detail add practical meaning beyond the raw 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?

The opening line uses a specific verb and resource: 'Wire a standard texture set into a Material graph.' This clearly identifies the operation and, together with the ORM channel note, sets it apart from generic material-creation or expression-wiring siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended scenario is implied by 'standard texture set' and the ORM packing note, and the KB link offers further context, but the description never explicitly states when to choose this over mat_connect_expressions, material_set_instance_parameters_bulk, or other material tools. There are no exclusions or alternative-routing statements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mat_get_compile_diagnosticsA

Get compiler-derived diagnostics for a Material asset.

Args: material_path: Full asset path (e.g. '/Game/Materials/M_DemoB') include_warnings: Include warning-level items (default True)

Returns: StructuredResult with outputs: compile_clean — bool errors[] — structured error items warnings[] — structured warning items expression_count — int compiler_summary — str had_errors — bool

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: mat_get_compile_diagnostics(material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
material_pathYes
include_warningsNo

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?

With no annotations provided, the description carries the full burden, and it does disclose the StructuredResult outputs and the effect of include_warnings. However, it does not explicitly state whether the tool triggers a compile or merely returns already-generated diagnostics, nor does it confirm the operation is side-effect-free/read-only.

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 organized into Args, Returns, KB, and Example sections, with the core purpose front-loaded. There is no filler; every section adds operational value in a compact, scannable format.

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 description provides parameter semantics, a detailed return shape, a KB pointer, and a runnable example, which is strong for correct invocation. It is only missing an explicit note on preconditions, such as whether the material must already exist or whether the diagnostics reflect the most recent compilation.

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%, but the description compensates fully: material_path is explained as a full asset path with a concrete example, and include_warnings is described as controlling warning-level items with a default of True. This gives the agent meaningful semantic information beyond the bare schema titles and 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?

The description opens with a specific verb and resource: 'Get compiler-derived diagnostics for a Material asset.' This clearly identifies both the action and the target, and distinguishes it from sibling tools like bp_get_compile_diagnostics, which targets Blueprints. The Material-scoped language leaves little ambiguity about what the tool operates on.

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 purpose and example imply the tool is used to inspect a Material's compilation diagnostics, but there is no explicit when-to-use guidance or mention of alternatives such as mat_validate_material, compile_material_and_report, or mat_compile. The KB reference may help, but the description itself does not route the agent away from related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mat_validate_materialA

Validate a Material: expression count, disconnects, health score.

Gives materials the same trust model as Blueprints. Narrower than Blueprint validation but reliable and non-speculative.

Args: material_path: Full asset path (e.g. '/Game/Materials/M_DemoB')

Returns: StructuredResult with outputs: material_health_score — int 0-100 compile_clean — bool expression_count — int disconnected_count — int (expressions not connected to output) issues[] — structured issue items recommended_actions[] — actionable strings

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: mat_validate_material(material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
material_pathYes

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 disclosure burden. It conveys an analytical, non-speculative check and documents the return contract in detail, but it doesn't explicitly state whether the material is modified, whether compilation is triggered, or how invalid paths are handled.

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 tool's purpose is front-loaded, and Args/Returns/Example are cleanly structured; the Blueprint-comparison sentences add selection context without much bloat. The return list is somewhat redundant given the output schema, but the description remains focused.

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, it covers the parameter format, return fields, interpretation cues, and an example. The main missing piece is explicit side-effect/safety disclosure (e.g., read-only, no material mutation), which matters more because annotations are absent.

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?

The schema only declares material_path as a string with no description, so the Args section provides the needed semantics: 'Full asset path' plus the '/Game/Materials/M_DemoB' example. This fully compensates for the 0% schema coverage and gives the agent an actionable format.

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 ('Validate') and resource ('a Material'), and enumerates the validation dimensions (expression count, disconnects, health score). This clearly separates it from material creation/compile/connection tools in the sibling set, though it does not explicitly name a competing 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?

It positions the tool as giving materials the same trust model as Blueprints and notes it is narrower and non-speculative, which is useful context for when a material health check is appropriate. However, it never explicitly states when not to use it or which sibling (e.g., mat_get_compile_diagnostics) to prefer for compile-only concerns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mesh_audit_uv_channelsA

Audit StaticMesh LODs for UV channel counts, vertex counts, and triangles.

Args: static_mesh_path: StaticMesh asset path to inspect

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: mesh_audit_uv_channels(static_mesh_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
static_mesh_pathYes

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 burden. 'Audit' and the listed counts make clear this is an inspection operation rather than a mutation, but the description does not explicitly state read-only behavior, asset loading requirements, or failure modes. This is adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: purpose, argument, KB pointer, and example. Every section earns its place, and the core purpose is front-loaded 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?

Given the single parameter and the presence of an output schema, the description is largely complete: it states what is audited, names the parameter, provides a KB reference, and gives an invocation example. It does not need to explain return values because an output schema exists; the remaining gaps are mainly selection guidance and behavioral caveats.

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 Args block compensates by describing static_mesh_path as the 'StaticMesh asset path to inspect' and providing a concrete '/Game/MCP_Test/Example' example. This adds meaningful semantic and format context beyond the bare schema, though it stops short of full path-rule documentation.

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: 'Audit StaticMesh LODs for UV channel counts, vertex counts, and triangles.' It clearly states what the tool measures, which is more precise than a generic static-mesh inspection tool, though it does not explicitly name or differentiate from overlapping siblings like inspect_static_mesh_sections.

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 listed metrics imply the intended use case: call this when per-LOD UV channel, vertex, or triangle counts are needed. However, the description gives no explicit guidance about when not to use it or which sibling tool should be preferred, so selection 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.

metahuman_assign_dnaC

Assign DNA, face mesh, and rig logic metadata for a MetaHuman package.

KB: see knowledge_base/27_METAHUMAN_PIPELINE.md#mcp-metahuman-tools Example: metahuman_assign_dna(character_name="Ada", dna_asset="/Game/MetaHumans/Ada/Face/Ada_DNA")

ParametersJSON Schema
NameRequiredDescriptionDefault
dna_fileNo
dna_assetNo
character_nameYes
rig_logic_assetNo
face_skeletal_meshNo

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 mentions 'assign' which implies a mutation, but does not disclose any side effects, such as modifying the package or requiring specific asset formats, authentication, or irreversible changes. The KB reference is a positive but not sufficient disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences plus an example and KB reference. It is front-loaded with the core action. The example is very useful for understanding usage. Slight redundancy in listing 'DNA, face mesh, and rig logic' which matches parameter names, but not wasteful.

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 moderate complexity (5 params, 1 required) and no annotations, the description is not fully complete. It fails to explain the purpose of each parameter, potential file paths, or required input format. The KB reference helps but is an external dependency. Missing information like asset paths or whether dna_asset and dna_file are alternatives reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides parameter names and defaults, but no descriptions. The description only covers character_name and dna_asset via the example, leaving dna_file, rig_logic_asset, and face_skeletal_mesh unexplained. With 0% schema coverage, the description should compensate for all parameters but doesn't, so a 3 is slightly generous; a 2 might be warranted, but the example gives partial clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (assign DNA, face mesh, and rig logic metadata) and the primary resource (MetaHuman package). It also provides a concrete example with a character name and DNA asset. However, it doesn't explicitly distinguish itself from sibling tools like metahuman_import or metahuman_link_to_skeleton, though the action is specific enough.

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 does not specify when to use this tool versus alternatives. It only gives an example, but no guidance on prerequisites, such as whether the MetaHuman must already be imported, or when to use metahuman_import or metahuman_configure_wrapper. This is a significant gap for correct tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metahuman_configure_wrapperB

Configure wrapper Blueprint metadata for a MetaHuman gameplay character.

KB: see knowledge_base/27_METAHUMAN_PIPELINE.md#mcp-metahuman-tools Example: metahuman_configure_wrapper(character_name="Ada", wrapper_blueprint="/Game/Characters/BP_AdaWrapper")

ParametersJSON Schema
NameRequiredDescriptionDefault
gameplay_tagNoCharacter.MetaHuman
parent_classNo/Script/Engine.Character
character_nameYes
wrapper_blueprintYes
attach_to_componentNoMesh
body_component_nameNoBody
face_component_nameNoFace

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 must disclose behavioral traits, but it only states 'Configure' without detailing side effects, requirements, or what happens to the target Blueprint. It does not mention whether the Blueprint must exist, whether it modifies existing metadata, or any potential failures. This is minimal transparency for a mutation 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 succinct—two sentences and an example—with the core purpose front-loaded. It avoids fluff and efficiently conveys the essential action, making it easy for an agent to grasp 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?

For a tool with 7 parameters (2 required) and no schema descriptions, the description is insufficient. It lacks explanation of prerequisites, parameter meanings, return behavior, or how it integrates with the MetaHuman pipeline. The KB reference is external and not part of the description, so an agent cannot fully understand how to call it correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must explain parameter semantics, but it only shows an example with character_name and wrapper_blueprint without explaining their meaning or the other five parameters. It adds little beyond the schema's bare property names, failing to clarify the role of each parameter.

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 action ('Configure wrapper Blueprint metadata') for a specific resource (MetaHuman gameplay character), which clearly distinguishes it from other MetaHuman tools like metahuman_import or metahuman_inspect_package. It is not a tautology and gives a concrete, actionable purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not specify when to use this tool versus alternatives, nor does it mention any prerequisites or conditions. It provides an example, but no guidance on when this tool is the right choice compared to other configuration tools, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metahuman_importC

Register an assembled MetaHuman package and scan its imported asset tree.

KB: see knowledge_base/27_METAHUMAN_PIPELINE.md#mcp-metahuman-tools Example: metahuman_import(character_name="Ada", metahuman_root="/Game/MetaHumans/Ada")

ParametersJSON Schema
NameRequiredDescriptionDefault
character_nameYes
metahuman_rootNo
create_manifestNo
body_skeletal_meshNo
expected_blueprintNo
face_skeletal_meshNo

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 says it 'registers' a package and 'scans' its asset tree, but does not disclose side effects such as whether registration modifies project files, overwrites existing registrations, requires Unreal to be running, or what the scan produces. For a mutation-like registration action with zero annotation coverage, 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 compact—two sentences plus an example and a KB pointer—with the core purpose front-loaded. Every element earns its place; the example is useful for grounding the call signature, though the KB link adds some external dependency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and being a complex 6-parameter import tool with a scanning behavior, the description does not explain prerequisites (does the package need to exist? is Unreal required?), the meaning of the four undocumented parameters, or what the returned scan report contains. The KB reference helps but the description alone is too thin to fully guide correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. The example hints at character_name and metahuman_root, but four of six parameters (create_manifest, body_skeletal_mesh, expected_blueprint, face_skeletal_mesh) are never mentioned. The description adds marginal value over the schema for only two of the parameters and does not explain their purpose or 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+resource ('Register an assembled MetaHuman package and scan its imported asset tree'). This is clear about what the tool does and is distinct enough from the metahuman_* sibling family, though it doesn't explicitly name the sibling it differs from (e.g., metahuman_inspect_package).

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?

A concrete example is provided (character_name='Ada', metahuman_root=...), which helps an agent infer how to invoke it, and a KB reference points to pipeline context. However, there is no explicit guidance on when to use this tool versus alternatives like metahuman_inspect_package, metahuman_link_to_skeleton, or metahuman_assign_dna, nor any exclusions or prerequisites stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metahuman_inspect_packageB

Inspect a registered MetaHuman manifest and scan its package assets.

KB: see knowledge_base/27_METAHUMAN_PIPELINE.md#mcp-metahuman-tools Example: metahuman_inspect_package(character_name="Ada", metahuman_root="/Game/MetaHumans/Ada")

ParametersJSON Schema
NameRequiredDescriptionDefault
character_nameYes
metahuman_rootNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description conveys the core behavior: inspecting a manifest and scanning package assets, which implies a non-mutating operation. However, since no annotations exist, the description carries the full burden and does not explicitly state whether the operation has side effects, requires specific permissions, or only reads existing registered data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the main action, and includes only a short KB pointer and one useful invocation example. 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.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The basic operation, a KB reference, and an example invocation are present, and the existence of an output schema covers return-value expectations. Still, the lack of parameter semantics and usage guidance leaves meaningful gaps for a large sibling toolset, making this adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate for both parameters. The example provides concrete values for character_name and metahuman_root, but it does not explain what the root path means, how the default empty string behaves, or how the two parameters relate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Inspect') and the resource ('a registered MetaHuman manifest' plus 'package assets'), so an agent knows what the tool does. It does not explicitly differentiate itself from sibling metahuman_* tools, but the read-only inspect/scan intent is distinct enough from import/link/assign/configure.

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 or alternative routing is provided. The phrase 'registered MetaHuman' and the KB pointer give some context, but in a toolset with many metahuman_* siblings, an agent receives no help choosing this over metahuman_import, metahuman_configure_wrapper, or similar inspection tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metasound_add_nodeB

Add a native MetaSound node by registered class name.

Args: metasound: MetaSound Source/Patch asset path. class_name: Registered MetaSound node class name. class_namespace: Optional registered class namespace. class_variant: Optional registered class variant. major_version: Native class major version. node_position: Optional [X, Y] editor graph location.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: metasound_add_node(metasound="/Game/Audio/MetaSounds/MS_GeneratorHum", class_name="Sine", class_namespace="UE")

ParametersJSON Schema
NameRequiredDescriptionDefault
metasoundYes
class_nameYes
class_variantNo
major_versionNo
node_positionNo
class_namespaceNo

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 burden. It states it adds a node, which is a mutation, but does not disclose side effects (e.g., graph modification, compilation requirements, or failure modes). It provides a KB reference for further reading, which adds some context, but lacks detail on behavior like whether the graph must be saved or compiled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and to the point, with a clear first sentence stating the action and a compact parameter list. It includes a KB reference and an example, which is helpful, but the example could be more detailed. The structure is front-loaded with the purpose.

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 moderately complex with 6 parameters, and there is no output schema, so the description should explain return values and error conditions. It does not mention what happens after node addition (e.g., compilation, save), nor does it provide guidance on choosing a valid class_name. The KB reference partially compensates, but the description alone is insufficient for an agent to confidently use it without external lookup.

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 lists required parameters (metasound, class_name) and names optional ones (class_namespace, class_variant, major_version, node_position) but provides no additional detail beyond what the schema already shows. The description does not clarify what values are valid (e.g., how class_namespace is used, what major_version affects).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a native MetaSound node') and the primary resource ('MetaSound Source/Patch asset path'), and it specifies the key parameter (class_name). It distinguishes from sibling tools like metasound_connect_pins and metasound_create_source, though it doesn't explicitly name 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?

The description implies when to use this tool (adding nodes to a MetaSound graph) and provides an example, but it doesn't explicitly state when not to use it or mention alternatives. Given the broad sibling set, more explicit routing would be better.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metasound_compileA

Build, conform, and optionally save a MetaSound Source/Patch asset.

Args: metasound: MetaSound Source/Patch asset path. save: Save the package after compile/build.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: metasound_compile(metasound="/Game/Audio/MetaSounds/MS_GeneratorHum")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
metasoundYes

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 present, so the description carries the disclosure burden. It does disclose the core operations (build/conform) and the optional save side effect, which is the main behavioral risk of the tool. It does not mention failure behavior, permissions, or persistence beyond save, but it is not misleading and covers the primary side effect.

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 docstring is compact and front-loaded with a one-line purpose, followed by organized Args, a KB link, and a concrete example. There is no filler or irrelevant detail; each 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?

For a two-parameter compile operation with an output schema and no annotations, the description covers the purpose, both parameters, and a representative example, and the output schema covers return-value details. It could say more about side effects and alternative tool selection, but nothing essential for invoking the tool correctly 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?

Schema description coverage is 0%, so the description must compensate, and it does: it clarifies that metasound is an asset path, explains that save persists the package after build/compile, and provides a concrete example path. It does not add constraints or default-value nuance beyond the schema, but it meaningfully explains both parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names concrete actions (build, conform, save) and a specific resource (MetaSound Source/Patch asset), so an agent can identify this as the compile/conform step distinct from create/add/connect tools. It is specific and actionable, but it does not explicitly contrast itself with sibling tools.

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 on an existing MetaSound Source/Patch asset and provides an example and KB reference, giving some contextual signal. However, it does not state when to prefer this over metasound_create_source, metasound_add_node, or other compile tools, and it gives no exclusions or prerequisite conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metasound_connect_pinsA

Connect a MetaSound node output vertex to a node input vertex.

Args: metasound: MetaSound Source/Patch asset path. from_node_id: Source node GUID returned by metasound_add_node or inspection. from_output_id: Source output vertex GUID. to_node_id: Destination node GUID. to_input_id: Destination input vertex GUID.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: metasound_connect_pins(metasound="/Game/Audio/MetaSounds/MS_GeneratorHum", from_node_id="...", from_output_id="...", to_node_id="...", to_input_id="...")

ParametersJSON Schema
NameRequiredDescriptionDefault
metasoundYes
to_node_idYes
to_input_idYes
from_node_idYes
from_output_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 burden of behavioral disclosure. It mentions that from_node_id is 'returned by metasound_add_node or inspection,' which gives a hint about ID provenance, but it does not describe side effects (e.g., whether the connection modifies the asset permanently), prerequisites (e.g., asset must be loaded), error conditions, or return value semantics. The mutation nature is implied but not elaborated. This is a significant gap for an operation that changes a graph.

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 efficiently structured: a one-sentence purpose, a clear Args list with per-parameter descriptions, a KB reference, and an example. Each element earns its place without redundancy. The purpose is front-loaded, and the example clarifies usage. No wasted words.

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 (5 required parameters, no schema descriptions, no annotations), the description is adequate but not fully comprehensive. It explains parameter provenance and provides an example and KB link, which helps an agent invoke it correctly. However, it lacks preconditions (e.g., asset must exist), error handling behavior, and what the output schema represents. Since an output schema exists but its content is unknown, the description could have done more to cover usage context, but it is not critically 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 provides concise explanations for each of the five parameters: metasound is the asset path, and the node/output/input IDs are described as GUIDs with provenance (e.g., from_node_id from metasound_add_node). This adds meaning beyond the schema's bare parameter names. However, it does not specify the format of GUIDs or how to distinguish output from input IDs beyond naming, so it is not exhaustive but is reasonably helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Connect a MetaSound node output vertex to a node input vertex.' It uses a specific verb (connect) and resource (MetaSound nodes), and the naming differentiates it from sibling tools like bp_connect_pins and mat_connect_expressions, which target different graph types. 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?

The description implies usage for MetaSound graphs through the name and first sentence, and the example shows a concrete invocation. However, it does not explicitly mention when not to use this tool versus the Blueprint or Material connection tools, nor does it provide conditions like 'use this for MetaSound, use bp_connect_pins for Blueprints.' The KB reference hints at additional context but does not serve as explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metasound_create_patchA

Create a reusable MetaSound Patch asset for shared DSP logic.

Args: name: Asset name such as MSP_DamageCrackle. path: Content Browser folder under /Game. overwrite: Delete an existing asset with the same name first. save: Save the package after creation.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: metasound_create_patch(name="MSP_DamageCrackle", path="/Game/Audio/MetaSounds/Patches")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Audio/MetaSounds/Patches
saveNo
overwriteNo

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?

The description explicitly discloses the destructive overwrite behavior ('Delete an existing asset with the same name first') and the save behavior, which is valuable given annotations are absent. It doesn't specify what happens when an asset already exists without overwrite or any permissions/resource constraints, but the key configurable side effects are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: a one-line purpose, four terse parameter lines, a KB pointer, and an example. No redundant prose; the key information is front-loaded.

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 creation tool with an output schema, the description covers purpose, all parameters, side effects, and includes an example and KB reference. The only notable gap is lack of explicit guidance on when to prefer this over sibling MetaSound creation tools, plus behavior when an existing asset is present without overwrite.

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%, and the description compensates by explaining name, path, overwrite, and save in plain terms, plus a concrete example. It adds meaning beyond raw type/defaults, such as path format under /Game and the destructive nature of overwrite.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence uses a specific verb ('Create') with a clear resource ('reusable MetaSound Patch asset for shared DSP logic'), so an agent knows exactly what object is produced. It does not explicitly contrast with siblings like metasound_create_source or metasound_add_node, so differentiation is implicit rather than named.

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 alternative tools are named and no 'use this instead of X' guidance is provided. The phrase 'for shared DSP logic' implies a use case, and the KB pointer could lead to more context, but the description doesn't state when to choose this over metasound_create_source or other creation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

metasound_create_sourceA

Create a MetaSound Source asset for playable procedural audio.

Args: name: Asset name such as MS_GeneratorHum. path: Content Browser folder under /Game. one_shot: Metadata hint for source intent; true for one-shot sources. overwrite: Delete an existing asset with the same name first. save: Save the package after creation.

KB: see knowledge_base/21_METASOUNDS_AND_AUDIO_DSP.md#mcp-audio-tools Example: metasound_create_source(name="MS_GeneratorHum", path="/Game/Audio/MetaSounds")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Audio/MetaSounds
saveNo
one_shotNo
overwriteNo

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 provided, the description carries the behavioral disclosure burden. It is transparent that overwrite deletes an existing asset first and that save persists the package after creation, and it clarifies one_shot is only a metadata hint. It does not state the failure behavior when overwrite=false and the asset already exists, which is a minor 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?

The description is compact and front-loaded with a clear purpose, followed by a well-structured Args block, a KB pointer, and a concrete example. Every line adds information without 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 five-parameter creation tool with an output schema, the description is complete enough for an agent to invoke it correctly, including default behaviors and an example. The main missing context is sibling-tool differentiation, but that is already scored under usage guidelines.

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 explain the parameters, and it does. Each of the five parameters gets meaningful semantic context: naming convention, Content Browser path, one_shot intent, overwrite deletion behavior, and save persistence. The example reinforces the two most important parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource: 'Create a MetaSound Source asset for playable procedural audio.' This is clear and distinguishable from generic creation tools, though it never names sibling tools like metasound_create_patch, so it lacks explicit 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 purpose statement implies when to use the tool: whenever a MetaSound Source asset is needed for procedural audio. However, it gives no explicit when-not-to-use guidance and does not route the agent toward metasound_create_patch or audio_create_soundcue when a different asset type is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

motion_add_database_sequenceA

Add an AnimSequence entry to a Pose Search database.

Args: database: Pose Search database asset path. sequence: AnimSequence asset path to add. enabled: Whether the database entry participates in search. disable_reselection: Prevent immediate reselection of the same source asset. mirror_option: unmirrored, mirrored_only, or both. sampling_range: Optional [start_seconds, end_seconds] trim range; [0, 0] means full asset. save: Save the database asset after mutation.

Returns: Structured JSON with the added sequence and updated database summary.

KB: see knowledge_base/24_MOTION_MATCHING_AND_CHOOSERS.md#mcp-motion-matching-and-chooser-tools Example: motion_add_database_sequence(database="/Game/Animation/MotionMatching/PSD_Locomotion", sequence="/Game/Characters/Hero/Animations/A_Run")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
enabledNo
databaseYes
sequenceYes
mirror_optionNounmirrored
sampling_rangeNo
disable_reselectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 disclosure burden. It explicitly states that the operation mutates a database and that 'save' persists the change, and it describes what the return value contains. It also explains nuanced options like disable_reselection and sampling_range, though it does not cover prerequisites or duplicate-entry 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 well-structured with a one-sentence purpose, an Args list, Returns, KB reference, and a realistic example. Each section earns its place and the most important information is front-loaded. There is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no annotations, and a provided output schema, the description covers all parameter semantics, the return shape, persistence behavior, and gives an example plus a KB anchor. What is missing is explicit guidance on when the database must already exist and whether adding an existing sequence has any special behavior.

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?

Every parameter is described with meaningful semantics beyond the schema's bare titles and defaults: mirror_option names its allowed values, sampling_range specifies format and the [0,0] sentinel, and save explains the post-mutation side effect. This fully compensates for the 0% schema description coverage.

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 opens with a specific verb+resource: 'Add an AnimSequence entry to a Pose Search database.' This clearly differentiates it from siblings like motion_create_pose_search_database and motion_inspect_pose_search_asset. The included example further anchors the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by the verb 'Add' and the resource type, and the KB pointer gives an external reference, but there is no explicit when-to-use/when-not-to-use guidance or mention of alternatives. The agent must infer when this tool is preferable to related motion tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

motion_create_pose_search_databaseA

Create a Pose Search database asset and optionally seed animation sequences.

Args: name: Asset name to create. schema: Pose Search schema asset path. path: Content Browser folder under /Game. sequences: Optional AnimSequence asset paths to add to the database. search_mode: Search mode, such as pca_kd_tree, brute_force, vp_tree, or event_only. overwrite: Delete an existing database asset before creation. save: Save the asset package after creation.

Returns: Structured JSON with database path, schema, search mode, tags, and animation assets.

KB: see knowledge_base/24_MOTION_MATCHING_AND_CHOOSERS.md#mcp-motion-matching-and-chooser-tools Example: motion_create_pose_search_database(name="PSD_Locomotion", schema="/Game/Animation/MotionMatching/PSS_Locomotion")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Animation/MotionMatching
saveNo
schemaYes
overwriteNo
sequencesNo
search_modeNopca_kd_tree

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the behavioral disclosure burden and does so well. It explicitly explains that overwrite deletes an existing database asset before creation, that save persists the asset package, and that sequences are optional seed data. This goes beyond the schema by revealing side effects and mutation 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 structured into clear Args, Returns, KB, and Example sections with no filler. Every line contributes meaning: parameter semantics, return shape, knowledge base reference, and a concrete invocation example. It is detailed but remains scannable and front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 7 parameters, absent annotations, and no schema descriptions, the description is nearly complete: it covers parameter meanings, return structure, and gives an example. The main gap is that it does not state whether the referenced schema asset must already exist or whether overwrite is required to replace an existing database, though the KB reference mitigates this.

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?

The input schema has 0% description coverage, and the description compensates fully by explaining all 7 parameters in plain terms. It clarifies what each parameter means, gives concrete examples for search_mode, and provides a runnable usage example, making the parameters actionable despite 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?

The description opens with a specific verb and resource: 'Create a Pose Search database asset and optionally seed animation sequences.' This clearly distinguishes the database creation tool from sibling tools like motion_create_pose_search_schema, while the optional seeding note adds scope without ambiguity.

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 makes the creation context clear but does not explicitly state when to prefer this tool over related alternatives such as motion_create_pose_search_schema or motion_add_database_sequence. The 'optionally seed animation sequences' line implies a use case, but there are no explicit when-not-to-use or alternative-selection cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

motion_create_pose_search_schemaA

Create a Pose Search schema asset for Motion Matching databases.

Args: name: Asset name to create. path: Content Browser folder under /Game. skeleton: Optional Skeleton or Skeletal Mesh asset used to seed the schema. sample_rate: Pose sampling rate in Hz. add_default_channels: Add UE's default Pose Search feature channels. overwrite: Delete an existing schema asset before creation. save: Save the asset package after creation.

Returns: Structured JSON with schema asset path, skeletons, sample rate, and channel count.

KB: see knowledge_base/24_MOTION_MATCHING_AND_CHOOSERS.md#mcp-motion-matching-and-chooser-tools Example: motion_create_pose_search_schema(name="PSS_Locomotion", skeleton="/Game/Characters/Hero/SK_Hero")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/Animation/MotionMatching
saveNo
skeletonNo
overwriteNo
sample_rateNo
add_default_channelsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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. It discloses the destructive overwrite behavior, the save flag, and the return format. It does not mention failure modes (e.g., what happens if an asset exists and overwrite is false), but it covers the key behaviors for a creation tool. Slight room for more side-effect detail keeps it at 4.

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?

Well-structured with a one-sentence purpose, a terse parameter list, return info, KB reference, and example. No redundant filler. Each sentence earns its place, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, the description covers all of them, explains the return value, gives a knowledge-base reference, and includes a concrete example. Nothing an agent needs to invoke it correctly is missing, and the KB link supports deeper investigation if needed.

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 explain the 7 parameters. It does so clearly: path is 'Content Browser folder under /Game', skeleton is 'Optional Skeleton or Skeletal Mesh asset used to seed the schema', sample_rate is 'Pose sampling rate in Hz', and overwrite is explicit about deletion. An example further clarifies usage.

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 opens with 'Create a Pose Search schema asset for Motion Matching databases,' which gives a specific verb, resource type, and domain. This clearly distinguishes it from sibling tools like motion_create_pose_search_database (which creates a database asset) and motion_inspect_pose_search_asset (inspection).

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 states its purpose and parameter roles, making clear that it is used to create a Pose Search schema. It does not explicitly cite alternatives or exclusions, but the context is strong enough to infer when to use it, especially with the KB pointer. A minor lack of explicit 'use this instead of X' guidance prevents a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

motion_inspect_pose_search_assetA

Inspect a Pose Search schema or database asset.

Args: asset: Pose Search schema or database asset path.

Returns: Structured JSON with schema channels or database animation assets.

KB: see knowledge_base/24_MOTION_MATCHING_AND_CHOOSERS.md#mcp-motion-matching-and-chooser-tools Example: motion_inspect_pose_search_asset(asset="/Game/Animation/MotionMatching/PSD_Locomotion")

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the disclosure burden. 'Inspect' implies a non-mutating operation, and the Returns section discloses the shape of the result, but the description does not mention path validation, failure behavior, or potential side effects. This is adequate for a simple read-only tool but not deeply transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact, well-organized docstring: purpose first, then Args, Returns, KB reference, and Example. Every section earns its place, and the example clearly demonstrates the exact invocation shape without unnecessary elaboration.

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 inspect tool with an output schema, the description provides the parameter meaning, return type, knowledge-base pointer, and a full example call. It is missing explicit guidance on valid asset path formats or how this relates to pose-search creation tools, but the core invocation information is 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 single 'asset' parameter is only typed and titled in the schema. The description compensates by defining it as a 'Pose Search schema or database asset path' and gives a concrete Unreal path example, giving an agent the semantic meaning needed to call the tool correctly.

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 opening sentence uses the specific verb 'Inspect' with a concrete resource: 'Pose Search schema or database asset.' The Returns line further clarifies the output as 'schema channels or database animation assets,' which distinguishes it from sibling creation tools like motion_create_pose_search_schema and motion_add_database_sequence.

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 that this tool is for reading Pose Search assets and provides a representative example, but it does not explicitly say when to use it instead of related pose-search creation or modification tools. The contrast with siblings is inferable but never stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

move_blueprint_nodeA

Reposition an existing node on the Blueprint graph canvas.

Useful for tidying up a graph after programmatic construction.

Args: blueprint_name: Asset name of the Blueprint. node_id: GUID or short name of the node to move. node_position: New [X, Y] canvas position. graph_name: Graph containing the node. Default 'EventGraph'.

Returns: Dict with 'node_id', 'node_name', 'new_pos_x', 'new_pos_y'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: move_blueprint_node(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example", node_position=[0.0, 0.0, 0.0])

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
graph_nameNoEventGraph
node_positionYes
blueprint_nameYes

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?

With no annotations, the description carries the full burden. It states the action and return dict, but does not disclose side effects (e.g., whether it compiles, if it's undoable, permission requirements), and the example uses a 3-element position array while the description says [X,Y], a clear inconsistency that confuses the expected input format. This is a significant transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Args, Returns, KB, Example) and is not overly verbose. The primary purpose is front-loaded, and each section earns its place, though the example could be tightened to match the described parameter format.

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 tool with no annotations and a 0% schema description coverage, the description is decent but incomplete. It covers parameters and return type, but omits error handling, coordinate system/units, and the position format discrepancy remains unresolved. The KB reference helps but does not fully compensate for these 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 is the only source of parameter meaning. It clearly defines each parameter: blueprint_name (asset name), node_id (GUID or short name), node_position ([X,Y] canvas position), and graph_name (with default). This adds substantial value beyond the raw schema types, though the node_position format inconsistency with the example reduces clarity slightly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Reposition an existing node on the Blueprint graph canvas.' It uses a specific verb (reposition) and resource (node on canvas), and distinguishes from sibling tools like add_blueprint_* and delete_blueprint_node by focusing on repositioning existing nodes. The 'Useful for tidying up' context further reinforces its specific role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a use case ('Useful for tidying up a graph after programmatic construction') but does not explicitly compare with alternatives or state when not to use it. It lacks guidance on choosing this over add/delete operations or other positioning tools, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mrq_add_render_settingB

Add or update an MRQ output, pass, anti-aliasing, or console variable setting.

KB: see knowledge_base/28_MOVIE_RENDER_QUEUE_AND_SEQUENCER.md#mcp-movie-render-queue-tools Example: mrq_add_render_setting(job_name="Trailer_Master", setting_type="anti_aliasing", temporal_samples=8, warmup_frames=16)

ParametersJSON Schema
NameRequiredDescriptionDefault
job_nameNo
frame_endNo
resolutionNo
frame_startNo
image_formatNo
setting_typeNooutput
handle_framesNo
warmup_framesNo
spatial_samplesNo
file_name_formatNo
output_directoryNo
temporal_samplesNo
console_variablesNo
custom_frame_rateNo

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 transparency burden. It discloses that the tool mutates or upserts a setting ('Add or update'), which is the core behavioral trait, but it does not mention overwrite semantics, prerequisites, or side effects beyond what the name already implies.

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 sentences plus a compact KB pointer and one example; all parts add information and there is no filler. The example is particularly valuable for grounding the parameter pattern.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter tool with zero schema descriptions and no annotations, this is incomplete even though an output schema exists. It lacks parameter semantics, usage conditions, and behavior expectations, relying on a KB link and a single example to fill large gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add parameter meaning. It connects setting_type categories to a concrete example (anti_aliasing with temporal_samples and warmup_frames) but leaves most of the 14 parameters (frame_start/end, resolution, handle_frames, output_directory, console_variables, etc.) unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Add or update') and the resource (MRQ settings, specifically output, pass, anti-aliasing, or console variables). It is distinct in practice from sibling tools like mrq_create_job and mrq_render_queue, though it does not explicitly name an alternative.

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 the action phrase and example: call this when you want to set a render-related option on an MRQ job. There is no explicit when-not-to-use or mention of alternative tools for render job creation or queueing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mrq_create_jobC

Create and configure a Movie Render Queue job in the editor queue.

KB: see knowledge_base/28_MOVIE_RENDER_QUEUE_AND_SEQUENCER.md#mcp-movie-render-queue-tools Example: mrq_create_job(job_name="Trailer_Master", sequence="/Game/Cinematics/LS_Trailer", resolution=[3840, 2160])

ParametersJSON Schema
NameRequiredDescriptionDefault
mapNo
authorNoMCP
job_nameNoMCP_Render
sequenceNo
resolutionNo
clear_queueNo
image_formatNopng
file_name_formatNo{sequence_name}.{frame_number}
output_directoryNo
overwrite_existingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden of disclosing side effects and behavior. It hints at editor-side mutation by saying 'in the editor queue', but does not explain whether existing jobs are replaced, whether duplicate job names are handled, or whether the job is rendered immediately or only queued.

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 compact, front-loaded, and includes a concrete example plus a knowledge-base pointer. There is no filler, and the example adds practical value, though the brevity leaves significant semantic gaps.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity tool with 10 optional parameters and zero schema-level descriptions, yet the description only covers a few of them. The presence of an output schema reduces the need to explain return values, but the description still lacks enough context about the remaining parameters and how this tool fits into the broader MRQ workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The example clarifies that job_name is a string, sequence is a game asset path, and resolution is a [width, height] array, but the other seven parameters such as map, clear_queue, image_format, output_directory, and overwrite_existing receive no semantic explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create and configure'), the resource ('Movie Render Queue job'), and the location ('in the editor queue'). It is distinct from the broader sibling list, but it does not explicitly differentiate itself from the closely related mrq_add_render_setting or mrq_render_queue 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?

No guidance is provided about when to use this tool versus the sibling MRQ tools. The example implies a typical call but does not state prerequisites, when to prefer this tool, or when to use mrq_add_render_setting or mrq_render_queue instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mrq_render_queueC

Validate or start rendering the current Movie Render Queue.

KB: see knowledge_base/28_MOVIE_RENDER_QUEUE_AND_SEQUENCER.md#mcp-movie-render-queue-tools Example: mrq_render_queue(dry_run=False, executor="pie")

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
executorNopie

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden of behavioral disclosure. Saying "Validate or start rendering" hints at a potentially long-running or side-effectful operation, but it does not explain what validation does, whether starting a render blocks, what side effects occur, or that dry_run likely controls the behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with a useful KB reference and a concrete example. Every line earns its place, though the ambiguity of "Validate or start" prevents a top score.

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 output schema exists and reduces the need to document return values, the description still leaves important gaps: no parameter semantics, no side-effect disclosure, and no alternative routing. The KB pointer helps but is not sufficient inline guidance for an agent to call the tool correctly in all cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to explain dry_run and executor, but it only provides an example call. The names are somewhat self-explanatory, but the meaning of the executor value (e.g., "pie") and the exact dry_run semantics are left unstated.

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-resource pair: "Validate or start rendering the current Movie Render Queue." This distinguishes it from related sibling tools like mrq_create_job and mrq_add_render_setting, which are about job creation/configuration rather than acting on the current queue.

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 is provided. The description does not mention alternatives, prerequisites, or conditions under which validation vs. rendering is appropriate. The KB reference implies more context but does not say when to choose this tool over related MRQ tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_add_authority_gateB

Add a HasAuthority function node wired into a Branch node. The Branch Then pin represents authority/server flow; Else is remote/client flow.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_add_authority_gate(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
node_positionNo
blueprint_nameYes

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?

The description discloses meaningful behavior: it creates a HasAuthority node wired into a Branch node and defines the Then/Else pin semantics as authority/server vs remote/client. However, with no annotations, it omits side effects such as whether an existing Branch is selected, whether nodes are moved, or how save/compile defaults affect the blueprint.

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 compact and front-loaded: purpose, pin semantics, KB reference, and a usage example. Every sentence adds value, though optional parameter behavior could have been included without excessive length.

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 core operation and blueprint_name usage are covered, and an output schema exists. Still, with no annotations and no parameter-level guidance, the definition is adequate for a simple default invocation but not fully self-contained for an agent making nuanced choices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only illustrates blueprint_name through an example. The save, compile, and node_position parameters are not explained, leaving their effects and expected formats undocumented.

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 ('Add'), a specific resource ('HasAuthority function node'), and the target graph structure ('wired into a Branch node'). It clearly differentiates this from generic add_* siblings and other net_* tools by explaining the Then/Else server/client flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives like net_add_role_switch or add_branch_node. The KB reference provides background context but does not state conditions, prerequisites, or when not to use the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_add_replicated_componentB

Create or configure a Blueprint component template for replication.

Args: blueprint_name: Actor Blueprint asset name or path. component_name: SCS component template variable name. component_type: Optional component class/name to create when missing. replicates: Component replication flag. create_if_missing: Create the component when component_type is supplied and it is absent. save: Save the Blueprint package after mutation. compile: Compile the Blueprint after mutation.

KB: see knowledge_base/20_NETWORKING_AND_REPLICATION.md#mcp-network-tools Example: net_add_replicated_component(blueprint_name="/Game/BP_Door", component_name="ReplicatedMesh", component_type="StaticMeshComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
replicatesNo
blueprint_nameYes
component_nameYes
component_typeNo
create_if_missingNo

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 behavioral disclosure burden. It does disclose mutation intent, save/compile side effects, and the conditional create_if_missing behavior, which is useful. However, it does not state what happens to existing replication settings when the component already exists, whether the operation can be destructive, or what failure modes occur.

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 compact and well-structured: a one-sentence summary, an Args list, a KB pointer, and a concrete example. There is minor redundancy between component_type and create_if_missing, but no filler or wasted 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?

Given seven parameters and no annotations, the description is reasonably complete: it covers asset scope, the conditional creation behavior, the mutation side effects, and provides a realistic example plus a KB reference. It still lacks explicit guidance on prerequisites and behavior when the target component already 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?

Schema description coverage is 0%, so the Args block is the sole source of parameter meaning. It adds genuine semantics for all seven parameters, such as 'SCS component template variable name' and the dependency between component_type and create_if_missing. The replicates description is terse but adequate for a boolean flag.

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 first sentence names a specific action ('Create or configure') and a clear resource ('a Blueprint component template for replication'), so an agent can tell what the tool does. It is clear but does not explicitly distinguish itself from the overlapping sibling net_set_component_replicates.

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 offers parameter-level guidance and an example but never states when to use this tool instead of net_set_component_replicates, net_configure_replicated_property, or other net_* tools. No explicit when-to-use or when-not-to-use guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_add_repnotify_variableC

Add a Blueprint member variable and configure it for RepNotify.

Supported variable_type values: Boolean, Integer, Integer64, Float, Double, String, Name, Text, Vector, Rotator, and Transform.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_add_repnotify_variable(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
default_valueNo
variable_nameYes
variable_typeNoBoolean
blueprint_nameYes
replication_conditionNonone

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 the operation ('Add... configure') but does not explain side effects: whether an existing variable is overwritten, whether save/compile parameters trigger blueprint recompilation, what RepNotify actually does at runtime, or whether the mutation is reversible. For a blueprint-mutating tool 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?

The description is compact and front-loaded with the core action. The supported-types list and the example each earn their place, and the KB pointer is a relevant reference. No filler or repetition of schema defaults.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no annotations, and zero schema descriptions, the description is under-equipped: it clarifies variable_type but leaves replication_condition, default_value, save, and compile semantically unexplained, and discloses no behavioral consequences. The output schema covers return values, which helps slightly, but an agent cannot confidently invoke this tool correctly for non-default cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate, and it partially does: it enumerates all valid variable_type values and shows a concrete example for blueprint_name and variable_name. However, it fails to explain replication_condition options (central to a RepNotify tool), the expected format of default_value for non-string types, or the meaning of save and compile. The compensation is real but incomplete.

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: 'Add a Blueprint member variable and configure it for RepNotify.' This clearly identifies the operation and its unique combined scope, which implicitly differentiates it from siblings like add_blueprint_variable (add only) and net_set_replication_condition (configure only). It stops short of explicitly naming those alternatives, so it is clear but not fully differentiating.

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 or when-not-to-use guidance is given. The example call and KB pointer imply usage context, but the description never tells the agent when to choose this tool over add_blueprint_variable or net_configure_replicated_property, and there is no mention of prerequisites such as whether the blueprint must already exist or be open.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_add_role_switchB

Add an ENetRole switch node for role-specific Blueprint flow.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_add_role_switch(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
node_positionNo
blueprint_nameYes

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?

The description plainly states that the tool adds a node, which is a mutation, but with no annotations it fails to disclose side effects: whether the Blueprint is modified in memory or saved, what the save/compile defaults mean, whether existing graph content is affected, or what happens if the Blueprint does not exist. This leaves the agent guessing about the tool's operational 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 compact and front-loaded: a one-sentence action, a KB pointer, and a concrete example. Every line earns its place and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the presence of an output schema, the description lacks essential operational context for a mutating node-insertion tool: where the node is inserted, what save/compile control, how node_position is interpreted, and failure behavior. The KB link is helpful but does not make the description self-sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for all four parameters. It only illustrates blueprint_name via an example path and does not explain save, compile, or node_position beyond their schema defaults. This is insufficient for a tool with multiple interaction-affecting parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Add') and resource ('ENetRole switch node') and states the purpose ('role-specific Blueprint flow'). This clearly distinguishes it from generic node-adding siblings, though it does not explicitly name an alternative.

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 'for role-specific Blueprint flow' provides an intended usage context and the example shows a valid call, but there is no explicit guidance about when to choose this over siblings like net_add_authority_gate or net_set_role_override, and no prerequisites or when-not-to-use conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_configure_replicated_propertyC

Configure an existing Blueprint member variable as none, replicated, or RepNotify.

Supported replication_condition values include none, initial_only, owner_only, skip_owner, simulated_only, autonomous_only, initial_or_owner, replay_only, skip_replay, custom, dynamic, and never.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_configure_replicated_property(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
variable_nameYes
blueprint_nameYes
replication_modeNoreplicated
replication_conditionNonone

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden of behavioral disclosure. It lists supported replication_condition values, which is useful, but it does not mention side effects, whether the operation is reversible, if it triggers compilation/saving (though the save/compile parameters hint at that), or any failure conditions. The description also does not explain how replication_mode and replication_condition interact or what happens to existing settings. This is insufficient 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 reasonably concise, with the core purpose stated upfront followed by supported values and an example. It is structured logically and not overly verbose. The list of values is necessary, though it could be compressed. The KB link and example are useful additions. Overall, it is well-organized and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with six parameters, two required, and no schema descriptions or annotations, the description is incomplete. It does not explain the optional parameters, prerequisites, error scenarios, or return values (though an output schema exists, it is not shown). The description lacks context about when to use replication_mode versus replication_condition, and does not mention any setup requirements. This leaves significant gaps for an agent to safely and correctly invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only partially explains replication_condition by listing valid values, but it does not explain the meaning of replication_mode, save, compile, or the required blueprint_name and variable_name beyond the example. The description adds limited value for replication_condition but leaves the other five parameters undocumented, which is inadequate for a tool with six parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to configure an existing Blueprint member variable's replication mode (none, replicated, RepNotify). It identifies the specific resource (Blueprint member variable) and the action (configure), which is unambiguous. However, it does not differentiate from closely related siblings like net_set_property_replicated or net_set_replication_condition, so it lacks explicit sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, conditions, or exclusions. The example and KB link are helpful but do not clarify when this tool should be chosen over other net_* tools. There is no 'when to use' or 'when not to use' context, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_configure_rpcC

Configure network flags on an existing Blueprint Custom Event RPC.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_configure_rpc(blueprint_name="/Game/MCP_Test/BP_Example", event_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
reliableNo
rpc_typeNoserver
event_nameYes
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden. It only says 'Configure network flags' without disclosing side effects such as whether the blueprint is saved/compiled, whether existing RPC settings are overwritten, or whether this operation mutates the authored graph. The schema defaults hint at save/compile behavior, but the description itself adds little.

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 compact and front-loaded with the core purpose, followed by a KB reference and a concrete example. There is no fluff, though the brevity comes at the cost of parameter and behavior detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with six parameters, no annotations, no schema-level descriptions, and many closely related siblings, the description is too thin. It provides an example but omits parameter semantics, side effects, and when to prefer this over alternative network configuration tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only illustrates blueprint_name and event_name via an example. The remaining parameters (save, compile, reliable, rpc_type) are left completely unexplained, so the description does not adequately compensate for the schema's lack of documentation.

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 action ('Configure network flags') and target ('existing Blueprint Custom Event RPC'), and 'existing' usefully distinguishes it from creation-oriented RPC tools. However, it does not differentiate from similar siblings like net_set_function_rpc, and 'network flags' is somewhat vague about which flags are involved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives such as net_create_rpc_event or net_set_function_rpc. The KB pointer and example are useful but do not communicate usage context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_create_rpc_eventB

Create or update a Custom Event as a Blueprint RPC.

Supported rpc_type values: server, client, net_multicast, and none. Optional inputs are simple typed event parameters, for example [{"name": "Damage", "type": "Float"}].

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_create_rpc_event(blueprint_name="/Game/MCP_Test/BP_Example", event_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
inputsNo
compileNo
reliableNo
rpc_typeNoserver
event_nameYes
node_positionNo
blueprint_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?

There are no annotations, so the description bears the full burden of explaining behavior. It says 'Create or update' but does not disclose whether this replaces an existing event, whether it requires specific permissions, whether compilation/saving is automatic, or how reliability/replication behavior is affected. The boolean parameters save, compile, and reliable are present in the schema but their behavioral implications are not explained.

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 compact and front-loaded with the main purpose, followed by supporting details, a KB pointer, and a useful example. Each sentence contributes; the example is especially valuable for showing the required arguments. A small amount of formatting friction exists with the embedded code block, but it is acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 8 parameters, no annotations, and an output schema not shown here, the description leaves important gaps: no guidance on duplicate event handling, no relationship to sibling networking tools, and no explanation of what 'Blueprint RPC' creation entails beyond the rpc_type enum. The example and KB link help, but an agent would likely need follow-up questions before invoking this confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates for key parameters: it enumerates valid rpc_type values and gives a concrete JSON example for inputs. However, it leaves save, compile, reliable, and node_position undocumented, and those are not self-evident beyond their 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 or update a Custom Event as a Blueprint RPC.' This is clear and concrete. It does not explicitly contrast itself with sibling tools like net_configure_rpc or net_set_function_rpc, but the focused resource and action are enough to make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the example and the 'Create or update' phrasing, and the supported rpc_type values give practical guidance. However, the description never says when to choose this tool over closely related siblings such as net_configure_rpc or net_set_function_rpc, nor does it give exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_describe_blueprint_replicationA

Inspect an Actor Blueprint's replication defaults, replicated variables, RepNotify callbacks, replicated components, and existing RPC functions.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_describe_blueprint_replication(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes

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 provided, the description carries the full behavioral burden. 'Inspect' does convey a read-only, non-destructive operation, which is valuable, but it does not explicitly say the tool makes no modifications, nor does it mention error behavior or asset-loading requirements. The KB reference and example add modest context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the first sentence states exactly what the tool inspects, the second gives a KB pointer, and the third provides a concrete example. Every sentence earns its place with no 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?

An output schema exists, so return values do not need to be described. The single parameter is illustrated with an example, and the KB reference provides deeper context. The main missing piece is guidance on when to prefer this over related replication inspection/debug tools, but the description is otherwise sufficient 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 for blueprint_name. It provides an example value showing the full asset path format, but it does not explicitly state that blueprint_name must be an asset path, whether a short name is accepted, or what happens if the blueprint is not found. The example helps but leaves some semantics 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?

The description uses a specific verb ('Inspect') and a precise resource ('Actor Blueprint's replication defaults') and enumerates the exact aspects inspected: replicated variables, RepNotify callbacks, replicated components, and RPC functions. This clearly differentiates it from the many net_* mutation 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the read/inspection counterpart to the net_set_* and net_configure_* tools, but it never names alternatives or states when not to use it. The intent is inferable from 'Inspect' and the listed replication features, but there is no explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_get_replication_graph_stateA

Inspect runtime replication graph/net driver state for the active world.

Args: max_actors: Maximum replicated actor samples to include.

KB: see knowledge_base/20_NETWORKING_AND_REPLICATION.md#mcp-network-tools Example: net_get_replication_graph_state(max_actors=10)

ParametersJSON Schema
NameRequiredDescriptionDefault
max_actorsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. The word 'Inspect' clearly signals a non-mutating operation, and 'runtime ... for the active world' adds the key precondition that a live world context must exist. It does not go deeper into failure modes or side effects, but for a read-only inspection tool this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, followed by an Args section, a KB pointer, and a concrete example. Every line earns its place with no redundant 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 has an output schema, so return-value details are covered elsewhere. The one parameter is adequately documented, and the example plus KB reference round out the picture. It stops short of stating prerequisites such as requiring a running PIE session, but 'runtime ... active world' strongly implies the context.

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 for the single parameter. It does: 'Maximum replicated actor samples to include' adds real meaning beyond the property name and type, and the example call demonstrates expected invocation syntax.

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 ('Inspect') and a specific resource ('runtime replication graph/net driver state') scoped to 'the active world'. This clearly distinguishes it from sibling configuration tools like net_set_actor_replicates and net_configure_replicated_property.

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 this is a read-only inspection tool for runtime networking state, but it does not explicitly state when to use it over alternatives like network_debug_replication or net_describe_blueprint_replication. The KB reference and example provide some context, but no explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_set_actor_replicatesC

Configure safe Actor replication defaults on an Actor-derived Blueprint.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_set_actor_replicates(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
replicatesNo
blueprint_nameYes
replicate_movementNo
net_update_frequencyNo
min_net_update_frequencyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for disclosing side effects. The phrase 'safe Actor replication defaults' is vague and does not explain that this modifies a Blueprint asset, can save or compile it, or what specific replication flags and values are changed. Given that this is a mutation tool, the lack of behavioral disclosure 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?

The description is compact and front-loaded with the core purpose. The KB pointer and example are useful and non-redundant. It earns its length, though it sacrifices some needed detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with seven parameters, no annotations, and no parameter descriptions, this definition is incomplete. It lacks behavioral details, parameter semantics, and usage differentiation. The output schema exists but is not shown, and the description does not cover the main operational concerns an agent would need before invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the seven parameters. Only blueprint_name is illustrated via the example path. The meanings of replicates, replicate_movement, net_update_frequency, min_net_update_frequency, save, and compile are left entirely to schema titles and defaults, with no explanation of sentinel values like -1.

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 action ('Configure safe Actor replication defaults') and a specific resource ('Actor-derived Blueprint'). It distinguishes itself from sibling tools like net_set_component_replicates by focusing on Actor-level replication defaults. However, it does not enumerate which default settings are changed, leaving some ambiguity about scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives such as net_set_component_replicates, net_configure_replicated_property, or net_set_replication_condition. The KB reference and example hint at usage context, but there is no when-to-use, when-not-to-use, or alternative-routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_set_component_replicatesC

Configure replication-by-default on a Blueprint SCS component template.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_set_component_replicates(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
replicatesNo
blueprint_nameYes
component_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden of explaining side effects, but it only says 'configure replication-by-default' without disclosing whether this modifies the asset persistently, requires compilation, overwrites existing settings, or affects currently placed instances. The example shows required parameters but does not explain the behavioral implications of the save and compile flags.

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, leads with the core purpose, and includes a concrete example plus a KB reference. It is efficient and easy to parse, though the KB link is not self-contained.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters, zero parameter descriptions, no annotations, and a supervisory KB reference, the description is incomplete for an agent that needs to invoke this tool correctly. It omits the meaning of the boolean flags and fails to explain what 'replication-by-default' concretely changes in the component template.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only illustrates blueprint_name and component_name usage. The optional parameters save, compile, and replicates are entirely unexplained, leaving their semantics to the schema's bare 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 uses a specific verb and resource: 'Configure replication-by-default on a Blueprint SCS component template.' This clearly identifies the tool's action and target, and the example reinforces the intended use. It does not explicitly contrast with sibling tools like net_set_actor_replicates, but the 'component template' phrasing offers reasonable differentiation.

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 for when to use this tool versus alternatives such as net_set_actor_replicates, net_configure_replicated_property, or net_set_property_replicated. The KB link is too vague to serve as actionable routing guidance, and there are no stated prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_set_function_rpcB

Create or configure a Blueprint Custom Event as an RPC.

Args: blueprint_name: Actor Blueprint asset name or path. function_name: Custom Event/function name to configure. rpc_type: server, client, netmulticast, net_multicast, multicast, or none. reliable: Mark the RPC reliable when True. create_if_missing: Create the Custom Event if it does not already exist. inputs: Optional typed input pins, e.g. [{"name": "Damage", "type": "Float"}]. node_position: Optional [X, Y] graph position for newly created events. save: Save the Blueprint package after mutation. compile: Compile the Blueprint after mutation.

KB: see knowledge_base/20_NETWORKING_AND_REPLICATION.md#mcp-network-tools Example: net_set_function_rpc(blueprint_name="/Game/BP_Door", function_name="Server_RequestOpen", rpc_type="server")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
inputsNo
compileNo
reliableNo
rpc_typeNoserver
function_nameYes
node_positionNo
blueprint_nameYes
create_if_missingNo

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 fully disclose behavioral traits. It mentions save and compile but does not explicitly state that the tool mutates the Blueprint asset, whether existing RPC settings are overwritten, or if any prerequisites (e.g., blueprint must exist) apply. Side effects and potential risks are not 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?

The description is structured as a clear list of arguments with brief explanations, an example, and a KB reference. It is reasonably concise despite covering 9 parameters, and the front-loaded action sentence helps orient the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 params, many optional) and the presence of an output schema (though not shown), the description covers the necessary parameters and provides an example and KB link. It lacks explicit statements about error handling or prerequisites, but overall it is fairly complete for an agent 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 fully carries parameter explanations. It explains each parameter well, including allowed values for rpc_type, an example for inputs, and notes for node_position. This adds significant meaning beyond the bare schema types and 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 clearly states the action ('Create or configure a Blueprint Custom Event as an RPC') with a specific resource and purpose. It distinguishes itself from sibling tools like net_configure_rpc and add_custom_event by focusing on RPC configuration of a specific function, though it does not explicitly contrast with 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 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 the many related networking tools (e.g., net_configure_rpc, net_create_rpc_event). The example implies a use case but does not state exclusions or conditions that would select this tool over siblings. The description relies on the name and schema to convey intent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_set_owner_referenceB

Add an AActor.SetOwner call node for server-side ownership setup.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_set_owner_reference(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 only says the tool adds a node; it does not describe side effects, prerequisites like network/replication setup, node placement behavior, or whether the operation mutates the blueprint beyond inserting the node.

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, front-loaded with the core action, and includes both a KB reference and an example. Every element earns its place, though the example path is somewhat arbitrary.

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, but the tool still lacks guidance on parameter usage and when to choose it over alternatives. For a four-parameter mutation tool with no annotations, the description leaves important gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. The example only demonstrates blueprint_name; save, compile, and node_position are not explained, though their names and defaults provide partial hints.

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: 'Add an AActor.SetOwner call node'. The phrase 'for server-side ownership setup' clarifies the intended purpose and distinguishes this from related sibling tools like net_set_actor_replicates or add_get_owner_node.

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?

'For server-side ownership setup' gives a clear usage context, and the example demonstrates a concrete invocation. However, it does not explicitly state when not to use this tool or mention alternatives such as net_set_actor_replicates.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_set_property_replicatedA

Configure an existing Blueprint variable for replication or RepNotify.

Args: blueprint_name: Actor Blueprint asset name or path. variable_name: Existing Blueprint member variable. replicated: Enable replication when True; disable when False. repnotify: Use RepNotify instead of plain replication. replication_condition: Lifetime condition such as none, owner_only, or skip_owner. save: Save the Blueprint package after mutation. compile: Compile the Blueprint after mutation.

KB: see knowledge_base/20_NETWORKING_AND_REPLICATION.md#mcp-network-tools Example: net_set_property_replicated(blueprint_name="/Game/BP_Door", variable_name="bIsOpen", repnotify=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
repnotifyNo
replicatedNo
variable_nameYes
blueprint_nameYes
replication_conditionNonone

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 supplied, the description carries the full disclosure burden. It does disclose the side-effectful save and compile behavior and explains enable/disable semantics for replicated/repnotify, plus points to a KB reference. However, it does not describe consequences of changing replication settings, preconditions, or failure modes, so transparency is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a one-sentence purpose, followed by a clean per-argument list, a KB pointer, and a concrete example. Every section earns its place without unnecessary prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return-value details are not needed here. The description covers all parameters, the save/compile side effects, provides an example, and links to relevant knowledge base material. It is slightly incomplete only in not offering explicit comparison to sibling replication 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 parameter list is essential and it covers all seven parameters with practical meanings, including examples for replication_condition and a worked invocation. It loses a point because it does not clarify interactions between options, such as what happens when replicated is false but repnotify is true.

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 action—'Configure an existing Blueprint variable for replication or RepNotify'—with a clear resource and goal. It differentiates at the level of 'Blueprint variable' from actor/component-level siblings, but it does not explicitly distinguish itself from closely named tools like net_configure_replicated_property.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by 'existing Blueprint variable' and 'replication or RepNotify', which tells an agent this is for variable-level replication configuration. However, the description never names alternatives such as net_set_actor_replicates or net_add_repnotify_variable, nor states when not to use this tool. The routing guidance is therefore implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_set_replication_conditionB

Set the lifetime replication condition for a Blueprint variable.

Args: blueprint_name: Actor Blueprint asset name or path. variable_name: Existing Blueprint member variable. replication_condition: Condition such as none, initial_only, owner_only, or skip_owner. replication_mode: replicated, repnotify, or none. save: Save the Blueprint package after mutation. compile: Compile the Blueprint after mutation.

KB: see knowledge_base/20_NETWORKING_AND_REPLICATION.md#mcp-network-tools Example: net_set_replication_condition(blueprint_name="/Game/BP_Door", variable_name="bIsOpen", replication_condition="owner_only")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
variable_nameYes
blueprint_nameYes
replication_modeNoreplicated
replication_conditionYes

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?

There are no annotations, so the description carries the behavioral burden. It does disclose that the variable must already exist, that save/compile happen after mutation, and it points to KB documentation. Still, it does not explain runtime replication effects, error conditions, or what happens to already-spawned actors, so transparency is adequate but incomplete.

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 reasonably compact and well-structured with a one-line purpose, an Args block, a KB pointer, and an example. It front-loads the key action before parameter details. Minor redundancy in the save/compile lines does not significantly hurt readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 parameters, no annotations, and touches nuanced networking/Blueprint concepts. The description covers parameter meaning and gives an example plus KB reference, but it lacks guidance on expected asset path formats, validation behavior, or post-mutation effects beyond saving and compiling. The presence of an output schema reduces the need for return-value documentation.

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 by explaining each parameter: blueprint_name is 'Actor Blueprint asset name or path,' variable_name is an existing member variable, and replication_condition lists representative values. It also gives allowed values for replication_mode and a concrete example, which is useful 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 opens with a specific verb and resource: 'Set the lifetime replication condition for a Blueprint variable.' It is clear about what the tool does. However, it does not explicitly distinguish itself from closely related siblings like net_set_property_replicated or net_configure_replicated_property, so it misses the top score.

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 when-to-use or when-not-to-use guidance and names no alternatives. Given the dense sibling list of networking tools, an agent is left to infer when this tool should be chosen over net_set_actor_replicates, net_add_repnotify_variable, or net_configure_replicated_property.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_set_role_overrideB

Add a role-switch helper node for authority/role-specific Blueprint flow.

Args: blueprint_name: Actor Blueprint asset name or path. node_position: Optional [X, Y] graph position. save: Save the Blueprint package after mutation. compile: Compile the Blueprint after mutation.

KB: see knowledge_base/20_NETWORKING_AND_REPLICATION.md#mcp-network-tools Example: net_set_role_override(blueprint_name="/Game/BP_Door", node_position=[400, 0])

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
node_positionNo
blueprint_nameYes

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 burden of disclosing side effects. It does state that the tool mutates a Blueprint by adding a node and that save/compile are optional post-mutation steps. However, it does not explain other behavioral effects, such as where the node is placed by default or what 'role override' means in the generated graph.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, followed by a brief Args list, a KB pointer, and a concrete example. Every section earns its place and there is 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?

The presence of an output schema reduces the need to document return values, and the example plus KB link help. Still, the description lacks enough domain context to distinguish this role-override helper from sibling role-switch tools, and it does not explain the intended graph-level outcome well enough for a fully informed call.

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's Args section is essential. It covers all four parameters, and the example clarifies the node_position format. The save/compile explanations are minimal but sufficient, and blueprint_name is usefully described as either an asset name or path.

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 action ('Add a role-switch helper node') and a clear resource/domain ('authority/role-specific Blueprint flow'). This is enough to understand the basic purpose, but it does not clarify how this tool differs from the similarly named sibling net_add_role_switch.

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 like net_add_role_switch or net_add_authority_gate. The KB link is a reference pointer, not usage routing, so an agent cannot decide between overlapping networking tools from this description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

net_validate_common_mistakesA

Validate common Blueprint networking mistakes such as replicated state on non-replicating Actors, missing RepNotify handlers, and risky RPCs.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: net_validate_common_mistakes()

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameNo

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 disclosure burden. It does name concrete checks, which gives useful behavioral specificity, and the KB pointer adds context. But it never states whether the operation is read-only, what scope it covers, whether it modifies the Blueprint, or how findings are reported.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded. The core purpose appears in the first sentence, followed by a useful KB reference and a minimal call example. Every line 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.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema, the description covers the 'what' well through examples and a KB link. However, target-selection semantics, side-effect behavior, and broader usage boundaries are left to inference, leaving a real gap when an agent must decide whether this is the right validation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage and the description never mentions blueprint_name. The schema title 'Blueprint Name' and default value are somewhat self-explanatory, but the description does not clarify the expected name format, what an empty value means, or whether the parameter filters validation scope.

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 opens with a specific verb ('Validate') and a concrete resource ('common Blueprint networking mistakes'), then enumerates three concrete categories: replicated state on non-replicating Actors, missing RepNotify handlers, and risky RPCs. This clearly distinguishes it from sibling net_* tools that configure or describe replication rather than audit it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied clearly: run this when you want to check a Blueprint for common networking mistakes. However, there is no explicit when-to-use/when-not-to-use guidance and no named alternatives, even though nearby siblings like net_describe_blueprint_replication and bp_validate_blueprint could serve related purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network_debug_replicationA

Capture a runtime/editor replication snapshot: net mode, net driver, connections, network object counts, and replicated actor samples.

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: network_debug_replication()

ParametersJSON Schema
NameRequiredDescriptionDefault
max_actorsNo

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 provided, the description must carry the full burden of behavioral disclosure. It says 'capture' which suggests a read-only operation, but it does not explicitly state that no modifications are made, nor does it mention prerequisites like a running game/editor or potential performance impact. The list of captured items gives some context, but side effects and requirements are left unaddressed.

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 efficient and well-structured: a single sentence stating purpose and contents, a KB reference, and a short example. It front-loads the main action and avoids unnecessary detail, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main output categories, which helps understand the result, but it omits the max_actors parameter and any usage prerequisites (e.g., needing a PIE session or editor context). Since an output schema is present (though not shown), return details are handled separately, but the description still lacks guidance on when to use this tool and what the parameter does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional parameter, max_actors, with a default of 25, but the schema description coverage is 0%. The tool description does not mention this parameter at all, leaving its purpose ambiguous (likely the maximum number of actor samples). The example call omits arguments, so the agent may not know what max_actors controls without external knowledge.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb 'capture' and a specific resource 'runtime/editor replication snapshot', and enumerates the contents (net mode, net driver, connections, network object counts, replicated actor samples). This distinguishes it from sibling configuration tools like net_set_actor_replicates, which are for setup rather than diagnostics.

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 this is for debugging by capturing a snapshot, but it does not explicitly state when to use it versus alternative replication tools such as net_describe_blueprint_replication or net_get_replication_graph_state. No exclusions or conditions are given, so an agent must infer usage from the diagnostic nature.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_add_empty_emitterC

Add a native empty emitter handle to a Niagara System asset.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_add_empty_emitter(system_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
system_pathYes
emitter_nameNoMCP_Emitter
add_default_modulesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'Add' and gives an example; it does not mention whether the target system must already exist, whether existing asset data is modified, how the save parameter affects persistence, or what side effects the 'add_default_modules=false' default may have. The KB link is not embedded context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads the core action, and includes a concrete usage example plus a KB pointer. It stays short and readable, though some of that brevity comes at the expense of parameter and behavioral context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with no annotations and four parameters, the description omits prerequisites, side-effect details, and the meaning of the optional parameters. An output schema exists, so return values need less explanation, but the missing operational context makes the description incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only demonstrates system_path via an example. It adds no meaning for save, emitter_name, or add_default_modules beyond their names and defaults, which is insufficient compensation for a schema with no parameter documentation.

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 action ('Add') and target resource ('Niagara System asset'), and the phrase 'native empty emitter handle' conveys specific scope. It does not explicitly differentiate from sibling tools like niagara_create_system, but the verb+resource combination is clear enough that an agent can tell it is an additive emitter operation.

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 an example call but no guidance on when to use this tool versus alternatives such as niagara_add_sprite_renderer, niagara_add_mesh_renderer, or niagara_create_system. The KB reference is a pointer to external docs, not an explanation of selection conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_add_mesh_rendererC

Add a Mesh Renderer to an existing Niagara emitter handle.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_add_mesh_renderer(system_path="/Game/MCP_Test/Example", static_mesh_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
emitter_idNo
system_pathYes
emitter_nameNo
material_pathNo
static_mesh_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full behavioral burden. It discloses that the operation adds a renderer to an existing emitter, but it does not describe the asset mutation, the save default (true), whether existing renderers are replaced, or failure conditions. This is significant for a mutating 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 short and front-loaded with the action, and the example adds concrete invocation details without fluff. The KB pointer is a small addition, but the overall structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter tool with no annotations and zero schema description coverage, the description is incomplete: it leaves emitter targeting, optional parameters, and save behavior unexplained. The output schema exists, so return values do not need to be covered, but the invocation contract is still under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters, but it only provides a minimal two-parameter example. It does not explain emitter_id vs emitter_name selection, the optional material_path, or the side effect of save. The property names are somewhat self-explanatory, but the critical target-selection 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 uses a specific verb and resource: 'Add a Mesh Renderer' to an 'existing Niagara emitter handle', which distinguishes it from the sibling niagara_add_sprite_renderer. However, the term 'emitter handle' is undefined and the description does not clearly explain that emitter_id/emitter_name select the target emitter, so it is not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided, and no alternatives such as niagara_add_sprite_renderer or niagara_add_empty_emitter are mentioned. The only usage signal is the implied condition that an existing emitter must be present, which is not enough for an agent to choose this over sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_add_sprite_rendererC

Add a Sprite Renderer to an existing Niagara emitter handle.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_add_sprite_renderer(system_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
emitter_idNo
system_pathYes
emitter_nameNo
material_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/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 only states that a sprite renderer is added and provides an example; it does not mention save behavior, whether an existing renderer is overwritten, whether the emitter must already be loaded, or what side effects occur. The 'emitter handle' wording also conflicts somewhat with the system_path-based parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with no filler, and the KB pointer and example add some value. However, the structure is minimal for a tool with five parameters and no annotations, so the brevity is more under-specification than effective condensation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutating Niagara tool with unknown annotation semantics and five parameters, but the description does not cover emitter selection, material handling, or save behavior. The output schema exists, so return values need not be described, but the operational context is too incomplete for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only illustrates system_path usage in an example. emitter_id, emitter_name, material_path, and save are left completely unexplained, making it unclear how to target an emitter or configure the renderer.

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 action and target: adding a Sprite Renderer to an existing Niagara emitter, with a concrete example invocation. It is distinguishable from the sibling niagara_add_mesh_renderer by renderer type, though it does not explicitly contrast with siblings and refers to an 'emitter handle' while the parameters use system_path/emitter_id/emitter_name.

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 for when to use this tool versus niagara_add_mesh_renderer, niagara_add_empty_emitter, or other Niagara tools. There is also no explanation of when to supply emitter_id versus emitter_name or whether material_path is required, leaving the agent to infer invocation context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_apply_system_settingsC

Apply safe Niagara System-level settings such as warmup and fixed bounds.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_apply_system_settings(system_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
system_pathYes
warmup_timeNo
fixed_bounds_maxNo
fixed_bounds_minNo
warmup_tick_countNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 behavioral disclosure burden. It states that the settings are 'safe' and mentions warmup and fixed bounds, but it does not disclose that this mutates the system, whether existing settings are overwritten, what save does, or whether the operation is reversible. The KB link may help, but the description itself 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?

The description is compact: two sentences plus a KB reference and an example call. The main purpose is front-loaded and the example is directly useful. It loses one point because the 'safe' wording is vague and the KB link is not self-explanatory, but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with six parameters, no annotations, and 0% schema description coverage, this description is incomplete. It lacks parameter semantics, usage guidance, and behavioral detail; the presence of an output schema does not compensate for selection ambiguity among sibling Niagara tools. The KB reference is a useful pointer but not embedded guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only maps 'warmup and fixed bounds' to the warmup/fixed-bounds parameters and shows system_path in the example. It does not explain warmup_time vs warmup_tick_count, the meaning of the fixed-bounds arrays, or the save parameter's effect.

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 action (apply) on a clear resource (safe Niagara System-level settings) and lists example setting categories (warmup, fixed bounds). It does not explicitly differentiate from sibling tools such as niagara_set_fixed_bounds, but the broad 'system-level settings' phrasing conveys the general scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives like niagara_set_fixed_bounds or niagara_profile_system, nor does it state whether this tool should be preferred for applying multiple settings at once. The KB link and example show invocation but not selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_create_systemC

Create an empty Niagara System asset when the UE editor factory is available.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_create_system(system_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
overwriteNo
folder_pathNo/Game/VFX
system_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 behavioral disclosure burden. It only states the create action and the editor factory availability condition, but does not mention side effects such as saving to disk, behavior when an asset already exists, meaning of the overwrite parameter, or failure modes. This is insufficient 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 short and front-loaded with the primary action, and the KB reference and example add practical value without redundancy. It could be slightly more informative, but it is not verbose and every line 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?

With four parameters, no annotations, and many related sibling tools, this description is too thin to fully support correct invocation. It lacks guidance on valid folder paths, overwrite behavior, prerequisites beyond factory availability, and how this creation relates to later emitter-adding steps. The KB reference helps but does not make the tool self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only demonstrates system_name in an example. The parameters save, overwrite, and folder_path are not explained beyond their names, defaults, and types in the schema. This leaves an agent guessing about overwrite semantics and path conventions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation: 'Create an empty Niagara System asset'. It uses a specific verb and resource, and the word 'empty' distinguishes it from emitter-adding tools. However, it does not explicitly name or differentiate sibling tools, so it stops short of full clarity.

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 gives a prerequisite ('when the UE editor factory is available') and an example call, which implies the intended use case of creating a new system. It does not explicitly state when to prefer this tool over alternatives like niagara_add_empty_emitter or niagara_find_systems, nor 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.

niagara_describe_systemB

Describe a Niagara System asset and report what Python can safely inspect.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_describe_system(system_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
system_pathYes

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 burden. It discloses that the tool reports what Python can safely inspect, which hints at a read-only safety assessment. However, it does not detail what happens if the system_path is invalid, whether it modifies anything, or what the output structure looks like. The 'safely inspect' phrasing is useful but underdeveloped.

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 core purpose. The KB reference and example are useful, but the KB link is somewhat cryptic and the example could be integrated more cleanly. Overall, it is concise without excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are presumably covered there. However, with no annotations, no parameter documentation, and only a bare example, the description leaves gaps about error behavior, path format, and what 'safely inspect' means in practice. It is adequate for a simple inspection tool but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only shows an example with system_path='/Game/MCP_Test/Example'. It does not explain the expected format of system_path (e.g., full asset path, package path, whether it must be a valid asset), nor does it describe any constraints. The example provides some guidance but is insufficient for a single required parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Describe') and resource ('a Niagara System asset'), and adds a safety-oriented purpose ('report what Python can safely inspect'). It is distinguishable from siblings like niagara_find_systems or niagara_validate_authoring_support, though it doesn't explicitly name 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?

The description implies usage context by mentioning 'what Python can safely inspect', which suggests it is a read-only inspection tool. However, it does not explicitly state when to use this tool versus alternatives like niagara_find_systems or niagara_validate_authoring_support, nor does it provide exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_find_systemsC

Find Niagara System and Emitter assets through the Asset Registry.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_find_systems()

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
searchNo
root_pathNo/Game

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/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 only states that assets are found through the Asset Registry, without mentioning pagination behavior, search semantics, root path effects, or whether this is a read-only operation. The behavior is implied but not explicitly disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the main purpose. However, the example adds little value because it omits all parameters, and the KB reference is a link rather than integrated guidance. It is concise but under-specified rather than efficiently complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four undocumented parameters and no annotations, the description is far from complete. The output schema exists, but the agent still lacks key context about search/filter semantics, default behavior, and relationship to sibling Niagara and asset-finding tools. The KB link may help, but the description itself does not provide enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate by explaining any of the four parameters (page, limit, search, root_path). The example call uses no arguments, which only implies the parameters are optional, but provides no meaning for search, root_path, pagination, or limits.

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 action ('Find') and resource ('Niagara System and Emitter assets') via the Asset Registry. It is understandable and specific to Niagara assets, though it does not explicitly differentiate it from sibling search tools like ue_find_assets_by_class or project_find_assets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as ue_find_assets_by_class, project_find_assets, or niagara_describe_system. The KB link hints at related context, but there is no explicit when-to-use or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_get_effect_recipeB

Return an original Niagara module-stack recipe for a named effect.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_get_effect_recipe()

ParametersJSON Schema
NameRequiredDescriptionDefault
recipe_nameNoblackhole_orb_inflow

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 carries the full burden. It says 'Return' which implies a read-only retrieval, but it does not disclose side effects, error behavior, prerequisites, or what happens for unknown recipe names. The description adds only the basic action and leaves behavioral expectations unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the action, followed by a useful KB reference and a call example. It contains no filler. The example is somewhat minimal but the overall structure is 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?

Given a single optional parameter and an output schema, the description plus KB link may be enough for basic use. However, it leaves gaps around valid recipe names, the meaning of 'original', and behavior when the requested effect is not found. It is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It gives a slight semantic hint that the parameter is a 'named effect', which maps to recipe_name, but it never names the parameter, explains valid values, or points to where available recipe names can be found. The example call omits the parameter, relying entirely on the schema 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 clearly states a specific action ('Return') on a specific resource ('original Niagara module-stack recipe') for a named effect. This distinguishes it from the many sibling Niagara tools focused on creating, describing, or modifying systems. However, 'original' is slightly ambiguous and it doesn't explicitly contrast with related tools like niagara_describe_system.

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 this when you need a module-stack recipe for a named effect. The KB link and example provide some context, but there is no explicit guidance on when to prefer this over related Niagara tools or when not to use it. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_profile_systemB

Return lightweight asset-level Niagara profiling data and authoring hints.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_profile_system(system_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
system_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 present, so the description carries the behavioral disclosure burden. The word 'Return' signals a read-style operation and 'asset-level' scopes the behavior, but it does not state whether the asset is modified, what prerequisites exist, or whether the profiling data is cached or live.

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 compact: one purpose sentence, a KB pointer, and one invocation example. Everything present contributes, and the key 'lightweight asset-level profiling' phrase is front-loaded.

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 one required parameter and an output schema, the basic invocation is adequately covered, and the KB pointer adds reference depth. However, the lack of usage guidance and behavioral notes means an agent must infer too much when selecting among many Niagara and validation 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%, but the single system_path parameter is fairly self-describing and the example '/Game/MCP_Test/Example' adds concrete Unreal asset path-format semantics beyond the schema. The description could still spell out explicitly that this is the asset path of the Niagara System to profile.

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 (Return) and a specific resource (lightweight asset-level Niagara profiling data and authoring hints), so the core purpose is clear. It does not explicitly distinguish itself from nearby Niagara tools like niagara_describe_system or niagara_validate_authoring_support, so it misses the top score.

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 or when-not-to-use guidance and names no alternatives. The example shows only invocation syntax, and 'lightweight asset-level' hints at a use case but does not tell an agent how to choose this tool over other Niagara inspection or validation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_set_fixed_boundsB

Set Niagara System fixed bounds without changing unrelated system settings.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_set_fixed_bounds(system_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
system_pathYes
fixed_bounds_maxNo
fixed_bounds_minNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It only promises not to change unrelated settings and gives an example; it does not mention save behavior, asset persistence, validation, side effects, or what happens to existing bounds.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: a clear one-sentence purpose, a KB pointer, and a callable example. There is no filler or redundant restatement of 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?

The tool is fairly simple and the schema carries useful defaults, but with no annotations and no parameter explanations, the description leaves gaps around save semantics and bounds-field behavior. The KB link and example help, making this minimally viable rather than fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate by explaining the parameters. It only demonstrates system_path in an example and adds no meaning for save, fixed_bounds_min, or fixed_bounds_max beyond their schema titles and defaults.

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 precise action—'Set Niagara System fixed bounds'—on a specific resource, and adds a scoping guarantee: 'without changing unrelated system settings.' This clearly distinguishes it from broader tools like niagara_apply_system_settings.

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 'without changing unrelated system settings' implies this is the focused tool for fixed-bounds edits, and the KB link provides context, but it never explicitly says when to use this versus siblings like niagara_apply_system_settings or niagara_describe_system. No prerequisites, exclusions, or alternative-routing guidance are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_set_spawn_rateC

Add or update an emitter SpawnRate module and set its particles-per-second value.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_set_spawn_rate(system_path="/Game/MCP_Test/Example", spawn_rate=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
emitter_idNo
spawn_rateYes
system_pathYes
emitter_nameNo

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?

Annotations are absent, so the description must carry the full burden. It only states 'Add or update' without detailing side effects (e.g., whether the asset is saved, whether existing module is replaced, error behavior if emitter not found). No mention of persistence, permissions, or impact on other settings. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the main purpose. The KB link and example are appended logically. It is concise with no fluff, though the example formatting is inline rather than clearly separated, which slightly reduces readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 5 parameters and no annotations, the description is incomplete. It does not explain emitter selection (emitter_id vs emitter_name), save behavior, or return value (output schema exists but not described). The KB link is external and may not be accessible to the agent. Missing essential context for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only touches system_path and spawn_rate via the example; emitter_id, emitter_name, and save are not explained. The difference between emitter_id and emitter_name, and the role of save, remain unclear. The example provides minimal hint for required params only.

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 clear verb ('Add or update') and specific resource ('emitter SpawnRate module') with the value set ('particles-per-second'). It distinguishes from siblings like niagara_set_system_user_parameter by targeting the SpawnRate module specifically. The example further clarifies the intended use.

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 other Niagara tools, nor any exclusions or prerequisites. The example shows a basic call but does not explain when this is the appropriate choice (e.g., when modifying spawn rate vs. other emitter settings). No mention of alternatives or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_set_system_user_parameterC

Add or update a Niagara System exposed user parameter.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_set_system_user_parameter(system_path="/Game/MCP_Test/Example", parameter_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
valueNo
system_pathYes
parameter_nameYes
parameter_typeNofloat

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It reveals that the operation adds or updates a parameter, but it does not explain side effects such as asset persistence, whether existing parameters are overwritten, how the save flag behaves, or what 'exposed' means operationally.

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 compact and front-loaded with the core verb and resource. The KB reference and single example are useful and non-redundant. It could be slightly better structured with parameter explanations, but it wastes little space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no annotations and zero parameter documentation, this description is not complete enough for reliable invocation. The agent is left without guidance on data types, defaults, required parameter interactions, or operational prerequisites, despite an output schema being present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only illustrates system_path and parameter_name via example. The value, parameter_type, and save fields are left completely unexplained; an agent cannot determine valid value formats or how parameter_type affects the operation.

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 action ('Add or update') targeting a specific resource ('Niagara System exposed user parameter'). The example showing system_path and parameter_name reinforces the operation. It is distinguishable from siblings like niagara_set_spawn_rate, though 'exposed user parameter' is slightly ambiguous without domain knowledge.

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 niagara_apply_system_settings, niagara_describe_system, or niagara_set_fixed_bounds. The KB link and example imply context but provide no conditions, exclusions, or decision rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niagara_validate_authoring_supportB

Probe available Niagara Python/editor APIs before native authoring work.

KB: see knowledge_base/09_NIAGARA_VFX.md#overview Example: niagara_validate_authoring_support()

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?

No annotations are provided, so the description carries the full burden. It says 'Probe' which suggests a read-only operation, but it doesn't disclose what the probe returns, whether it has side effects, what 'authoring support' means concretely, or what the agent should do with the result. The KB reference is a pointer but not a disclosure of behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose. The KB reference and example are useful but the example is somewhat redundant for a zero-parameter tool. Still, it's compact and every sentence contributes.

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 zero-parameter probe tool, the description is mostly adequate, but it lacks detail on what the output looks like or how to interpret the results. The output schema exists but isn't shown in the provided context, so the description could have explained what 'authoring support' means. The KB reference partially compensates.

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 the schema is trivially complete (100% coverage). The description adds context about the purpose of the probe, which is sufficient for a no-arg tool. Baseline 4 for zero-param tools is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Probe') and resource ('available Niagara Python/editor APIs') and frames it as a pre-flight check before native authoring work. It is distinguishable from sibling Niagara tools like niagara_create_system or niagara_describe_system, though it doesn't explicitly name a sibling to differentiate from.

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 'before native authoring work' implies when to use it, and the KB reference provides a pointer for deeper context. However, it doesn't explicitly state when NOT to use it or name alternative tools (e.g., niagara_describe_system for inspecting an existing system). The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

online_configure_default_subsystemC

Set the default Online Subsystem service in project config.

KB: see knowledge_base/30_ONLINE_SUBSYSTEM_AND_EOS.md#mcp-online-subsystem-and-eos-tools Example: online_configure_default_subsystem(default_service="EOS", native_service="EOS")

ParametersJSON Schema
NameRequiredDescriptionDefault
native_serviceNo
default_serviceNoEOS
enable_online_subsystemNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It clearly implies a project configuration mutation, but it does not disclose side effects, persistence, permissions, or whether existing settings are overwritten. The example illustrates a call but does not describe behavior beyond the basic action.

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 with the core purpose, followed by a KB reference and a concrete example. Every line 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.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with three parameters, no annotations, and zero schema-level descriptions, the description is not complete enough for reliable invocation. The output schema may cover return values, but input semantics and operational side effects remain under-specified; the KB link only partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only echoes two parameter names in the example and says nothing about 'enable_online_subsystem'. Parameter names are somewhat self-explanatory, but accepted values, relationships, and defaults are not clarified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource: set the default Online Subsystem service in project config. It is clear and actionable, but it does not differentiate itself from sibling config tools like online_configure_eos_sessions or online_create_eos_artifact_config.

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 when-to-use guidance or exclusions relative to alternative online configuration tools. The KB link and example imply usage, but the agent is not told when this tool should be preferred over sibling tools, nor what prerequisites might apply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

online_configure_eos_sessionsC

Configure EOS session, lobby, presence, connect, and stat mirroring flags.

KB: see knowledge_base/30_ONLINE_SUBSYSTEM_AND_EOS.md#mcp-online-subsystem-and-eos-tools Example: online_configure_eos_sessions(use_eos_sessions=True, use_eos_lobbies=True, use_eos_presence=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
use_eos_connectNo
use_eos_lobbiesNo
use_eos_presenceNo
use_eos_sessionsNo
mirror_stats_to_eosNo

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 mentions 'Configure' which implies mutation, but does not disclose whether the changes persist, affect project settings, require a restart, or have side effects. The KB link is a reference, not a description of behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the action. It includes a useful KB reference and an example call, which aids comprehension without excessive text. Every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 optional parameters and no annotations, the description lacks essential context: when to use it, what happens when flags are set, and what the output looks like. The example helps but does not cover usage boundaries or behavioral 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 compensate. It lists the flags ('session, lobby, presence, connect, and stat mirroring'), which maps directly to the parameter names, but adds little beyond the schema's titles. It does not explain the meaning or consequences of toggling these booleans.

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 ('Configure') and resource ('EOS session, lobby, presence, connect, and stat mirroring flags'), clearly distinguishing the tool from siblings like online_inspect_config or online_configure_default_subsystem. It enumerates the exact flags without being ambiguous.

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. A code example is provided, but no conditions, exclusions, or references to sibling tools. The usage context is only implied by the tool's name and parameter list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

online_create_eos_artifact_configC

Create or update EOS artifact identity settings in project config.

KB: see knowledge_base/30_ONLINE_SUBSYSTEM_AND_EOS.md#mcp-online-subsystem-and-eos-tools Example: online_create_eos_artifact_config(artifact_name="Dev", product_id="...", sandbox_id="...", deployment_id="...")

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idNo
product_idNo
sandbox_idNo
artifact_nameYes
client_secretNo
deployment_idNo
store_secretsNo
encryption_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 'Create or update' implying mutation, but does not disclose side effects, overwrite behavior, required permissions, or what happens when the artifact already exists. It also doesn't describe the return value or potential errors. The description is too thin to be transparent about behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loads the purpose, and includes a useful example. The KB link adds reference value without bloating the text. It is appropriately sized, though the example could be trimmed if it weren't informative. Overall, efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no annotations, and an output schema (not visible), the description is grossly incomplete. It doesn't explain which parameters are required, their semantics, the behavior of optional fields, or what the output contains. An agent cannot reliably call this tool correctly without external KB lookup. The description alone is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 8 parameters with 0% description coverage. The description only shows an example with artifact_name, product_id, sandbox_id, and deployment_id, but does not explain their meaning or the roles of client_id, client_secret, store_secrets, encryption_key. With no schema descriptions, the description must compensate but does not. This is a significant gap.

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 clear verb ('Create or update'), the resource ('EOS artifact identity settings'), and the scope ('in project config'). This distinguishes it from sibling online tools like online_inspect_config (inspection) and online_configure_eos_sessions (session configuration). The example further clarifies usage.

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. It doesn't mention when to prefer this over online_configure_eos_sessions or online_inspect_config, nor any prerequisites or context. The example shows a call but not the decision process. Minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

online_inspect_configC

Inspect Online Subsystem and EOS project configuration.

KB: see knowledge_base/30_ONLINE_SUBSYSTEM_AND_EOS.md#mcp-online-subsystem-and-eos-tools Example: online_inspect_config(include_plugins=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
include_pluginsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/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. 'Inspect' implies a read-only operation, but the description does not explicitly state it is non-destructive, nor does it mention any side effects, permissions, or output format. It adds minimal behavioral context beyond the 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?

The description is concise and well-structured, with a one-line purpose, a KB reference, and an example. It is front-loaded with the main function and avoids unnecessary verbosity. The example is a useful addition, though it duplicates the parameter name.

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 description is too sparse for a tool with an output schema and an optional parameter. It does not explain what the output contains, what the parameter does, or any context about the configuration being inspected. While the output schema covers return structure, the description leaves the parameter semantics and tool scope ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, and the description does not explain the meaning of include_plugins. The example uses the parameter but provides no explanation of its effect. The parameter name gives some hint, but the description adds no additional value over the bare schema property.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool inspects Online Subsystem and EOS project configuration, using a specific verb and resource. It is distinct from sibling configuration tools like online_configure_default_subsystem, though it does not explicitly name alternatives. The example reinforces the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It only provides an example call, but no context about when inspection is appropriate or when a configuration tool should be used instead. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcg_check_supportA

Report whether Unreal Python exposes the PCG classes needed by Ghost.

KB: see knowledge_base/10_WORLD_BUILDING.md#4-procedural-content-generation-pcg Example: pcg_check_support()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 communicates that this is a read-only support query ('Report whether') and references KB documentation, but it does not disclose session requirements (e.g., whether Unreal must be running) or failure behavior. Adequate for a simple check, but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact elements: a one-sentence purpose, a KB pointer, and an example call. No filler or repetition, and the purpose is front-loaded.

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 zero parameters and an output schema present, the description covers the core invocation need; the KB anchor and example round it out for a low-complexity tool. The main omission is guidance on when to run this check relative to other PCG operations, which prevents a perfect 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?

The input schema has zero parameters at 100% coverage, so there is nothing for the description to add. The included example call pcg_check_support() confirms the no-argument invocation, matching the baseline for zero-parameter tools.

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?

Description opens with a specific action—'Report whether'—and names the exact resource: Unreal Python's exposure of PCG classes needed by Ghost. This clearly distinguishes it from sibling PCG tools like pcg_create_graph_asset and pcg_create_volume, which mutate assets rather than probe support.

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-to-use, when-not-to-use, or alternative conditions are stated. The intended use is only implied by the tool name and 'Report whether...' wording, and the KB link suggests broader workflow context but does not explain when to prefer this check over other PCG tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcg_create_graph_assetA

Create or reuse a PCG graph asset through Unreal Python when available.

Args: graph_path: Content Browser path such as /Game/PCG/PCG_CityDistrict. overwrite: Delete an existing graph before creation. save: Save the graph package after creation.

KB: see knowledge_base/10_WORLD_BUILDING.md#4-procedural-content-generation-pcg Example: pcg_create_graph_asset(graph_path="/Game/PCG/PCG_CityDistrict")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
overwriteNo
graph_pathNo/Game/PCG/PCG_CityDistrict

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?

With no annotations, the description carries the full burden. It discloses the overwrite behavior (deleting an existing graph) and save option, but does not clarify what happens if the graph exists and overwrite is false (reuse is mentioned but not detailed), nor any permissions or failure modes. This is a partial disclosure 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-sentence purpose, a clear Args list, a KB reference, and an example. All content is relevant, with no filler, and the essential purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists (so return values are covered) and the description explains all parameters with an example, it is nearly complete. The only minor gap is the ambiguous 'reuse' behavior – whether it silently reuses an existing graph or fails without overwrite – which could affect agent decision-making.

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 an Args section explaining each parameter: graph_path with a concrete example, overwrite with its delete behavior, and save with its purpose. This fully covers all three parameters, adding meaning beyond 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?

The description states a specific verb ('Create or reuse') and a clear resource ('PCG graph asset'), with a concrete example path. It distinguishes itself from sibling PCG tools (e.g., pcg_create_volume, pcg_refresh_volume) by focusing on graph asset creation, so an agent can easily identify its role.

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 clearly indicates the tool creates or reuses a PCG graph asset and notes it works 'when available' (Unreal Python), giving a condition. However, it does not explicitly name alternatives or state when not to use it, relying on the tool name and sibling context to imply its niche.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcg_create_volumeA

Spawn a PCG volume and optionally assign a PCG graph.

Args: actor_label: Editor label for the new PCG volume actor. graph_path: Optional /Game path to an existing PCG graph asset. location: World location [x, y, z]. rotation: World rotation [pitch, yaw, roll]. scale: Actor scale [x, y, z]. generate: Try known PCG generation methods after graph assignment.

KB: see knowledge_base/10_WORLD_BUILDING.md#4-procedural-content-generation-pcg Example: pcg_create_volume(actor_label="PCG_Downtown", graph_path="/Game/PCG/PCG_CityDistrict")

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
generateNo
locationNo
rotationNo
graph_pathNo
actor_labelNoPCG_CityDistrictVolume

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 present, the description carries the full transparency burden. It adds useful behavioral context by saying graph assignment is optional and calling generation a 'try,' which signals best-effort behavior. However, it does not disclose side effects, failure modes, reversibility, or what happens when generation is attempted without a graph.

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 main action, followed by a compact parameter list, a KB pointer, and a concrete example. Every line contributes useful information and there is no evident filler. It is slightly longer than the minimal case, but the added structure 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 six-parameter spawn tool with no annotations, the description is mostly complete: all parameters are explained, a KB reference is supplied, and an example call demonstrates intended usage. It omits explicit routing among PCG-related siblings and some side-effect detail, but an output schema exists and the KB reference covers deeper 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 Args block compensates by giving each parameter a role: editor label, optional /Game path, world location, rotation order, scale, and the generation trigger. This is more meaningful than the bare schema and covers all six parameters. It leaves some semantics implicit, such as null-value behavior and exact coordinate units.

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 opens with a concrete action: 'Spawn a PCG volume and optionally assign a PCG graph.' This names the specific resource, the verb, and the optional graph-binding behavior, which is enough to separate it from graph-asset creation or volume refresh tools. The purpose is immediately clear and distinguishable from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit 'use this when' or 'instead of' guidance is provided. The intended scenario is implied by 'Spawn a PCG volume' and the optional graph assignment, but alternatives like pcg_check_support, pcg_create_graph_asset, or general spawn_actor are not mentioned or excluded. The agent must infer when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pcg_refresh_volumeA

Refresh an existing PCG volume by label or actor name.

Args: actor_label: Existing PCG volume actor label or object name. cleanup: Try known cleanup methods before regeneration. generate: Try known generation/refresh methods.

KB: see knowledge_base/10_WORLD_BUILDING.md#4-procedural-content-generation-pcg Example: pcg_refresh_volume(actor_label="PCG_Downtown", cleanup=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
cleanupNo
generateNo
actor_labelYes

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 provided, the description carries the full burden of behavioral disclosure. It does reveal that the tool 'try[ies] known cleanup methods before regeneration' and uses 'known generation/refresh methods,' which gives some insight into its behavior. However, it does not disclose whether the refresh is destructive, what side effects may occur, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-sentence purpose, parameter semantics, a KB pointer, and a concrete example. Every section earns its place, and the most actionable information is front-loaded.

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 description covers the tool's purpose, all parameters, and points to a KB reference, and an output schema exists so return values need not be spelled out. It is largely complete for invocation, though a note about side effects or destructive behavior would make it fully self-contained given the absence of annotations.

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, but the description compensates by explaining all three parameters: actor_label as the existing volume identifier, cleanup as pre-regeneration cleanup, and generate as the generation/refresh attempt. This goes meaningfully beyond the raw schema, although it could add more detail about accepted value formats or preconditions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Refresh'), the resource ('existing PCG volume'), and the lookup method ('by label or actor name'). This is specific and understandable, though it does not explicitly name or contrast sibling tools such as pcg_create_volume.

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 'existing PCG volume' implies this is for updating already-created volumes, and the example gives a concrete invocation. However, there is no explicit when-to-use versus when-not-to-use guidance, nor any mention of alternatives like creating a new volume or checking PCG support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perception_add_componentB

Add or find an AIPerceptionComponent on a Blueprint.

This is usually placed on an AIController Blueprint so the controller can sense actors and feed Blackboard/Behavior Tree state.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: perception_add_component(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
blueprint_nameYes
component_nameNoAIPerception

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 must disclose side effects, but it only says 'add or find' and where the component is usually placed. It does not warn that this mutates the Blueprint asset or explain what happens when a component already exists, what save/compile effects occur, or whether the operation is destructive.

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 compact, front-loads the core action, and each sentence adds context, including a useful example and KB pointer. It is slightly unstructured (the KB line is an abrupt reference) but not padded.

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 tool has four parameters, no annotations, and zero schema description coverage, so the description should cover operational details. It leaves component naming behavior, save/compile semantics, and find-versus-add behavior unexplained. The example helps but is not enough for a mutating Blueprint-editing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate, but only blueprint_name is illustrated via the example. The purpose of save, compile, and component_name is not explained beyond the raw schema titles/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 names a specific verb (add/find), a specific resource type (AIPerceptionComponent), and the target (a Blueprint), so it is easy to tell this is about AI perception setup rather than a generic component tool. It doesn't explicitly differentiate from sibling tools like add_component_to_blueprint or add_pawn_sensing_component, 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete usage context: the component is usually placed on an AIController Blueprint so the controller can sense actors and feed Blackboard/Behavior Tree state. It does not mention when not to use it or name alternatives such as PawnSensingComponent or perception_configure_sight, so it misses explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perception_bind_updated_eventC

Add a component-bound AI Perception update event node to a Blueprint.

Common event_name values are OnTargetPerceptionUpdated, OnPerceptionUpdated, and OnTargetPerceptionForgotten.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: perception_bind_updated_event(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameNoOnTargetPerceptionUpdated
node_positionNo
blueprint_nameYes
component_nameNoAIPerception

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 carries the full burden of behavioral disclosure. It states that a node is added to a blueprint but does not mention prerequisites, side effects on the graph, what happens if the component is missing, or whether the operation is destructive. The "component-bound" wording gives some context but not enough 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 reasonably concise and well-structured, with the core action first, followed by useful event_name examples, a knowledge base reference, and a concrete example. No significant filler is present.

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 does not cover prerequisites such as the AIPerception component needing to exist, what node_position means, or how the tool behaves in error cases. Given it is a blueprint-mutating tool with no annotations, this is a notable completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It usefully lists common event_name values and shows blueprint_name in the example, but it never explains node_position or component_name beyond what the schema defaults already show. This is only partial compensation for the missing schema documentation.

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: "Add a component-bound AI Perception update event node to a Blueprint." This clearly distinguishes the action from general graph-editing tools, though it does not explicitly contrast it with similar perception event tools like add_on_see_pawn_event.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use case is implied by the action statement and the example makes it concrete, but there is no explicit guidance about when to prefer this tool over alternatives such as perception_add_component or add_on_see_pawn_event. It provides common event_name values and a knowledge base pointer, which helps, but lacks when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perception_configure_hearingC

Add or update the Hearing sense config on an AIPerceptionComponent.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: perception_configure_hearing(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
dominantNo
hearing_rangeNo
blueprint_nameYes
component_nameNoAIPerception
detect_enemiesNo
detect_neutralsNo
detect_friendliesNo

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 must carry the behavioral disclosure burden. 'Add or update' signals an upsert-like mutation, but the description does not explain side effects, persistence behavior, whether an existing configuration is replaced, or what happens if the component does not 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?

The description is compact and front-loaded, with a clear first sentence, a useful example, and a KB pointer. It is easy to scan, though the brevity comes at the cost of missing parameter and behavioral detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no annotations and no schema-level parameter descriptions, this definition is not complete enough. The output schema may cover return values, but the agent still lacks key input semantics, side-effect awareness, and guidance on tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description must compensate by explaining parameters. It only provides an example for blueprint_name and a general 'Hearing sense config' label; it does not clarify hearing_range, detect_enemies, save, dominant, or the other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Add or update') on a specific resource ('Hearing sense config on an AIPerceptionComponent'). It clearly distinguishes this from sibling tools like perception_configure_sight by naming the sense modality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives such as perception_configure_sight or perception_add_component. The example shows a valid call, but there is no when-to-use, prerequisites, or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perception_configure_sightC

Add or update the Sight sense config on an AIPerceptionComponent.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: perception_configure_sight(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
dominantNo
sight_radiusNo
blueprint_nameYes
component_nameNoAIPerception
detect_enemiesNo
detect_neutralsNo
detect_friendliesNo
lose_sight_radiusNo
peripheral_vision_angle_degreesNo

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 states the operation ('Add or update') but does not disclose whether this mutates the blueprint asset, requires saving, affects existing configs, or has side effects. The 'save' parameter defaulting to true implies persistence, but the description doesn't explain the behavior or consequences.

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 core action. The KB reference and example are useful, but the example only demonstrates one parameter, which is a missed opportunity to show the full parameter set. Still, it is appropriately sized and not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters, 0% schema coverage, no annotations, and a mutation operation, the description is incomplete. It does not explain the meaning of key parameters, the effect of 'save', or the expected output. The output schema exists but the description doesn't clarify what the tool returns or how the config change manifests.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only mentions 'blueprint_name' in the example and the target component, leaving 9 of 10 parameters (sight_radius, lose_sight_radius, peripheral_vision_angle_degrees, detect_* flags, dominant, save, component_name) unexplained. The description adds minimal meaning beyond the schema's parameter 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 ('Add or update') and resource ('Sight sense config on an AIPerceptionComponent'), which clearly distinguishes it from sibling perception tools like perception_configure_hearing. It could be slightly stronger by explicitly naming the sibling it differs from, but the verb+resource combination is clear.

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 naming the target component and providing a KB reference, but it does not explicitly state when to use this tool versus alternatives like perception_configure_hearing or perception_add_component. The example call gives a concrete usage pattern, but no exclusions or conditions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perception_create_stimulus_sourceC

Add or configure an AIPerceptionStimuliSourceComponent on a Blueprint.

Typical senses are sight and hearing.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: perception_create_stimulus_source(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
sensesNo
compileNo
auto_registerNo
blueprint_nameYes
component_nameNoPerceptionStimuliSource

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/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 burden of behavioral disclosure. It does not mention that the tool modifies a Blueprint asset, whether existing components are overwritten or appended, what happens when auto_register, save, or compile are used, or what side effects occur. This is a meaningful gap for a mutation-style 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 concise and well-structured: a front-loaded purpose statement, a brief helpful domain hint, a KB pointer, and a minimal example. Every element earns its place with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters, no annotations, and 0% schema description coverage, the description is too thin. It covers the senses parameter and gives a partial blueprint_name example, but does not clarify what the required blueprint_name must look like beyond an example, what defaults do, or how the operation impacts the target Blueprint. The output schema being present reduces the need to document return values, but the input-side context is still incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds some value by noting that typical senses are 'sight' and 'hearing' and by showing a blueprint_name example path. However, it does not explain component_name, auto_register, save, or compile semantics, leaving most parameters dependent on the schema alone.

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-resource pair: 'Add or configure an AIPerceptionStimuliSourceComponent on a Blueprint.' This precisely identifies the component type and distinguishes it from generic component tools like add_component_to_blueprint. It does not explicitly contrast with perception_add_component or perception_configure_sight/hearing, which limits differentiation slightly.

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 perception_add_component, add_component_to_blueprint, or perception_configure_sight. 'Typical senses are sight and hearing' is parameter guidance, not usage context. The KB reference and example imply usage but do not explain when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

perception_describe_blueprintB

Describe AI Perception and stimuli source components on a Blueprint.

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: perception_describe_blueprint(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_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?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Describe' implies a read-only operation, but this is never stated explicitly. The description also does not mention side effects, required asset state, error behavior, or any guarantees about what happens if the blueprint doesn't 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?

The main clause is front-loaded and clear, followed by a KB pointer and a concrete example. No filler words. The KB line is slightly vague about how the agent should use it, but the overall structure is tight and efficient, stopping just short of perfect.

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?

Having an output schema means return-value details are not needed in the description. However, with no annotations, the tool's read-only nature and when-to-use conditions remain underspecified, and the description does not clarify error behavior or whether the blueprint must be loaded. For a one-parameter read tool this is nearly sufficient but clearly has 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. The example call, blueprint_name='/Game/MCP_Test/BP_Example', clarifies that the parameter expects a full asset path with a /Game/ prefix, adding practical meaning beyond the bare schema property title. It doesn't explicitly state the path rule, but the example is strong enough.

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 ('Describe') and a specific resource ('AI Perception and stimuli source components on a Blueprint'). It is clearly distinct from sibling tools like perception_add_component or perception_configure_sight, which modify rather than inspect. However, 'describe' remains somewhat open-ended about what aspects are covered, so it doesn't earn 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 provides no explicit guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites. The KB reference hints at context but never tells an agent under what circumstances to select this tool over perception_configure_sight, get_blueprint_components, or other introspective tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

performance_audit_gpuA

Capture a lightweight editor GPU/performance audit snapshot.

Returns RHI adapter details, memory stats, active viewport state, and scene/component counts. Use Unreal's ProfileGPU for pass timings.

Args: include_memory: Include process/platform memory stats include_viewport: Include active viewport dimensions and viewmode

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: performance_audit_gpu()

ParametersJSON Schema
NameRequiredDescriptionDefault
include_memoryNo
include_viewportNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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 communicates low-impact behavior ('lightweight') and a non-destructive read pattern via 'audit snapshot' and 'Returns'. It stops short of explicitly stating 'does not modify project state' or listing editor-session requirements, but the implied behavior is clear for a diagnostic 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?

Every line earns its place: purpose and returns, alternative, parameter semantics, KB pointer, and a no-arg example. Decision-relevant content is front-loaded, and there is no redundant restatement of the schema defaults.

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 details are covered elsewhere, and the description handles the remaining invocation context: what data is included, control via optional booleans, and when deep pass timings are needed. The KB reference and example complete the picture.

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?

Despite 0% schema description coverage, the Args block explains both parameters in plain terms: include_memory maps to process/platform memory stats and include_viewport to active viewport dimensions and viewmode. This adds real semantic value over the bare boolean 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 verb-resource pair is explicit ('Capture a lightweight editor GPU/performance audit snapshot') and the return list makes the scope concrete. It distinguishes itself from ProfileGPU by explicitly deferring pass timings, but it does not name a sibling like shader_analyze_complexity or renderer_capture_viewmode, so differentiation within the sibling set is left to inference.

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 first sentence frames when to use it for a lightweight performance snapshot, and the ProfileGPU sentence is an explicit when-not/alternative for pass timings. This is enough for an agent to route between a broad audit snapshot and deep profiling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pie_capture_logA

Capture the tail of the current Unreal project log for verification.

Args: max_lines: Maximum number of log lines to return contains: Optional case-insensitive filter save_artifact: Save captured lines to .mcp_artifacts/logs artifact_name: Artifact filename stem when saving

Returns: JSON string with log file path, captured lines, and optional artifact path.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: pie_capture_log()

ParametersJSON Schema
NameRequiredDescriptionDefault
containsNo
max_linesNo
artifact_nameNopie_log
save_artifactNo

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 provided, the description carries the full behavioral burden. It does disclose the return format and the side effect that save_artifact writes to `.mcp_artifacts/logs`. However, it does not mention prerequisites such as whether a PIE session must be running, failure modes, or whether repeated calls overwrite artifacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: a one-sentence purpose, terse Args/Returns blocks, a KB reference, and a minimal example. Every line adds value and there is no filler or repetition of schema types.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four optional parameters, an output schema, a KB reference, and an example, the description is nearly complete for correct invocation. The main missing piece is usage context relative to sibling logging/PIE tools, but the calling contract itself is well specified.

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?

The schema has 0% description coverage, but the Args section fully compensates for all four parameters: max_lines limits output, contains is a case-insensitive filter, save_artifact controls file saving, and artifact_name specifies the filename stem. This is exactly the semantic enrichment the schema lacks.

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 and resource: 'Capture the tail of the current Unreal project log for verification.' It clearly communicates what the tool does and includes a KB pointer to the playable-slice recipe. However, it does not explicitly differentiate this from sibling tools like get_recent_output_log.

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 'for verification' and the KB reference imply the intended context, but there is no explicit statement of when to use this tool versus alternatives, no prerequisites, and no exclusions noted. It is more than no guidance but less than clear contextual routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pie_launch_sessionA

Request a PIE or Simulate session from the Unreal Editor.

Args: mode: "simulate" for Simulate In Editor, otherwise requests normal PIE wait_seconds: Short post-request delay before reporting session state

Returns: JSON string with requested mode, prior state, current state, and PIE world count.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: pie_launch_session()

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosimulate
wait_secondsNo

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?

No annotations are present, so the description carries the behavioral burden. It discloses that the tool requests a session, applies a short wait, and returns prior state, current state, and PIE world count. It does not mention preconditions or broader editor side effects, but it is substantially transparent for a simple launcher.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and logically structured: purpose, Args, Returns, KB link, and example. Every section earns its place, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given only two optional parameters, the description covers the essential contract: what it does, what the parameters mean, what it returns, and where to find more knowledge. It stops short of stating prerequisites or failure behavior, but the KB reference and example help close that 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%, but the description compensates by explaining both parameters: mode determines Simulate vs normal PIE, and wait_seconds controls the post-request delay before reporting state. It could add more detail on allowed values or ranges, but the core semantics are clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Request a PIE or Simulate session from the Unreal Editor.' It clearly covers both modes and is distinguishable from sibling tools like pie_stop_session and pie_simulate_input by the launch action.

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 explains when to use each mode: 'simulate' for Simulate In Editor, otherwise normal PIE. It does not explicitly name alternatives or exclusions, but the sibling names and the mode semantics make the intended usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pie_simulate_inputA

Send a console-command style input to the active PIE world.

This intentionally starts with console commands because they are stable, scriptable, and auditable. Higher-fidelity key/mouse injection can build on top after the PIE loop has enough evidence capture.

Args: console_command: Console command to execute, such as stat fps player_index: Local player controller index require_pie: Fail when no PIE/SIE session is active

Returns: JSON string with command dispatch details.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: pie_simulate_input(console_command="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
require_pieNo
player_indexNo
console_commandYes

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 provided, the description carries the full burden of behavioral disclosure. It mentions that require_pie can cause failure without an active session and that it returns a JSON string with dispatch details. However, it does not describe potential side effects on game state, error handling, or whether the command execution is blocking. There is no contradiction with annotations (none 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?

The description is well-structured with clear Args, Returns, KB, and Example sections. The main action is front-loaded, and the extra rationale about console commands is concise and adds context without excessive length. It is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, parameter meanings, return type, and provides an example and a knowledge base reference. It does not detail error handling or side effects, but for a command injection tool with a simple interface, it provides enough information for an agent to call it correctly. The output schema is not detailed, but the description states it returns a JSON string with dispatch details.

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 describes each parameter: console_command with an example, player_index as 'Local player controller index', and require_pie as 'Fail when no PIE/SIE session is active'. This adds meaningful context beyond the raw schema, though it could provide more detail on allowed formats or 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 clearly states the tool sends console-command style input to the active PIE world, with a specific verb and resource. It is not a tautology and distinguishes itself from session management and logging tools by focusing on input injection, though it does not explicitly name a sibling.

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 provides rationale for starting with console commands (stable, scriptable, auditable) and mentions that higher-fidelity injection can build on top later, implying this is the initial approach. However, it does not explicitly state when to use this tool versus alternatives like pie_capture_log or pie_launch_session, nor does it provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pie_stop_sessionA

Request the active PIE/SIE session to stop.

Args: wait_seconds: Short post-request delay before reporting session state

Returns: JSON string with prior and current PIE state.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: pie_stop_session()

ParametersJSON Schema
NameRequiredDescriptionDefault
wait_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden; it adds that the call is a request, that wait_seconds delays state reporting, and that a JSON string with prior/current PIE state is returned. However, it does not disclose side effects of stopping the session or failure behavior when no active session exists.

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 and organized into compact Args, Returns, KB, and Example sections. Every section 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?

For a tool with one optional parameter and an output schema, the description covers the call signature, return value, and a KB pointer. It is slightly abbreviated on side effects and when a stop is appropriate, but nothing essential to invoking it 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 schema only provides type, title, and default for wait_seconds; the description explains its purpose as a short post-request delay before reporting session state. This adds meaningful behavioral context that the schema lacks.

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 action and resource: requesting the active PIE/SIE session to stop. This clearly differentiates it from sibling session tools like pie_launch_session, pie_simulate_input, and pie_capture_log.

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 'active PIE/SIE session' implies the tool only applies when a session is already running, but the description does not explicitly say when to use it or name alternatives such as pie_launch_session. No exclusion criteria or fallback behavior is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ping_unrealA

Ping the UnrealMCP bridge and return its health response.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: ping_unreal()

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 present, so the description carries the burden of disclosing behavior. It indicates the tool is a diagnostic ping returning a health response, which implicitly conveys a read-only, non-destructive operation; however, it does not explicitly state side-effect guarantees, failure semantics, or connection details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: one primary sentence, an example, and a KB pointer. The main purpose is front-loaded, and there is no filler or redundant restatement.

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 health check with an output schema and an example call, the definition is nearly complete. It lacks an explicit statement about side effects or failure behavior, but 'ping' and 'health response' largely cover that 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 the input schema fully exhausts parameter meaning. There is nothing for the description to add about parameters, making the baseline-4 score appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action, 'Ping the UnrealMCP bridge,' and a concrete result, 'return its health response,' so an agent knows exactly what the tool does. It does not explicitly distinguish itself from sibling health/ping tools such as ghostrigger_ping or server_lifecycle_status, but the resource is unique enough to avoid serious confusion.

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 using this to verify bridge availability before other calls, no exclusions, and no alternatives. The example only demonstrates invocation, and the KB pointer is a reference link rather than actionable usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pixelstream_configure_pluginB

Set Pixel Streaming enablement and preferred generation flags in project config.

KB: see knowledge_base/29_PIXEL_STREAMING_AND_REMOTE.md#mcp-pixel-streaming-tools Example: pixelstream_configure_plugin(enable_pixel_streaming=True, prefer_pixel_streaming_2=False)

ParametersJSON Schema
NameRequiredDescriptionDefault
enable_pixel_streamingNo
enable_pixel_streaming_2No
prefer_pixel_streaming_2No

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 that it sets flags in project config, but does not disclose side effects (e.g., whether existing settings are overwritten, whether a restart is needed, or how config changes affect the current session). It also leaves the semantic difference between 'enable' and 'prefer' flags unexplained, which could mislead an agent.

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 compact: a single purpose sentence, a KB pointer, and a concrete example. It is front-loaded with the core action and avoids filler. The example is useful but could have been omitted in favor of more parameter explanation; still, it is well-structured and not bloated.

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 simplicity (3 optional booleans, output schema present), the description is minimally viable. It states purpose and gives an example, but it omits per-parameter semantics and behavioral details like persistence or side effects. An agent can make a basic call, but nuanced decisions (e.g., when to enable v2 vs prefer v2) remain under-documented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no property descriptions (0% coverage). The description gives an example using two of the three parameters but does not explain each parameter's role or the relationship between enable_pixel_streaming, enable_pixel_streaming_2, and prefer_pixel_streaming_2. The high-level phrase 'enablement and preferred generation flags' is not sufficient for precise parameter selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Set') and a specific resource ('Pixel Streaming enablement and preferred generation flags in project config'). The example reinforces the exact usage. Though it does not explicitly name sibling alternatives, the focus on project config and plugin flags distinguishes it from pixelstream_inspect_config, pixelstream_configure_streamer, and pixelstream_create_launch_profile.

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 when this tool should be used: when you need to set plugin enablement and preference flags in project config. However, it does not explicitly mention alternatives or conditions for preferring this over the related inspect/configure tools. The KB reference might contain more, but the description itself only provides implied usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pixelstream_configure_streamerC

Configure local Pixel Streaming streamer URL, ports, render, and encoder settings.

KB: see knowledge_base/29_PIXEL_STREAMING_AND_REMOTE.md#mcp-pixel-streaming-tools Example: pixelstream_configure_streamer(signalling_url="ws://127.0.0.1:8888", streamer_id="LocalDemo")

ParametersJSON Schema
NameRequiredDescriptionDefault
streamer_idNoDefaultStreamer
signalling_urlNows://127.0.0.1:8888
signalling_portNo
web_server_portNo
render_offscreenNo
use_secure_websocketNo
encoder_target_bitrateNo

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 does not disclose side effects such as whether configuration persists, requires a restart, or validates inputs. 'Configure' implies mutation, but no behavioral details are given. The example shows a call but does not explain what happens on success or 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 description is concise and to the point, with a clear first sentence. The KB link and example add useful context without bloat. It could be improved by structuring parameter details, but for its length it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a configuration tool with 7 parameters, all optional with defaults, the description is incomplete. It does not explain parameter relationships, prerequisites (e.g., Pixel Streaming plugin must be enabled), or the effect of the configuration. Sibling tools are not mentioned for differentiation. The output schema exists but is not shown, so the description should at least indicate expected outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions categories like URL, ports, render, and encoder settings, but does not map them to the actual parameters. For instance, it does not clarify the difference between signalling_url and signalling_port, or the meaning of render_offscreen. Parameter names are self-explanatory but the description adds little beyond them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures a local Pixel Streaming streamer, covering URL, ports, render, and encoder settings. This is a specific verb and resource, and it differentiates from sibling tools like pixelstream_configure_plugin and pixelstream_create_launch_profile by focusing on streamer-level configuration. The example further clarifies usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It does not mention that pixelstream_configure_plugin should be used for plugin settings or that pixelstream_create_launch_profile is for launch profiles. The description only states what it does, not when to choose it. The KB link is not a substitute for direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pixelstream_create_launch_profileB

Create a reusable Pixel Streaming launch profile and return its launch args.

KB: see knowledge_base/29_PIXEL_STREAMING_AND_REMOTE.md#mcp-pixel-streaming-tools Example: pixelstream_create_launch_profile(profile_name="LocalPixelStreaming", resolution_x=1280, resolution_y=720)

ParametersJSON Schema
NameRequiredDescriptionDefault
streamer_idNoDefaultStreamer
profile_nameNoLocalPixelStreaming
resolution_xNo
resolution_yNo
signalling_urlNows://127.0.0.1:8888
render_offscreenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 that the tool creates a persistent reusable profile and returns launch args, which is useful. However, it does not mention whether an existing profile is overwritten, whether Pixel Streaming must already be configured, or what other side effects may occur.

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 compact and front-loaded with the core purpose, followed by a useful example and a KB reference. It is not verbose and every line serves a purpose, though the example could be seen as somewhat redundant with the schema defaults.

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?

While an output schema exists and the return behavior is mentioned, the description lacks critical context for a stateful creation tool: prerequisites, overwrite behavior, required setup, and meaning of all six parameters. Given 0% schema parameter descriptions and no annotations, this is insufficient for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the description only provides an example using profile_name, resolution_x, and resolution_y. It does not explain streamer_id, signalling_url, render_offscreen, or how the parameters map to launch arguments, leaving much of the parameter semantics undocumented.

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 action: create a reusable Pixel Streaming launch profile and return its launch args. This clearly identifies the resource and distinguishes the tool from inspect/configure siblings by focusing on profile creation. However, it does not explicitly name or contrast sibling alternatives, so it stops short of full 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 word 'reusable' and the example imply this is for creating a preset launch profile for later use, but there is no explicit guidance on when to prefer this tool over pixelstream_configure_plugin or pixelstream_configure_streamer. No when-not-to-use or alternative selection criteria are provided, leaving usage mostly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pixelstream_inspect_configB

Inspect Pixel Streaming project configuration and plugin availability.

KB: see knowledge_base/29_PIXEL_STREAMING_AND_REMOTE.md#mcp-pixel-streaming-tools Example: pixelstream_inspect_config(include_plugins=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
include_pluginsNo

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 says 'Inspect' which implies a read-only operation, but it doesn't disclose what the output looks like, whether it queries the live project or a config file, whether it has side effects, or what 'plugin availability' means. The KB reference is a pointer but not a disclosure.

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 main purpose. The KB reference and example are useful and take minimal space. No wasted words, though the example could be considered slightly redundant with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema details, and 0% schema description coverage, the description is thin. It doesn't explain what the returned configuration contains, how to interpret plugin availability, or any failure modes. The KB reference helps but is not inline. An agent would likely need to consult the KB to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions include_plugins in the example, which adds some meaning (that the parameter controls whether plugin info is included). However, it doesn't explain the default behavior or what happens when false, and the schema already provides a default of true. The description adds minimal value beyond the example.

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 ('Inspect') and resource ('Pixel Streaming project configuration and plugin availability'). It distinguishes from siblings like pixelstream_configure_plugin and pixelstream_configure_streamer by focusing on inspection rather than configuration. However, it doesn't explicitly name those siblings, so it doesn't fully differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for inspecting configuration and plugin availability, and the example shows a call with include_plugins=True. But it doesn't explicitly state when to use this vs alternatives like pixelstream_configure_plugin or online_inspect_config, nor does it mention any prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_navmesh_bounds_volumeA

Place a NavMesh Bounds Volume in the current level.

From Ch. 9: The NavMesh Bounds Volume defines the navigable area for AI. The editor automatically generates the navigation mesh within this volume. Press P in the viewport to toggle NavMesh visibility (green overlay).

Scale the volume to cover all walkable surfaces. AI agents can only navigate within the bounds of this volume.

Args: location: [X, Y, Z] world location for the volume center scale: [X, Y, Z] scale to cover the navigable area

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: place_navmesh_bounds_volume()

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
locationNo

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 of behavioral disclosure. It does explain that the editor automatically generates the navmesh within the volume and that AI navigation is limited to the volume, which is useful. But it omits side effects like whether an existing volume is replaced, whether the operation is destructive, or whether any prerequisites (e.g., loaded level) are required. The description adds context but 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: succinct purpose, key behavior, a visibility tip, parameter definitions, a KB reference, and an example. Each sentence adds value. It is somewhat longer than strictly necessary but nothing feels wasteful, and the structure makes scanning easy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of placing a volume with two parameters (both optional with defaults), the description covers the essential invocation details: what it does, what the parameters mean, and an example. The main gaps are lack of explicit side effects and prerequisites, but for a placement tool with no annotations and an output schema, this is reasonably 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. It defines both parameters explicitly: 'location: [X, Y, Z] world location for the volume center' and 'scale: [X, Y, Z] scale to cover the navigable area'. The example call with no arguments clarifies that defaults are acceptable. This is sufficient for an agent to invoke the tool correctly, though units and coordinate conventions are not stated.

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 ('Place') and a specific resource ('a NavMesh Bounds Volume'), and explains its purpose: defining the navigable area for AI. It does not explicitly differentiate from siblings like setup_navmesh, but the name and description are unambiguous enough that an agent can infer its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides practical guidance: 'Scale the volume to cover all walkable surfaces' and explains that AI agents can only navigate within the bounds. However, it never explicitly states when to use this tool versus alternatives (e.g., setup_navmesh) or when not to use it. The usage is implied rather than stated as a decision rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_find_assetsA

Find assets in the Unreal project using the Asset Registry.

Searches by asset class, package path, and optional tag filters. Results are paginated — use page / limit to scroll through large sets.

Returns a list of asset descriptors: package_name — full package path (e.g. '/Game/Blueprints/BP_Hero') asset_name — bare asset name (e.g. 'BP_Hero') class_path — asset class full path (e.g. '/Script/Engine.Blueprint') tags — dict of asset registry tags (e.g. {'ParentClass': '...'})

Args: class_names: Asset class filters (e.g. ['Blueprint', 'StaticMesh']). Empty = all classes. package_paths: Root paths to search (e.g. ['/Game/Blueprints']). recursive: Search subdirectories. Default True. tags: Tag=value filters (AND). Empty = no tag filter. limit: Page size. Default 200, max 1000. page: 0-based page index. Default 0.

Returns: JSON StructuredResult with outputs.assets list.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: project_find_assets()

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
tagsNo
limitNo
recursiveNo
class_namesNo
package_pathsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden and exceeds it. It reveals pagination behavior (page/limit for large sets, max 1000, 0-based page), tag filter semantics (AND combination, empty = no filter), empty class_names behavior (all classes), the recursive default, and the exact shape of returned asset descriptors with examples. This is rich behavioral context far beyond the name and schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but every section earns its place given the 0% schema coverage: purpose, pagination note, return format, per-parameter semantics, returns line, KB pointer, and a working default example. It is front-loaded with the core purpose and uses compact formatting (labels, examples, defaults) rather than prose padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter tool with no annotations and no schema descriptions, this description is complete: it documents all parameters, return value shape, pagination, defaults, and edge-case behavior, plus a KB reference and example. The output schema exists and is referenced ('outputs.assets list'), so return-value coverage is handled without redundancy. Nothing an agent needs to call this correctly is missing.

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 — and it does. Every one of the 6 parameters gets semantic meaning beyond the bare schema: class_names gets an example and empty-value behavior, package_paths gets an example root path, tags gets AND semantics, limit gets its max, page gets its 0-based indexing. Nothing is left to inference.

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 opens with a specific verb and resource: 'Find assets in the Unreal project using the Asset Registry.' It then names the search dimensions (asset class, package path, tag filters), which distinguishes it from the near-sibling ue_find_assets_by_class (class-only) and scan_project_assets (scanning vs targeted find). An agent can tell what this tool does and how it differs 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when the tool is appropriate — searching by class, package path, and tags, with pagination for large sets — so usage is implied but never stated explicitly. It does not name any alternative tool, unlike the ideal pattern of 'use X instead of Y when...', and given the existence of ue_find_assets_by_class as a very close sibling, explicit exclusion guidance would be valuable. The KB pointer is indirect and does not cover this gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_find_blueprint_by_parentA

Find all Blueprints that derive from a given parent class.

Searches the Asset Registry for Blueprint assets, then filters by the 'ParentClass' tag. The tag value typically looks like '/Script/Engine.Actor' but the tool also matches on bare class name (e.g. 'Actor' matches '/Script/Engine.Actor').

Args: parent_class: Parent class name or full path (e.g. 'Actor', 'Character'). recursive: Search all sub-paths under /Game. Default True. limit: Max assets returned. Default 200.

Returns: JSON StructuredResult with outputs.assets (same shape as project_find_assets).

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: project_find_blueprint_by_parent(parent_class="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
recursiveNo
parent_classYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so well. It explains that the tool searches the Asset Registry, filters by the ParentClass tag, accepts both full paths and bare class names, supports recursive search, and returns a JSON StructuredResult with a specific shape.

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 appropriately sized and front-loaded: one clear purpose sentence, a brief mechanism explanation, and then compactly structured Args/Returns/Example sections. Every line adds useful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter read-only finder tool, the description covers the search behavior, match semantics, parameter meanings, defaults, return shape, and a concrete example. Even without annotations, an agent has enough context to select and invoke the tool correctly.

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%, but the description compensates fully. It explains parent_class with examples, defines recursive by describing the /Game sub-path behavior and its default, and clarifies limit as the maximum number of returned assets with its default.

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 opens with a specific verb and resource: 'Find all Blueprints that derive from a given parent class.' It clearly distinguishes this from sibling asset-finding tools by emphasizing the parent-class filter and the Asset Registry search strategy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use this tool: whenever a parent class is the search criterion. It does not explicitly tell the agent when not to use it or name alternatives such as project_find_assets or ue_find_assets_by_class, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_get_referencesA

Get asset references (dependencies and/or referencers) for a package.

Uses the Asset Registry to traverse one level of the reference graph.

Args: package_name: Full package path (e.g. '/Game/Blueprints/BP_HealthSystem'). direction: 'in' (who uses this), 'out' (what this uses), or 'both'. hard_only: If True, only hard (hard-reference) edges are included.

Returns: JSON StructuredResult. Data keys present depend on direction: referencers — packages that reference this asset (direction in/both) dependencies — packages this asset depends on (direction out/both)

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: project_get_references(package_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
directionNoboth
hard_onlyNo
package_nameYes

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 behavioral disclosure burden, and it does well: it states the traversal depth, direction semantics, hard-reference filtering, and output keys. 'Get' and 'Uses the Asset Registry' strongly imply a read-only operation, though the description does not explicitly declare non-mutation 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 well organized into purpose, args, returns, KB reference, and example, with no filler. The example and return-key breakdown add real value rather than restating 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?

For a read-only query with an output schema, the description covers all inputs, the output shape, and the one-level limitation. It could be more complete by adding explicit usage conditions versus sibling tools, but nothing critical is missing for correct invocation.

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 explain the parameters, and it does. package_name gets a format example, direction gets explicit in/out/both meanings, and hard_only gets a precise edge-type definition. This fully compensates for the empty schema descriptions.

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 opens with a specific verb and resource: 'Get asset references (dependencies and/or referencers) for a package.' It also clarifies the traversal scope as 'one level of the reference graph,' which helps distinguish it from chain-traversal siblings like project_trace_reference_chain.

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 the mechanism (direction, hard_only) but does not state when to choose this tool over alternatives such as project_trace_reference_chain or project_find_assets. No exclusions or selection criteria are provided inline; the KB reference is mentioned but does not substitute for explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_list_subsystemsA

Enumerate Unreal Engine Subsystem classes by category.

Uses unreal.get_all_classes_of_type() reflection — no hand-curated list. Results are cached for 10 s; pass refresh=True to force an immediate re-scan.

Categories: engine | editor | gameinstance | localplayer | all

Each entry: class — UClass name (e.g. 'UEditorAssetSubsystem') module — Outer package module name available — True (all discovered classes are considered available)

Args: category: Which subsystem base class to enumerate. Default 'all'. refresh: Force cache refresh. Default False.

Returns: JSON StructuredResult with outputs matching the category filter.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: project_list_subsystems()

ParametersJSON Schema
NameRequiredDescriptionDefault
refreshNo
categoryNoall

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 disclosure burden and succeeds: it reveals the reflection-based implementation (unreal.get_all_classes_of_type() with no hand-curated list), the 10-second cache with refresh=True override, and the honest caveat that 'available' is always True. The last point is especially valuable because it prevents an agent from treating that field as meaningful signal.

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 long but earns its length by compensating for zero annotations and zero schema-level descriptions. It is front-loaded with the core purpose and organized into scannable labeled sections (Categories, Each entry, Args, Returns, KB, Example), with every line carrying 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?

An output schema exists, so the return note ('JSON StructuredResult with outputs matching the category filter') is sufficient. The description covers purpose, implementation, caching, allowed categories, per-entry fields, parameters with defaults, return type, an example, and a KB pointer—nothing an agent needs to invoke it correctly 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?

Schema coverage is 0%, and the description fully compensates by explaining both parameters with their defaults ('Which subsystem base class to enumerate. Default all.' and 'Force cache refresh. Default False.') and explicitly enumerating the valid category values. This adds real meaning beyond the bare schema titles 'Refresh' and 'Category'.

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?

"Enumerate Unreal Engine Subsystem classes by category" uses a specific verb (enumerate) and a specific resource (Unreal Engine Subsystem classes), and the category list tightens scope further. No sibling tool covers subsystem enumeration, so an agent can unambiguously select this tool for discovery of subsystem classes.

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 gives clear operational context—reflection-based discovery, 10-second caching, and five category filters—so the intended use is implied. However, it never states when to choose this tool over alternatives (e.g., scan_project_assets or project_find_assets) and includes no when-not or exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_trace_reference_chainA

BFS trace of the reference chain from a starting package.

Traverses the asset reference graph and returns all reachable packages within max_depth hops. Deduplicates visited nodes. Truncates when max_nodes is hit (sets truncated=true).

Args: start_package: Starting package (e.g. '/Game/Materials/M_DemoB'). direction: 'in' (who references start) or 'out' (what start references). max_depth: Maximum BFS depth. Default 3. stop_on_class: Stop expanding a node if its class is in this list. max_nodes: Hard cap on total nodes in result. Default 500.

Returns: JSON StructuredResult with outputs.nodes list: [{package, depth, via}] plus depth_reached, truncated.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: project_trace_reference_chain(start_package="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
directionNoin
max_depthNo
max_nodesNo
start_packageYes
stop_on_classNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses the BFS algorithm, node deduplication, truncation at max_nodes, the 'truncated=true' flag, and the exact output shape. This is thorough and gives the agent realistic expectations of traversal 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 front-loaded with the core purpose, followed by compact argument docs, return format, KB reference, and a minimal example. Each section adds necessary information without redundant phrasing or boilerplate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter graph traversal tool with no annotations, the description is complete: it covers algorithm behavior, all parameters, output structure, truncation semantics, and provides a KB pointer and example. An agent can invoke this tool correctly and interpret its results without further lookup.

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%, yet the description documents all 5 parameters with meaningful semantics: start_package has an example, direction explains in/out, max_depth notes default 3, stop_on_class defines the stopping condition, and max_nodes explains the hard cap and default 500. This fully compensates for the schema's lack of descriptions.

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 opens with a specific action and resource: 'BFS trace of the reference chain from a starting package.' It clearly states the tool traverses the asset reference graph and returns reachable packages, distinguishing it from asset-finding or unrelated tools. The direction semantics ('in' vs 'out') further clarify its exact scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong contextual guidance by explaining what the traversal does, how direction works, and how truncation behaves. It does not explicitly name alternative tools or state when not to use this tool, but the scenario is clear enough for an agent to select it for reference-chain tracing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reconstruct_blueprint_nodeA

Force a Blueprint node to reconstruct after pin/default mutation.

Use this repair primitive after setting defaults or wiring wildcard nodes so UE can regenerate pins and propagate concrete types. Follow with graph readback and Blueprint compile diagnostics.

Args: blueprint_name: Asset name. node_id: Node GUID or short object name. graph_name: Graph containing the node. Default 'EventGraph'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#node-repair Example: reconstruct_blueprint_node(blueprint_name="/Game/MCP_Test/BP_Example", node_id="K2Node_CallFunction_40")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
graph_nameNoEventGraph
blueprint_nameYes

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 provided, the description carries the full burden and does well: it explains that the tool forces reconstruction to regenerate pins and propagate concrete types, and it advises post-actions. It does not mention potential side effects like connection loss or reversibility, but the purpose and mechanism are 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 compact and well organized: purpose, usage context, args, KB link, and an example. Every sentence serves a purpose and the information is front-loaded.

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 description provides the essentials: purpose, parameters, an example, and follow-up diagnostics. It does not detail return values or error conditions, but the output schema exists and the KB reference fills that gap, so the description is largely sufficient for an agent to invoke the tool correctly.

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%, but the description compensates fully with an Args block that explains each parameter (blueprint_name as asset name, node_id as GUID or short object name, graph_name with a default) and includes a concrete example. The parameter semantics are clear and actionable.

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?

"Force a Blueprint node to reconstruct after pin/default mutation" uses a specific verb and resource, and the "repair primitive" classification distinguishes it from the many node-creation and connection tools in siblings. The description clearly states the outcome and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this repair primitive after setting defaults or wiring wildcard nodes" gives explicit conditions for useaine. The follow-up guidance to read the graph and compile diagnostics provides clear context, but it does not explicitly state when not to use the tool or name alternative repair tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rename_blueprint_comment_nodeA

Rename and optionally recolor an existing Blueprint comment box.

Use this for graph polish after programmatic node creation. The node_id can be the comment GUID or node object name returned by graph inspection.

Args: blueprint_name: Asset name of the Blueprint. node_id: GUID or node name of the comment box. comment_text: New visible comment header text. graph_name: Graph containing the comment. Default 'EventGraph'. color: Optional [R, G, B, A] color in 0..1 range.

Returns: Dict with node_id, node_name, comment_text, and layout bounds.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#graph-readability-and-layout Example: rename_blueprint_comment_node(blueprint_name="/Game/BP_Door", node_id="COMMENT-NODE", comment_text="Interact Flow")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNo
node_idYes
graph_nameNoEventGraph
comment_textYes
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/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. It discloses the mutating nature (rename), the optional recolor parameter, the flexible node_id format (GUID or node object name), and the return type (Dict with node_id, node_name, comment_text, bounds). It also links to a KB document for further context. It does not mention potential failure modes or whether the change is applied immediately, but for a straightforward rename operation, the coverage is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: purpose first, then usage context, then parameter details, returns, a KB link, and a concrete example. Every element earns its place, and nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and an output schema, the description gives all needed context: the exact purpose, parameter semantics, return value description, an example call, and a point to further documentation. No critical information is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

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. Every parameter is explained in the Args section: blueprint_name is 'Asset name of the Blueprint,' node_id can be 'GUID or node name,' comment_text is 'New visible comment header text,' graph_name has a default and specifies the graph, and color is described as 'Optional [R, G, B, A] color in 0..1 range.' This adds essential semantics beyond the raw 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?

The description opens with a clear, specific verb-resource pair: 'Rename and optionally recolor an existing Blueprint comment box.' This immediately distinguishes it from siblings like add_comment_box and create_comment_box, which create new boxes, and move_blueprint_node, which changes position.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear context: 'Use this for graph polish after programmatic node creation.' This conveys the intended scenario, though it does not explicitly name alternative tools or state when not to use it. The description could be stronger with an explicit exclusion, but the context is sufficient for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

renderer_capture_viewmodeA

Switch the active level viewport to a diagnostic viewmode and save a PNG.

Supported viewmodes include lit, unlit, wireframe, shader_complexity, quad_overdraw, shader_complexity_with_quad_overdraw, material_texture_scale_accuracy, and required_texture_resolution.

Args: viewmode: Diagnostic viewmode to capture filepath: Optional output .png path; defaults to Saved/MCP/Viewmodes restore_viewmode: Restore the previous viewport mode after capture

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: renderer_capture_viewmode(viewmode="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
filepathNo
viewmodeYes
restore_viewmodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It mentions switching the viewport and saving a PNG, and includes a restore_viewmode parameter that restores the previous mode. However, it does not state whether the viewport remains changed if restore is false, nor does it mention failure conditions or side effects on the scene. The core behavior is disclosed, but additional context (e.g., that the viewport is temporarily altered) would be helpful.

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 efficient: a clear opening sentence, a concise list of supported viewmodes, parameter explanations, a KB reference, and an example. It is front-loaded with the core purpose and avoids verbosity. The list of viewmodes is necessary and adds value, and the example is helpful despite using a placeholder value.

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 relatively simple and the description covers the main action, parameters, and gives a default path. Since an output schema exists, return values are not needed. It does not mention prerequisites (e.g., an open viewport) or error handling, but the KB reference offers additional context. Overall, it is adequate for an agent to invoke correctly, though a note on preconditions would round it out.

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 is the only source of parameter meaning. It clearly explains each parameter: viewmode (diagnostic viewmode to capture), filepath (optional path with a default), and restore_viewmode (restore after capture). This adds essential semantics beyond the bare schema, making it fully self-contained for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: switching the active level viewport to a diagnostic viewmode and saving a PNG. It lists the specific supported viewmodes, making the purpose unambiguous. It is distinct from sibling screenshot tools because it targets diagnostic viewmodes rather than generic captures.

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 when to use this tool (to capture diagnostic viewmodes) but does not explicitly contrast it with alternatives like take_screenshot or viewport_capture_screenshot. It provides a clear functional purpose but lacks explicit when-not-to-use or alternative routing. A brief mention of 'for standard screenshots use take_screenshot' would improve it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repair_behavior_treeA

Repair a corrupted Behavior Tree asset so it can be opened in the UE5 BT editor.

Two modes:

• fix_guids_only=True — non-destructive GUID rescue (try this FIRST). Walks every graph node and sub-node, assigning a fresh NodeGuid to any with an invalid (all-zero) one. Tree structure, classes, pins, decorators, services, and runtime properties are all preserved. This is the right choice for BT assets written by pre-BUG-043 plugin builds (their graph nodes have all-zero NodeGuids, which cause the BT editor to crash at 0x68 on open because its internal widget lookups key on NodeGuid).

• fix_guids_only=False (default) — destructive rebuild. Wipes all non-Root graph nodes and saves an empty Root-only BT. Use this ONLY if fix_guids_only=True did not resolve the crash — you will then need build_behavior_tree to repopulate the tree.

Args: behavior_tree_name: Name of the BT asset to repair (e.g. "BT_Enemy_Infantry") fix_guids_only: If True, only fill in missing NodeGuids (non-destructive). Default False (destructive).

Returns: Dict with 'success', 'behavior_tree', 'mode', plus • fix_guids_only: 'guids_fixed', 'guids_already_valid', 'node_count' • destructive: 'node_count_after_repair'

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: repair_behavior_tree(behavior_tree_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
fix_guids_onlyNo
behavior_tree_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/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 delivers: it clearly distinguishes non-destructive GUID rescue from destructive rebuild, explicitly warns that destructive mode wipes all non-Root nodes, and explains the underlying BUG-043 crash cause. This is far beyond a typical bare description.

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 detailed but every section earns its place: purpose, two modes, args, returns, KB reference, and example. The bulleted mode breakdown and labeled sections make it scannable, and the purpose is front-loaded. No redundant 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?

Given the tool's destructive capability and the absence of annotations, the description is fully complete: it tells the agent when to use each mode, what each mode does, what the parameters mean, what the return dict contains, and what to do afterward. It even includes an example invocation.

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 explains behavior_tree_name with a concrete example, and fix_guids_only with its default value, the exact behavior for each value, and the practical consequences of each mode.

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 action ('Repair a corrupted Behavior Tree asset') and a clear outcome ('so it can be opened in the UE5 BT editor'). The two-mode breakdown further distinguishes the tool from siblings like create_behavior_tree or build_behavior_tree by focusing on repair rather than creation or population.

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?

Explicitly instructs the agent to try fix_guids_only=True FIRST, and to use the destructive mode ONLY if the non-destructive repair did not resolve the crash. It even names the follow-up tool, build_behavior_tree, and points to a KB reference. This leaves no ambiguity about when or how to use the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retarget_single_animationA

Retarget a single animation sequence using an existing IK Retargeter.

Convenience wrapper around batch_retarget_animations for single assets. Useful for quick tests before running the full batch.

Args: retargeter_path: Full content path to the IKRetargeter asset source_animation_path: Content path of the source animation output_path: Destination folder for the retargeted animation output_name: Output asset name (default: source name + "_Retargeted") overwrite: If True, overwrite an existing output asset

Returns: dict with keys: success, output_asset_path, message

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: retarget_single_animation(retargeter_path="/Game/MCP_Test/Example", source_animation_path="/Game/MCP_Test/Example", output_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
overwriteNo
output_nameNo
output_pathYes
retargeter_pathYes
source_animation_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the return dict structure, the overwrite flag behavior, and that it uses an existing retargeter. It does not mention failure modes, permissions, or whether the source asset is protected, but key observable behaviors are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: one-line purpose, usage context, parameter list, return type, KB link, and example. Every sentence contributes value, and the format is easy to scan. The example is slightly repetitive but not excessive.

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 5-parameter tool with no annotations and no schema descriptions, the description provides full parameter details, return structure, and an example. It could elaborate on error handling and exact asset-creation behavior, but it is adequate for an agent to invoke correctly.

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%, but the Args section explains every parameter with additional context: full content paths, destination folder, default output_name (source name + '_Retargeted'), and overwrite semantics. This fully compensates for the missing schema descriptions.

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 opens with 'Retarget a single animation sequence using an existing IK Retargeter,' which gives a specific verb and resource. It also explicitly positions itself as a wrapper for single assets, differentiating it from the sibling batch_retarget_animations.

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?

It states 'Convenience wrapper around batch_retarget_animations for single assets' and 'Useful for quick tests before running the full batch,' naming the alternative and specifying when to use this tool. This is explicit guidance for choosing between single and batch retargeting.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

risk_evaluate_actionA

Evaluate action risk before an autonomous agent mutates the project.

Args: action: Natural-language action description target: Actor, asset, subsystem, file, or feature target operation_type: inspect/read/create/edit/delete/compile/save/build/etc. asset_paths: Optional affected Unreal asset paths destructive: True for deletion, overwrite, reset, or irreversible edits requires_compile: True when Blueprint/C++ compile or VM recompile is needed affects_runtime: True when gameplay behavior may change touches_source: True when C++/Python/plugin source files are involved estimated_scope: single_asset, multi_asset, folder, level, or project_wide mitigations: Existing safeguards such as checkpoint, journal, dry-run, tests

Returns: JSON string with risk level, score, recommended gate, reasons, and checklist.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: risk_evaluate_action(action="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
targetNo
asset_pathsNo
destructiveNo
mitigationsNo
operation_typeNounknown
touches_sourceNo
affects_runtimeNo
estimated_scopeNosingle_asset
requires_compileNo

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. It explains that the tool evaluates risk and returns a JSON string with risk level, score, recommended gate, reasons, and checklist. The 'before...mutates' phrasing strongly implies this tool itself is non-mutating, though it is not stated explicitly.

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 and the body is organized into clear sections: Args, Returns, KB, and Example. The parameter list is necessary given the lack of schema descriptions, but the example using 'action="Example"' is too generic to add real value and the KB link is not expanded.

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?

Despite high complexity with ten parameters and no schema description coverage, the description fully documents the inputs, the output structure, and the intended usage moment. It also provides a KB pointer for deeper context, making it sufficiently complete for an agent to select and invoke the tool correctly.

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 does so thoroughly by defining every one of the ten parameters, including meaningful values for operation_type and estimated_scope, and clarifying the boolean flags such as destructive, requires_compile, affects_runtime, and touches_source.

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 first sentence is a specific and unambiguous statement of purpose: 'Evaluate action risk before an autonomous agent mutates the project.' This clearly identifies the tool's verb, resource, and timing, and distinguishes it from the many mutating sibling tools in the list.

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 explicitly states when to use the tool: before an autonomous agent mutates the project. It does not name alternatives or provide exclusions, but the usage context is clear enough for an agent to select this tool over direct mutation or validation siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_blueprintA

Persist a Blueprint package to disk using the UnrealMCP C++ bridge.

This invokes the native save_blueprint MCP command, which writes the package via UEditorLoadingAndSavingUtils::SavePackages (UnrealEd). It does not call Python unreal.EditorAssetLibrary.save_asset / save_loaded_asset, which has crashed with EXCEPTION_ACCESS_VIOLATION in EditorScriptingUtilities on some UE 5.6 sessions.

Typical flow after editing a BP via MCP:

  1. compile_blueprint(blueprint_name=...) — marks modified (plugin safe path)

  2. save_blueprint(blueprint_name=...) — writes .uasset

Optional: only_if_dirty=True maps to the engine's "only save dirty packages" behavior; default False saves the listed package regardless.

Args: blueprint_name: Blueprint asset name (e.g. "BP_Cabal") only_if_dirty: If True, only persist if the package is dirty

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: save_blueprint(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
only_if_dirtyNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full transparency burden and does so thoroughly. It discloses the native C++ bridge implementation, the underlying engine call (UEditorLoadingAndSavingUtils::SavePackages), the deliberate avoidance of the crash-prone Python API, and the exact semantics of only_if_dirty including the default false behavior. This is rich, actionable behavioral context for a mutating 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 well-organized: purpose first, then implementation detail, workflow, parameter semantics, and example. It is slightly longer than strictly necessary due to repeating the only_if_dirty explanation in both prose and the Args block, but every sentence adds useful information and no vague filler exists.

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?

The tool description covers what the operation does, how it works, why it is preferred over the Python equivalent, when it fits into a larger editing workflow, the meaning of both parameters, and a concrete invocation example. Since an output schema exists, return-value documentation is not required here, making this functionally complete for an agent.

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 explain both parameters itself. It does: blueprint_name is described as a Blueprint asset name with examples ('BP_Cabal') and a full path example at the end, while only_if_dirty is explained in plain terms with its engine mapping and default behavior. The description fully compensates for the schema's lack of parameter documentation.

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 opens with a specific verb and resource: 'Persist a Blueprint package to disk using the UnrealMCP C++ bridge.' It clearly distinguishes the tool from related operations like compile_blueprint by explaining it writes the .uasset via SavePackages, and even contrasts it with Python save functions. An agent can immediately understand what this tool does and how it differs from nearby editing/saving workflows.

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 gives a concrete typical flow: compile_blueprint first to mark modified, then save_blueprint to write the asset. It also explicitly warns against the Python-based save path due to a crash risk, providing clear selection guidance. The only_if_dirty parameter behavior is explained, so the agent knows how to control when the save is skipped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_export_folderA

Scan a local folder for importable assets and return a categorised manifest.

This tool runs LOCALLY on the MCP server machine — it does NOT connect to UE5. Use it to preview what would be imported before calling batch_import_folder.

Args: folder_path: Absolute path to the folder on the MCP server machine (e.g. "/home/user/exports/Bastila" or "C:/KotOR/exports") recursive: If True, scan all subdirectories (default True)

Returns: JSON string with a categorised manifest: { "folder": "/home/user/exports/Bastila", "total_files": 12, "importable": 10, "skipped": 2, "categories": { "texture": [{"path": "...", "name": "...", "ext": ".png"}, ...], "mesh": [...], "audio": [...], "unknown": [...] }, "subdirs": ["textures", "meshes"] }

KB: see knowledge_base/31_GENERATIVE_CONTENT_PIPELINE.md#overview Example: scan_export_folder(folder_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
recursiveNo
folder_pathYes

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 provided, the description carries the full burden. It discloses that the tool runs locally, does not connect to UE5, and returns a manifest rather than performing an import. It does not explicitly state 'read-only' or 'non-mutating,' but the scanning/preview framing strongly implies no 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with Args, Returns, KB, and Example sections, and every section serves a purpose. However, the contradictory example is a structural flaw – it is actively misleading. The length is acceptable, but the incorrect usage example prevents a higher score.

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 description covers local execution, the relationship to batch_import_folder, both parameters, a detailed return manifest example, and a KB reference. The main gap is the invalid example path, which creates a correctness issue, but overall the description is sufficiently complete for an agent to call the tool correctly in most cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The Args section adds strong meaning beyond the 0%-coverage schema: folder_path is defined as an absolute local path with OS examples, and recursive is explained with its default. However, the bottom example uses '/Game/MCP_Test/Example', a UE content path, which directly contradicts the required local absolute path and could mislead an agent into passing an invalid argument.

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 opens with a specific verb and resource: 'Scan a local folder for importable assets' and states the output is a 'categorised manifest.' It further differentiates from siblings by explicitly noting it runs locally and does NOT connect to UE5, mentioning batch_import_folder as the related follow-up.

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 explicitly says 'Use it to preview what would be imported before calling batch_import_folder,' providing a clear when-to-use and naming the alternative. It also clarifies the local-only, non-UE5 context, so an agent will not try to use it for engine-side operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_project_assetsC

Scan Content Browser assets via the Unreal Asset Registry.

Returns structured inventory rows with class, size, referencer count, dependency count, package path, and folder depth.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#asset-creation-patterns

Example: scan_project_assets()

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo/Game
depthNo
class_filterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description names the mechanism (Unreal Asset Registry) and the exact output fields, implying a read-only scanning operation. However, there are no annotations and no explicit statement about side effects, performance implications, empty results, or scope limitations, leaving part of the behavioral burden unmet.

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 definition is compact and front-loaded: purpose first, then output summary, then a KB reference and example. Every sentence contributes, with no filler, though the missing parameter information keeps it from being fully complete.

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 output schema covers return shape, but the description lacks parameter semantics, usage guidance, and an explicit safety profile since no annotations are present. Given the large sibling list and the need to distinguish this from other asset search tools, the definition is not complete enough for confident tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to the path, depth, or class_filter parameters. The example uses no arguments, so the agent is left to infer semantics solely from parameter names and defaults, which is insufficient particularly for class_filter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scans Content Browser assets via the Unreal Asset Registry and lists the returned inventory fields. This is a specific verb and resource with a concrete output description, though it does not explicitly differentiate it from sibling tools like ue_find_assets_by_class or project_find_assets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus the many sibling asset-inspection tools. There are no usage conditions, exclusions, or alternative tool references, so an agent must guess which scanner or search tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_get_changelistA

Get files in a source control changelist.

For providers without explicit changelists (Git, SVN), returns all locally modified files.

When no provider is configured, returns an empty files list (success=True, available=False).

Args: changelist: Changelist name/number. 'default' = default changelist.

Returns: JSON StructuredResult with outputs: changelist — the queried changelist name description — changelist description (empty string if unavailable) available — bool — False when no SC provider files — [{path, state}]

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: sc_get_changelist()

ParametersJSON Schema
NameRequiredDescriptionDefault
changelistNodefault

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 burden of explaining behavior, and it does so well: it states what happens for providers without changelists, what happens when no provider is configured, and the exact output fields. It does not explicitly state that the operation is read-only, but 'Get' plus the non-mutating output description make that reasonably clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with intent, edge-case behavior, Args, Returns, a KB pointer, and an example. It is longer than strictly necessary but each section adds useful information and the key purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool, the description is complete: it covers argument semantics, provider edge cases, output structure, and a concrete invocation example. The output schema exists and the description still provides enough detail for an agent to know exactly what to expect.

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: 'changelist' is explained as a changelist name/number and the special value 'default' is defined. This adds genuine meaning beyond the bare schema property and its 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 opens with a specific verb and resource: 'Get files in a source control changelist.' It also clarifies fallback semantics for Git/SVN and no-provider cases, which makes the tool's scope clear even though it does not explicitly name sibling tools like sc_get_provider_info or sc_get_status.

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 the purpose and the provider-behavior notes, but there is no explicit guidance on when to choose this tool over related source-control siblings or other changed-asset tools. The Git/SVN and no-provider behavior helps set expectations but does not provide alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_get_provider_infoA

Get information about the active source control provider.

Always returns success=True. When no SC provider is configured, returns provider='None', available=False — this is not an error.

Returns: JSON StructuredResult with outputs: provider — 'Perforce' | 'Subversion' | 'Git' | 'None' available — bool workspace — workspace/client name (Perforce only, else '') server — server address (else '') user — SC username (else '')

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: sc_get_provider_info()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 provided, the description carries the full behavioral disclosure burden. It explicitly states that the tool always returns success=True and that an unconfigured provider returns provider='None', available=False rather than an error. It also documents the output shape clearly. This is strong transparency for a simple read-style query tool, though it does not explicitly state that the operation has no 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 well-organized: a one-sentence purpose, a concise behavioral note, a structured list of outputs, and an example. It is slightly longer than strictly necessary but every section adds practical value, including the KB pointer and example call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only information tool, the description is complete. It defines all possible provider values, explains the no-provider behavior, lists every output field with its meaning, and provides an example. The output schema exists, but the description adds enough context that an agent can confidently invoke and interpret the result.

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 parameter semantics are trivially satisfied. The description reinforces this with an example call, sc_get_provider_info(), and the schema already confirms no properties are required. 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?

The description clearly states the tool's purpose: retrieving information about the active source control provider, and enumerates the exact values returned such as provider, available, workspace, server, and user. However, it does not explicitly distinguish itself from sibling source-control tools like sc_get_status or sc_get_changelist.

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 this to get information about the active source control provider. It also explains the no-provider case, which is useful context. However, there is no explicit guidance on when to prefer this tool over related siblings or 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.

sc_get_statusA

Get the source control status of a single asset or file path.

Never raises when the provider is unavailable; returns state='unknown' or state='not_in_depot' as appropriate.

Args: path: Package path ('/Game/Blueprints/BP_HealthSystem') or absolute filesystem path to the .uasset file.

Returns: JSON StructuredResult with outputs: path — the queried path state — 'checked_out' | 'added' | 'unchanged' | 'deleted' | 'conflicted' | 'not_in_depot' | 'ignored' | 'unknown' revision — revision string (e.g. '#12') or '' if unavailable

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: sc_get_status(path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully carries the behavioral burden. It discloses that it never raises when the provider is unavailable and returns specific states ('unknown', 'not_in_depot'), which is valuable. It also documents the return structure, but does not mention permissions or side effects (though it is a read 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 well-structured with sections (Args, Returns, KB, Example) and front-loads the purpose. It is slightly longer than necessary but every part adds value, including the behavioral note and example. 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?

Despite having an output schema (per signals), the description also explains the return fields, making it self-contained. The example and KB reference add context. For a low-complexity tool with one parameter, it is complete enough for an agent to invoke correctly.

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 explain the single parameter. It does: 'path' is described as a package path or absolute filesystem path with an example. This fully compensates for the schema's lack of detail.

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 clear verb 'Get' and a specific resource 'source control status of a single asset or file path', with precise path types (package or absolute filesystem). It distinguishes itself from siblings by focusing on a single asset status, which is clear even without naming 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 for checking status but does not explicitly contrast with sibling tools like sc_get_provider_info or sc_get_changelist. It lacks when-to-use vs when-not-to-use guidance, though the example provides a concrete scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_bridge_commandsB

Search TCP bridge command descriptors by text, category, status, or mutation class.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
statusNo
categoryNo
registry_pathNo
mutation_classNo
include_sourcesNo

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?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'Search', which implies a read operation, but it does not explain matching semantics (substring vs exact), how empty filters behave, whether filters combine with AND or OR, or what 'include_sources' and 'registry_path' affect. This lack of behavioral detail leaves important operation semantics undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every word contributes to identifying the tool's core purpose and primary filter axes, making it highly concise and easy to parse.

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 the tool has an output schema, the description is too sparse for a 7-parameter search tool with no parameter schema descriptions and no annotations. Missing usage boundaries, parameter semantics for three fields, and behavior with empty filters mean an agent cannot fully determine how to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description must compensate for all seven parameters. It mentions 'text, category, status, or mutation class', mapping to only four of the seven fields, and even then without clarifying query semantics. It omits 'limit', 'registry_path', and 'include_sources' entirely, leaving significant gaps for an agent trying to invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Search') and a clear resource ('TCP bridge command descriptors'), and lists the main filter dimensions. It is clear enough to be distinguished from invocation or summary tools, though it does not explicitly differentiate from sibling tools like bridge_descriptor_summary or call_bridge_command.

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 this tool is for finding command descriptors by filters, but it gives no explicit when-to-use guidance, no exclusions, and no alternatives. The intended use is inferable from the word 'Search' and the listed filter axes, but the agent is not told how this relates to summary, list, describe, or call tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_knowledge_baseA

Search across all knowledge base files for a keyword or phrase.

Returns matching sections from both hand-written reference docs and book extracts. Use this when you need a specific term, function name, pattern, or concept and don't know which topic file covers it.

Args: query: Keyword or phrase to search for. Examples: "behavior tree task", "blend space", "data table row", "event dispatcher", "spawn actor", "material parameter"

KB: see knowledge_base/00_AGENT_KNOWLEDGE_BASE.md#overview Example: search_knowledge_base(query="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

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 behavioral transparency burden. It discloses that the search spans all knowledge base files and returns matching sections from both reference docs and book extracts, which gives useful behavioral context. It doesn't describe edge-case behavior like no matches or result formatting, but for a read-only search tool the disclosed behavior is reasonably complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: the purpose is front-loaded, followed by when-to-use guidance, parameter details with examples, a KB reference, and a usage example. Every section earns its place with 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?

For a simple one-parameter search tool with an output schema present, the description covers the tool's purpose, trigger conditions, parameter semantics, examples, and a KB pointer. Nothing critical is missing for an agent to select and 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 only defines query as a string with no description, so schema description coverage is 0%. The description compensates by defining query as a 'Keyword or phrase to search for' and providing six concrete examples such as 'behavior tree task' and 'blend space,' making the expected input much clearer.

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: 'Search across all knowledge base files for a keyword or phrase.' It also clarifies that it returns matching sections from both hand-written reference docs and book extracts, which distinguishes it from sibling tools like list_knowledge_base_topics or get_knowledge_base that are about browsing or retrieving whole topics.

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 explicitly tells the agent when to use it: 'Use this when you need a specific term, function name, pattern, or concept and don't know which topic file covers it.' It gives a clear trigger condition, though it does not name alternative tools or explicitly say when not to use it, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_cancel_operationC

Request cooperative cancellation for a tracked operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
operation_idYes

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. The word 'cooperative' hints that cancellation is not guaranteed to be immediate, but the description doesn't explain what happens after the request: whether the operation stops, whether it can be resumed, whether the request is queued, or what the response indicates. It also doesn't mention any side effects or state changes. For a cancellation 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?

The description is a single concise sentence that front-loads the core action. It's appropriately sized for a simple tool. However, it could have used the available space to add behavioral context (e.g., what 'cooperative' means) without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema and only 2 parameters, the description is incomplete. It doesn't explain the cancellation semantics, what the response contains, or how to handle a failed cancellation. The sibling context shows many operation-related tools, but this description doesn't help an agent understand how cancellation fits into the operation lifecycle. The output schema exists but the description doesn't reference it or explain what the agent should do with the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It doesn't mention either parameter. The schema shows operation_id is required and reason is optional with a default, but the description doesn't explain what 'reason' is for or how it's used. An agent can infer operation_id identifies the operation, but reason's semantics are unclear. The description adds no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Request cooperative cancellation for a tracked operation' clearly identifies the verb (request cancellation) and the resource (a tracked operation). It distinguishes itself from sibling tools like server_operation_status and server_list_operations, which are about querying operations, and from server_lifecycle_status which is about server state. However, it doesn't explicitly name a sibling alternative, so it doesn't fully differentiate from other operation-management tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: use this when you want to cancel a tracked operation. It doesn't explicitly state when to use it versus alternatives like server_operation_status or server_list_operations, nor does it mention any prerequisites (e.g., operation must be running, cooperative cancellation means it may not stop immediately). The context is clear enough for an agent to infer the basic use case, but there's no explicit guidance on when not to use it or what alternatives exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_lifecycle_statusB

Report Ghost server lifecycle, transport, bridge, and catalog state.

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?

There are no annotations, so the description carries the burden of behavioral disclosure. The verb 'Report' implies a read-only, observational call, which is useful but not fully explicit. It does not state whether the call is safe to invoke at any time, whether it can block, or what 'catalog state' entails.

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 11-word sentence that is front-loaded with the verb and lists all covered state domains. Every word earns its place, with no redundancy or 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 are covered. The description lists the four state domains, but it does not clarify how this tool relates to sibling diagnostics tools, what 'bridge' or 'catalog' refer to in context, or whether it aggregates other status endpoints. This makes it minimally viable but not fully contextualized.

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. The description does not need to explain parameter semantics because there are none, and the empty input schema fully confirms this.

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 ('Report') and names a clear resource: Ghost server lifecycle, transport, bridge, and catalog state. It is reasonably clear what the tool does, though it does not distinguish it from sibling tools like server_transport_diagnostics or server_operation_status, which are also status-oriented.

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, and no exclusions are mentioned. The description only states what the tool reports, leaving the agent to infer the appropriate call context from the tool name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_list_operationsC

List tracked indirect tool operations and their latest progress event.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
include_completedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full disclosure burden. It does communicate the core behavior — listing operations and their progress — and 'List' implies a read-only action. But it fails to disclose that completed operations are excluded by default (include_completed=false) and never explains what 'indirect' operations means.

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 nine-word sentence that front-loads the verb and the core resource. It is efficient, though 'indirect' is ambiguous and the sentence does no work toward parameter or usage guidance.

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 output schema covers return values, but the description omits parameter semantics and sibling differentiation, and leaves 'indirect' unexplained. For a tool with no annotations and two undocumented parameters, this is too thin to fully guide correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description mentions neither limit nor include_completed. The default filtering of completed operations is a behavior an agent needs to know to use this tool correctly, and it is only recoverable from the parameter name, not from the description.

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'), a resource ('tracked indirect tool operations'), and what is returned ('latest progress event'). The listing function is clearly distinct from sibling tools like server_operation_status and server_cancel_operation. However, 'indirect' is left undefined, which slightly muddies what exactly is being listed.

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 server_operation_status (status of a single operation) or server_cancel_operation. The description provides no conditions, exclusions, or alternatives, leaving the agent to infer the tool's role from its name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_operation_statusA

Return detailed progress and cancellation state for one operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYes

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 provided, the description carries the full burden of behavioral disclosure. 'Return' indicates a read-only, non-mutating operation, and the description names the key data points (progress, cancellation state), but it does not mention error behavior, whether the tool blocks or polls, or what happens for unknown operation IDs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no filler or redundancy. All essential information is front-loaded, and every word contributes to understanding the tool's function.

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 single-parameter status tool with an output schema available, the description is largely sufficient. It identifies the operation scope and the two key aspects returned (progress and cancellation state), though it could mention error cases or relationship to cancellation actions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter, operation_id, with no description coverage. The phrase 'for one operation' helps connect operation_id to the tool's purpose, but the description does not clarify where operation_id comes from or any special format requirements. The parameter is self-explanatory enough that the minimal description provides some 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 ('Return') and resource ('detailed progress and cancellation state for one operation'), making the tool's purpose understandable. It distinguishes itself from list-style operations through the phrase 'one operation', though it does not explicitly name 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 description implies that this tool is used when you need status details for a specific operation, particularly progress and cancellation state. However, it provides no explicit guidance about when not to use it or how it relates to alternatives like server_list_operations or server_cancel_operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_protocol_contractA

Describe Ghost's client-visible MCP protocol contract and native parity boundaries.

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?

With no annotations, the description bears the full behavioral burden. The verb 'Describe' implies a read-only, informational operation and gives a reasonable safety signal, but the description never explicitly states that the tool has no side effects or what kind of response to expect. It also leaves 'native parity boundaries' undefined, so some behavioral context is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a clear verb and object, front-loaded and free of filler. It is appropriately compact for an informational tool with no parameters.

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 informational tool with an output schema, this description is adequate for basic selection and invocation. The main gap is that terms like 'client-visible' and 'native parity boundaries' are not elaborated, but the low complexity and presence of an output schema reduce the need for additional 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?

The schema has zero parameters, so parameter semantics are trivially satisfied. The description does not add parameter-level information, but none is needed; this is the baseline case for a zero-parameter 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 clearly identifies a specific action and resource: 'Describe Ghost's client-visible MCP protocol contract and native parity boundaries.' This is not a tautology and communicates an informational tool. However, it does not explicitly distinguish itself from sibling metadata/contract tools such as tool_contribution_contract or server_transport_diagnostics, so some inference is left to the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool or when to prefer a sibling such as server_lifecycle_status, server_transport_diagnostics, or tool_contribution_contract. The usage context is only implied by the phrase 'Describe Ghost's... contract,' leaving the agent without explicit selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_refresh_metadataC

Refresh runtime metadata that can safely update without re-registering Python tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 must carry the full burden. It only notes that the update is 'safe' and avoids re-registration, but does not disclose side effects, idempotency, or what metadata is affected. The dry_run parameter suggests a preview mode that is not explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It communicates the core purpose efficiently, though it sacrifices detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameter explanation and no behavioral detail beyond a safety hint, the description is incomplete for an agent. The presence of an output schema helps but does not compensate for the missing parameter semantics and usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not mention the single 'dry_run' parameter at all. The agent has no way to know what this boolean controls or why it defaults to true, which is a critical gap for a tool with only one parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb ('refresh') and resource ('runtime metadata'), and adds a distinguishing clause ('without re-registering Python tools') that hints at its non-destructive nature. It is distinct from sibling server tools like status or diagnostics, though it does not explicitly name any alternative.

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 siblings such as server_operation_status or server_lifecycle_status. The description implies it is for refreshing metadata safely but gives no conditions, triggers, or exclusions, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

server_transport_diagnosticsA

Describe active MCP transport behavior, compatibility, security posture, and native gaps.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 itself signals a read-only diagnostic operation through the verb 'Describe,' and notes that it covers security posture and native gaps. However, it does not explicitly state that the tool performs no mutation, requires no permissions, or only reports the active state, so some behavioral burden is unmet.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler, listing the main report areas compactly. It could be clearer about 'native gaps,' but it earns its place and avoids 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 parameterless diagnostic with an output schema, the description covers the major topics (behavior, compatibility, security, gaps) and is callable as-is. Some terms such as 'native gaps' and 'compatibility' are left undefined, but the output schema can carry the return-value detail.

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 zero parameters, so there is no parameter documentation burden. The description's mention of the four report areas is the only relevant semantic context, matching the baseline expectation 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 uses the specific verb 'Describe' and identifies a distinct resource: active MCP transport behavior, compatibility, security posture, and native gaps. This is enough to differentiate it from sibling status/protocol tools such as server_lifecycle_status and server_protocol_contract, though it never names 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'active MCP transport behavior' implies the tool is for diagnosing the current transport configuration, but the description gives no explicit when-to-use or when-not-to-use guidance and does not contrast it with sibling tools like server_protocol_contract. The intended usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_create_blueprint_flowC

Add a Create Session async Blueprint node and wire GetPlayerController(0).

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: session_create_blueprint_flow(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
use_lanNo
node_positionNo
blueprint_nameYes
public_connectionsNo
use_lobbies_if_availableNo

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 mentions adding a node and wiring GetPlayerController(0), but doesn't disclose side effects like whether it modifies the blueprint graph permanently, whether it requires compilation, whether it overwrites existing nodes, or what the output schema contains. The 'async' nature is mentioned but not explained.

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 core action. The KB reference and example are useful. However, the example is somewhat cryptic and the description could be more structured, but it's not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, 0% schema coverage, no annotations, and a complex blueprint-graph mutation task, the description is insufficient. It doesn't explain the output schema, the meaning of the boolean flags, or the node_position format. An agent would need to consult the KB or guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only explains blueprint_name via the example. The other 6 parameters (save, compile, use_lan, node_position, public_connections, use_lobbies_if_available) are completely unexplained in the description, leaving the agent to guess their semantics.

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 action: 'Add a Create Session async Blueprint node and wire GetPlayerController(0).' This clearly identifies the tool's purpose and distinguishes it from generic blueprint node adders. However, it doesn't explicitly name sibling tools like session_find_blueprint_flow, though the 'Create Session async' phrasing makes the domain clear.

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 context: it's for creating a session blueprint flow, and the example shows how to call it with a blueprint_name. It doesn't explicitly state when to use this vs alternatives like session_find_blueprint_flow or other session-related tools, but the 'Create Session' wording provides reasonable implied guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_find_blueprint_flowC

Add a Find Sessions async Blueprint node and wire GetPlayerController(0).

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: session_find_blueprint_flow(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
compileNo
use_lanNo
max_resultsNo
use_lobbiesNo
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It reveals that the tool mutates a blueprint by adding a node and wiring GetPlayerController(0), but it does not disclose side effects such as whether the existing graph is modified, whether save or compile occurs, or what the output represents. This is a significant gap 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 compact: two short sentences plus a KB reference and a concrete example. There is no filler, and the main action is front-loaded. It could include more detail, but what is present 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?

For a tool with 7 parameters, no annotations, and 0% schema coverage, the description is incomplete. It does not explain parameter effects, node placement, graph mutation scope, or relationship to existing blueprints. The output schema exists, so return values need not be described, but the missing operational context is substantial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only supplies an example for blueprint_name. The remaining six parameters (save, compile, use_lan, max_results, use_lobbies, node_position) are not explained in the description, leaving the agent to guess their meaning and effect.

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 action: 'Add a Find Sessions async Blueprint node and wire GetPlayerController(0).' This gives a clear verb and resource, and the example makes the target blueprint obvious. It does not explicitly differentiate from the sibling session_create_blueprint_flow, but the operation is concrete enough to be understood.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives or when not to use it. The imperative phrasing and example imply a usage pattern, but no context, prerequisites, or exclusions are provided. It does not mention related session tools such as session_create_blueprint_flow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_actor_propertyC

Set a specific property on an actor instance.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: set_actor_property(name="ExampleName", property_name="ExampleName", property_value="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
property_nameYes
property_valueYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/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. 'Set' implies mutation, but it doesn't state whether the property must already exist, whether setting is reversible, what valid property names look like, or what error conditions arise. A mutation tool with zero annotation coverage needs far more context than this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but it wastes its only substantive line on a garbage example that is actively misleading. A placeholder example with identical repeated values teaches nothing and should have been replaced with a real, illustrative call or a note about valid property semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three required parameters, no enums, and 0% schema description coverage, the description is inadequate. Even though an output schema exists, the agent has no way to know what a valid property is, what value formats are accepted, or how this differs from the many related setter tools among the ~400 siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% — all three string parameters are undocumented in the schema. The description's only parameter guidance is a nonsensical example where name, property_name, and property_value are all literally 'ExampleName'. This fails to clarify what property_value should contain or what constitutes a valid property_name, providing no compensation 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?

'Set a specific property on an actor instance' states a clear verb and resource. The name is self-descriptive and easily distinguishes it from sibling mutators like set_actor_transform, set_component_property, and set_blueprint_property, though the description itself doesn't articulate that differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/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. There's no mention of checking properties with get_actor_properties first, no distinction from set_component_property, and no statement of prerequisites. The KB reference points to a file anchor but provides zero actual content in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_actor_transformC

Set the transform (location, rotation, scale) of an actor.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: set_actor_transform(name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
scaleNo
locationNo
rotationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 burden of behavioral disclosure. It only says 'set', which implies mutation, but does not mention coordinate space, units, side effects such as physics interference, whether the transform is applied in world space, or failure modes. The example is too minimal to clarify behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose. The KB reference and example are useful and do not add redundancy. It could be slightly more informative, but it is efficient and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with four parameters and no annotations, this description lacks key contextual details. It does not explain the expected array formats, the meaning of omitting parameters, or the operational context in the Unreal editor. The KB reference partially compensates, but the description itself is not sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It names location, rotation, and scale, which roughly maps to the three array parameters, but it does not explain array ordering, units, valid ranges, or what null defaults mean. The example only shows the required name parameter, omitting the transform parameters entirely.

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: 'Set the transform (location, rotation, scale) of an actor.' It identifies exactly what the tool does and which fields are affected. It does not explicitly distinguish from siblings such as set_actor_property, but the transform focus 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?

No guidance is given about when to use this tool versus alternatives like set_actor_property or add_set_actor_location_node. The KB reference points to a world-building overview, but it does not explain the intended workflow, 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_animation_for_stateC

Assign an animation sequence to a State Machine state.

Args: anim_blueprint_name: Animation Blueprint name state_machine_name: State machine name state_name: State to assign animation to animation_asset: Animation Sequence asset path loop: Loop the animation

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: set_animation_for_state(anim_blueprint_name="/Game/MCP_Test/BP_Example", state_machine_name="ExampleName", state_name="ExampleName", animation_asset="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
state_nameYes
animation_assetYes
state_machine_nameYes
anim_blueprint_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?

With no annotations, the description carries the full burden of behavioral disclosure, but it only says the tool 'assigns' and describes parameters. It does not mention mutation consequences, asset requirements, whether existing assignments are overwritten, or any side effects on the animation blueprint.

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 compact and front-loaded with the purpose, followed by a clean parameter list, a KB pointer, and a useful example. Every section earns its place, though the KB pointer is too vague to substitute for inline guidance.

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 5-parameter mutation tool with no annotations, the description gives the minimum viable information: parameters, a KB reference, and an invocation example. It lacks usage context, behavioral caveats, and error expectations, though the presence of an output schema reduces the need to describe return values.

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 lists all five parameters with brief explanations and provides a concrete example, but most explanations just restate the parameter titles (e.g., 'Animation Blueprint name' and 'State machine name'). The only meaningful semantic addition is calling animation_asset an 'Animation Sequence asset path' and the example showing expected asset path format.

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 action ('Assign an animation sequence') and a specific resource ('State Machine state'), so an agent can understand the core operation. It does not explicitly differentiate from siblings like add_animation_state or add_sequence_player_node, but the wording is clear enough to identify the intended use.

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 about when to use this tool versus alternatives, such as add_animation_state or add_sequence_player_node. It includes an example and a KB pointer, but neither explains the selection criteria or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_behavior_tree_blackboardA

Assign a Blackboard asset to a Behavior Tree.

Behavior Trees should have one explicit Blackboard source of truth for target, patrol, perception, and combat state. Use this after creating or repairing BT/Blackboard assets, then inspect the tree before adding decorators, services, or EQS tasks that depend on keys.

Args: behavior_tree_name: Behavior Tree asset name, e.g. BT_EnemyAI blackboard_name: Blackboard asset name, e.g. BB_EnemyAI

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: set_behavior_tree_blackboard(behavior_tree_name="BT_EnemyAI", blackboard_name="BB_EnemyAI")

ParametersJSON Schema
NameRequiredDescriptionDefault
blackboard_nameYes
behavior_tree_nameYes

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?

The description clarifies that the action assigns an asset and gives sequencing context, but it never discloses whether an existing Blackboard assignment is replaced, whether assets must already exist, or what failure/return behavior to expect. With no annotations available, those behavioral details are left to the agent to infer.

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, followed by a short 'when to use' paragraph, then args, KB link, and a runnable example. Each section adds distinct value without 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 two-argument assignment tool, it includes purpose, timing, arg semantics, a KB reference, and a full invocation example; the output schema covers return values. It could be more explicit about overwrite/validation behavior, but nothing needed to construct a valid call 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 schema has no property descriptions (0% coverage), but the Args section defines both parameters as asset names and gives concrete prefixed examples (BT_EnemyAI, BB_EnemyAI). This goes beyond the schema's bare titles, though it could add constraints like existing-asset requirement or path vs. short name.

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?

Opens with a specific verb-resource pair ('Assign a Blackboard asset to a Behavior Tree') and reinforces the intent by explaining the one-source-of-truth rule. This clearly separates it from sibling operations like set_blackboard_value or create_blackboard.

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?

States an explicit workflow position: use after creating/repairing BT/Blackboard assets and inspect the tree before adding decorators, services, or EQS tasks that depend on keys. It does not explicitly name when-not-to-use alternatives, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_blackboard_valueB

Add a 'Set Blackboard Value as [Type]' node.

Args: blueprint_name: Blueprint name (usually AIController or BTTask) key_name: Blackboard key name value_type: Value type ("Object", "Vector", "Bool", "Float", "Int", "String") node_position: Optional graph position

KB: see knowledge_base/04_AI_SYSTEMS.md#overview Example: set_blackboard_value(blueprint_name="/Game/MCP_Test/BP_Example", key_name="ExampleName", value_type=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
key_nameYes
value_typeYes
node_positionNo
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 disclosure burden. It says the tool 'adds' a node, which implies graph mutation, but it does not state whether the blackboard key must already exist, whether existing nodes or pins are overwritten, or whether the blueprint needs to be loaded or compiled. These are material 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 compact and front-loaded: action sentence, parameter list, KB reference, and example. Every section earns its place. The only issue is the inconsistent example value for value_type, which is a precision problem rather than a conciseness problem.

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 four-parameter mutation tool with no annotations and no schema descriptions, the description covers all parameters and provides a KB link and example, which is adequate but not rich. Missing behavioral context includes preconditions like whether the blackboard key must exist and what side effects occur on the graph, leaving the agent to infer some call requirements.

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 reasonably well: it explains each parameter's purpose, lists the allowed value_type strings, and notes that node_position is optional. The example reinforces usage, though the example uses value_type=0.0, which conflicts with the documented string enum, preventing full credit.

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 first sentence states the exact operation: add a 'Set Blackboard Value as [Type]' node. The args clarify the target blueprint and blackboard key. This distinguishes it from siblings like add_get_blackboard_value_node and add_clear_blackboard_value_node by its verb and node name.

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 or alternatives are provided. The description does not mention that users should choose this over add_get_blackboard_value_node or add_clear_blackboard_value_node, so the agent must infer usage from the tool name and argument list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_blueprint_ai_controllerA

Set the AIControllerClass on a Pawn/Character Blueprint.

This sets the AI Controller Class in the Blueprint's Class Defaults, which is required for AI movement (MoveToActor, SimpleMoveToActor) to work.

Args: blueprint_name: Name of the Blueprint (must be a Pawn or Character subclass). controller_class: Short class name like 'AIController' (default) or a custom controller class name.

Returns: Dict with 'blueprint', 'ai_controller_class', and 'success'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_blueprint_ai_controller(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
controller_classNoAIController

TDQS

A4.4/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 burden of disclosure. It transparently states the mutation ('sets the AI Controller Class in the Blueprint's Class Defaults') and the key precondition ('must be a Pawn or Character subclass'). It does not disclose side effects such as overwriting existing values or compile/save requirements, but the core behavior is clear.

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 uses a clean structure: purpose, context, args, returns, KB link, and example. Every block adds useful information with no filler, and the key action is front-loaded.

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 setter with no output schema, it covers what an agent needs: purpose, parameter meaning, return keys, an example, and a knowledge-base pointer. Missing explicit error-handling or overwrite semantics 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?

Schema description coverage is 0%, but the description explains both parameters: blueprint_name as a Pawn/Character subclass with an example path, and controller_class as a short class name with default 'AIController'. This compensates for the bare schema, though the path vs. asset-name format could be slightly clearer.

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 opens with a specific verb and resource: 'Set the AIControllerClass on a Pawn/Character Blueprint.' It clarifies that this modifies Class Defaults, which differentiates it from sibling tools like create_ai_controller or generic set_blueprint_property.

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 phrase 'which is required for AI movement (MoveToActor, SimpleMoveToActor) to work' gives a clear trigger condition for when this tool is relevant. It does not explicitly name alternatives or state when not to use it, but the context is sufficient for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_blueprint_parent_classA

Reparent an existing Blueprint to another Blueprint or C++ class.

Use this for deliberate class-architecture changes after inspecting the Blueprint and confirming the new parent still matches its components, variables, and gameplay responsibilities. Compile and read back the Blueprint after reparenting before making additional graph changes.

Args: blueprint_name: Blueprint asset name or path to reparent. new_parent_class: Parent Blueprint asset name/path or C++ class name.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_blueprint_parent_class(blueprint_name="/Game/MCP_Test/BP_Example", new_parent_class="Character")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
new_parent_classYes

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?

No annotations are provided, so the description carries the behavioral burden. It warns that this is a deliberate, impactful operation and instructs the agent to verify compatibility and recompile afterward, which is useful. However, it does not disclose whether the operation is reversible, what side effects may occur on existing graphs, or what errors might arise.

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 well-structured with a purpose statement, usage guidance, parameter explanations, a knowledge base pointer, and an example. Every section adds value and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with an output schema, the description covers the main workflow, parameter semantics, and a concrete example. It could additionally mention failure modes or prerequisites, but the provided guidance plus KB reference is adequate for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

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 adds an Args section explaining that blueprint_name is an asset name or path and that new_parent_class can be a Blueprint asset or C++ class name. The example further clarifies expected input format, which compensates well for the schema's missing descriptions.

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 opens with a specific verb and resource: 'Reparent an existing Blueprint to another Blueprint or C++ class.' This clearly identifies the operation and distinguishes it from sibling blueprint-editing tools like set_blueprint_property or set_blueprint_ai_controller.

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 explicitly says to use this for 'deliberate class-architecture changes' and gives a concrete workflow: inspect the Blueprint, confirm the new parent matches responsibilities, then compile and read back before further graph changes. It does not name alternatives, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_blueprint_propertyB

Set a property on the Blueprint class default object (CDO).

Args: blueprint_name: Blueprint name property_name: Property name (e.g., "AutoPossessPlayer", "bUseControllerRotationYaw") property_value: New value

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_blueprint_property(blueprint_name="/Game/MCP_Test/BP_Example", property_name="ExampleName", property_value="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
property_nameYes
blueprint_nameYes
property_valueYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 burden of behavioral disclosure. It says the property is set on the CDO, but does not explain whether existing placed instances are affected, whether the asset needs recompiling, what happens on invalid property names, or any 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 tight and well-structured: one-line purpose, Args list, KB pointer, and example. Every sentence contributes, and the important action is front-loaded.

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 three-string-parameter setter, the description is largely sufficient and the output schema covers return shape. However, the lack of annotation coverage means it should disclose more about mutation scope, such as whether existing instances remain unchanged or whether compilation is required afterward.

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 provides parameter names, so the description must add meaning. The Args section gives useful definitions and concrete examples for property_name values, plus a full example call with a realistic asset path and 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 it sets a property on the Blueprint class default object (CDO), which is a specific verb-resource pair. Mentioning CDO distinguishes this from instance-level setters like set_actor_property, though it does not explicitly name that sibling.

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 CDO wording implies this tool is for changing Blueprint class defaults rather than actor instances or component properties. However, there is no explicit when-to-use or when-not-to-use guidance, and no alternative tools are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_blueprint_variable_defaultA

Set the default value of a Blueprint member variable.

Updates both the FBPVariableDescription record and the CDO property via ImportText so changes are visible immediately without a full recompile.

Args: blueprint_name: Asset name of the Blueprint. variable_name: Exact name of the variable to update. default_value: New default value as a string (e.g. '42', 'true', '(X=1.0,Y=2.0,Z=3.0)' for vectors).

Returns: Dict with 'blueprint', 'variable_name', 'default_value', 'success'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_blueprint_variable_default(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", default_value=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
default_valueYes
variable_nameYes
blueprint_nameYes

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 does well by disclosing the internal mechanism (FBPVariableDescription + CDO via ImportText) and the immediate-visibility effect without a full recompile. It does not mention failure modes or whether the asset must be saved afterward, but the disclosed behavior is substantial.

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 clear sentence, followed by well-labeled Args, Returns, KB, and Example sections. Each part adds practical value, and the structure makes the definition easy to scan and use.

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 definition covers the operation, parameters, return shape, an example, and a KB pointer, which is strong for a 3-parameter tool. It is slightly incomplete on error semantics (e.g., unknown variable name, invalid default_value) and the default_value type example is inconsistent, but an agent can still invoke it correctly in most cases.

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?

All three parameters are individually documented with useful guidance, including examples for default_value ('42', 'true', vector syntax). The main flaw is that the example call passes default_value=0.0 as a bare float while the parameter description says it must be a string, creating ambiguity.

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 opens with a specific verb and resource: 'Set the default value of a Blueprint member variable.' It further distinguishes itself from generic setters like set_blueprint_property by focusing on defaults and the FBPVariableDescription/CDO update path, so an agent can tell what this tool is for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when this tool is appropriate: it updates both the FBPVariableDescription record and the CDO so changes are visible immediately without a full recompile. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_collision_settingsA

Set collision and visibility settings on a Blueprint component.

From Ch. 9 (AI setup) - used to configure CapsuleComponent collision and to hide components in-game.

Collision presets: NoCollision, OverlapAll, BlockAll, BlockAllDynamic, OverlapAllDynamic, Pawn, PhysicsActor, Trigger, InvisibleWall

Args: blueprint_name: Target Blueprint component_name: Component to configure collision_preset: Collision preset name generate_overlap_events: Whether to fire overlap events hidden_in_game: Hide this component during gameplay

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: set_collision_settings(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
component_nameYes
hidden_in_gameNo
collision_presetNoBlockAllDynamic
generate_overlap_eventsNo

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 present, the description carries the behavior burden and mostly succeeds: it explains that this mutates collision and visibility, enumerates valid collision presets, and clarifies that hidden_in_game hides the component during gameplay. It does not discuss persistence, compile requirements, or error cases, but the core effect on the Blueprint component is well 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?

The description is well-structured with intro, context, preset list, args, KB pointer, and example. It is slightly padded with source-chapter context that an agent may not need, but the structure and front-loading are effective 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?

Given 5 parameters, zero schema descriptions, and no annotations, the description is remarkably complete: it covers all args, provides valid preset values, and includes a concrete invocation example. It could be even more complete with side-effects like whether the Blueprint needs recompilation, but nothing essential for selecting or invoking the tool is missing.

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 fully compensates. Every argument has at least a defining phrase, and collision_preset is backed by an explicit list of valid values. The example also demonstrates the expected blueprint_name format with a full asset path.

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: 'Set collision and visibility settings on a Blueprint component.' It further narrows the intent with 'configure CapsuleComponent collision' and 'hide components in-game', making it easy to distinguish from generic component-property setters or graph-node 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?

The description gives clear usage context by tying the tool to Ch. 9 AI setup and explicitly noting it configures CapsuleComponent collision and in-game visibility. It does not list exclusions or name alternative tools like set_component_property or add_set_collision_profile_node, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_component_parent_socketA

Attach a Blueprint component to a named bone/socket on its parent SkeletalMeshComponent.

This is the correct way to make armor pieces "snap" to the right place on a character. Instead of manually tweaking relative transforms, you attach the armor SCS node to a specific bone socket (e.g. "hand_r", "spine_01", "head") and UE5 positions it automatically following skeleton animation.

Common bone socket names (UE5 Mannequin): "pelvis", "spine_01", "spine_02", "spine_03", "clavicle_l", "upperarm_l", "lowerarm_l", "hand_l", "clavicle_r", "upperarm_r", "lowerarm_r", "hand_r", "neck_01", "head", "thigh_l", "calf_l", "foot_l", "ball_l", "thigh_r", "calf_r", "foot_r", "ball_r"

Args: blueprint_name: Blueprint to modify component_name: SCS variable name of the child armor/accessory component parent_socket: Bone or socket name to attach to (e.g. "hand_r") parent_component: (optional) SCS variable name of the SkeletalMeshComponent to attach to. If omitted, only the socket name is updated on the current parent.

Returns: Dict with 'success', 'component', 'parent_socket'

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_component_parent_socket(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent", parent_socket="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_socketYes
blueprint_nameYes
component_nameYes
parent_componentNo

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 behavioral burden, and it does so well: it explains that UE5 positions the component automatically following skeleton animation, and it discloses that omitting parent_component only updates the socket name on the current parent. It does not cover edge cases or prerequisites, but the core behavioral traits are clearly stated.

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 longer than average, but each section earns its place: purpose, context, common socket names, argument explanations, return format, KB reference, and example. The socket-name list is somewhat extensive but directly useful for selecting a valid parent_socket value.

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 tool with no annotations, the description provides the essential invocation details, parameter meanings, common values, optional-parameter behavior, return shape, and an example. It could be more complete by describing error conditions or prerequisites, but the agent has enough guidance to select and call the tool correctly.

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%, and the description fully compensates by explaining every parameter: blueprint_name, component_name, parent_socket, and the optional parent_component with its omission behavior. It also provides concrete example values, including a list of common UE5 Mannequin socket names, which adds significant practical 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 opens with a specific verb and resource: 'Attach a Blueprint component to a named bone/socket on its parent SkeletalMeshComponent.' It clearly identifies what the tool does and its intended use for attaching armor pieces to skeleton sockets. It does not name or explicitly contrast a sibling tool, but the behavior is distinctive enough that an agent can infer when it applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it is 'the correct way to make armor pieces snap to the right place,' and it contrasts with manually tweaking relative transforms. This tells an agent when the tool is appropriate. It does not explicitly list exclusions or alternative tool names, but the context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_component_propertyA

Set any property on a Blueprint component.

Args: blueprint_name: Blueprint name component_name: Component name property_name: C++ property name (e.g., "TargetArmLength", "bUsePawnControlRotation") property_value: Value (bool, int, float, string, or [x,y,z] array for vectors)

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_component_property(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent", property_name="ExampleName", property_value="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
property_nameYes
blueprint_nameYes
component_nameYes
property_valueYes

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 present, so the description carries the obligation to disclose mutation behavior and constraints. It only says 'Set any property' with no mention of side effects (e.g., requiring compile or save), limits on which properties are actually settable, or failure behaviors if the blueprint or component does not exist. The value-type hint is useful, but operational consequences are absent.

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 compact and well-organized: a one-sentence purpose, a concise args list, a KB reference, and a single example. Every element earns its place; the KB reference is short and optional. It is not bloated and is front-loaded with the key action.

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, no annotations, output schema exists but its contents are unseen), the description provides essential input details and an example sufficient for a basic call. However, it omits error handling specifics, whether the change persists to disk, or if a compile/save is required. It also doesn't clarify whether 'any property' actually includes all properties or only those marked BlueprintReadWrite. Thus, while adequate for straightforward usage, it leaves gaps for edge cases.

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% (all parameters are just typed as string), so the description must add meaning. It does: each parameter is briefly defined, including an example of C++ property names and valid property_value types (bool, int, float, string, [x,y,z] array). The example usage with actual path and values reinforces semantics. Some ambiguity remains (e.g., blueprint_name format, how bool is represented), but the description meaningfully compensates for the minimal 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?

The description opens with 'Set any property on a Blueprint component,' which names a specific verb (set), a specific resource (Blueprint component), and the general scope (any property). The parameter list and example further clarify the resource type (component) and distinguish it from sibling tools like set_actor_property or set_blueprint_property. This is precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: when you need to set a property on a Blueprint component, use this tool. It does not explicitly mention alternatives or state when not to use it, nor does it reference sibling tools like set_actor_property. The context is clear enough but the guidance is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_game_mode_for_levelA

Set the GameMode override for the current level (World Settings).

Args: game_mode_name: GameMode Blueprint name

KB: see knowledge_base/03_GAMEPLAY_FRAMEWORK.md#overview Example: set_game_mode_for_level(game_mode_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
game_mode_nameYes

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?

With no annotations, the description must disclose behavior itself. It only states the action and does not mention whether the existing override is overwritten, whether the change persists, whether the GameMode must be loaded, or what happens on invalid input. As a mutation tool this leaves the agent unaware of 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?

The description is compact and front-loaded with purpose, followed by a parameter note, a KB pointer, and a relevant example. Every line contributes useful information without 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?

For a single-parameter setter the description is mostly sufficient, and an output schema exists so return values are covered. However, it lacks behavioral context about overriding the existing setting and does not state any constraints on the GameMode name, leaving minor but 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?

The input schema provides only an unadorned string parameter with 0% description coverage. The description compensates by explicitly labeling game_mode_name as a GameMode Blueprint name and giving a concrete example call, which adds semantic clarity 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?

The opening sentence 'Set the GameMode override for the current level (World Settings)' states a specific verb, resource, and scope. This clearly distinguishes it from sibling tools like create_game_mode (which creates a GameMode asset) and add_get_game_mode_node (which adds a blueprint 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?

No guidance is provided about when to use this tool versus creating a GameMode blueprint or setting a level property through other means. The description does not mention prerequisites such as the GameMode blueprint already existing, nor does it name alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_ik_rig_retarget_rootA

Set the retarget root bone on an IK Rig.

The retarget root is typically the pelvis/hips bone. It is used by the IK Retargeter to align the global position of source and target characters.

Args: ik_rig_name: Asset name (e.g. "IKR_MyCharacter") ik_rig_path: Content folder (e.g. "/Game/Animation/IKRigs") root_bone: Bone name to use as retarget root (e.g. "pelvis")

Returns: dict with keys: success, message

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: set_ik_rig_retarget_root(ik_rig_name="ExampleName", ik_rig_path="/Game/MCP_Test/Example", root_bone="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
root_boneYes
ik_rig_nameYes
ik_rig_pathYes

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?

There are no annotations, so the description carries the full behavioral disclosure burden. It reveals the return type and provides an example, but it does not mention side effects, prerequisites, failure modes, or whether the operation overwrites an existing retarget root. For a mutation tool, 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?

The description is well structured with Purpose, Args, Returns, KB, and Example sections. Every section is functional and there is no filler, though the formatting is slightly longer than strictly necessary.

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 three-parameter setter, the description covers all parameters, gives concrete examples, states the return shape, and points to the knowledge base. It is missing explicit preconditions and error behavior, but overall an agent can invoke the tool with reasonable confidence.

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%, but the description fully compensates by documenting each parameter with both a human explanation and an example: ik_rig_name, ik_rig_path, and root_bone. This is exactly the semantic detail an agent needs that the bare schema lacks.

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 opens with a specific verb-resource pair: 'Set the retarget root bone on an IK Rig.' It also explains the purpose of the retarget root, distinguishing this tool from related IK Rig creation and retargeting tools by focusing specifically on the root-bone assignment.

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 gives helpful context ('typically the pelvis/hips bone', 'used by the IK Retargeter to align the global position'), which implies when the tool is relevant. However, it does not explicitly state when to choose this tool over or against alternatives such as add_ik_rig_retarget_chain or create_ik_retargeter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_material_on_actorA

Set a Material on a static mesh actor in the level.

This corresponds to the "Set Material" node used in Ch. 5 of the book, where the CylinderTarget changes its Material when hit.

Args: actor_name: Name of the actor in the level (e.g., "CylinderTarget") material_path: Asset path to the Material (e.g., "/Game/Materials/M_TargetRed") element_index: Material slot index (0 = first material slot)

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: set_material_on_actor(actor_name="ExampleName", material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
actor_nameYes
element_indexNo
material_pathYes

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 makes clear this mutates an actor's material and connects it to the UE 'Set Material' node, but it does not disclose persistence, side effects, failure behavior, or prerequisites such as the material asset needing to 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?

The description is well-structured: a one-line purpose, a short context note, a compact Args block, a KB pointer, and an example. Each section adds useful information without unnecessary 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 three-parameter mutation with an output schema and an example, the inputs are fully specified and the operation is scoped to static mesh actors. It omits side-effect and failure-mode details, but the narrow scope and KB reference make it sufficiently complete for an agent to invoke.

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%, but the Args block fully compensates by explaining all three parameters with concrete examples, including the actor name format, asset path format, and the meaning of element_index with its default.

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 opening sentence, 'Set a Material on a static mesh actor in the level,' names a specific verb, resource, and target type. It clearly distinguishes this operation from the many blueprint-node, import, and property 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a concrete scenario (the Chapter 5 CylinderTarget changing Material when hit) and a book reference, which implies when to use it. However, it does not explicitly state when not to use it or compare it with alternatives like set_static_mesh_properties or add_set_material_node.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_node_pin_valueA

Set a literal default value on an unconnected pin.

This is equivalent to typing a value into an exposed pin field in the Blueprint editor. The pin must NOT be connected to another node.

Examples: Boolean : value="true" or "false" Float : value="1.5" Integer : value="42" String : value="Hello" Vector : value="(X=100.0,Y=0.0,Z=0.0)" Rotator : value="(Pitch=0.0,Yaw=90.0,Roll=0.0)"

Args: blueprint_name: Asset name. node_id: Node GUID or short object name. pin_name: Pin name to set. value: New literal value as a string. graph_name: Graph to operate on. Default 'EventGraph'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_node_pin_value(blueprint_name="/Game/MCP_Test/BP_Example", node_id="Example", pin_name="Exec", value=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
node_idYes
pin_nameYes
graph_nameNoEventGraph
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral burden and does a good job: it discloses the mutation, the unconnected-pin precondition, the string-format requirement for value, and concrete literal syntaxes for Boolean, Float, Integer, String, Vector, and Rotator. It could still say what happens if the precondition is violated or whether an existing default is silently overwritten.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: purpose, analogy, value syntax examples, args, optional KB reference, and a call example. It is compact and front-loaded. The minor type inconsistency in the example and the somewhat optional KB pointer prevent a perfect score.

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 5-parameter tool with no schema descriptions, this definition covers requirements, defaults, parameter meaning, type formats, and constraints. Since an output schema exists, not describing return values is acceptable. The main gaps are the behavior when the pin is connected and the inconsistent example value type.

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 Args block is the main semantic source. It usefully explains node_id as 'Node GUID or short object name', value as a string with per-type examples, and graph_name's default. The example's numeric value=0.0 slightly conflicts with the instruction that value is a string, which keeps this from a top score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation: set a literal default value on an unconnected pin. It adds meaningful precision by contrasting with connected pins and comparing it to typing into an exposed pin field in the Blueprint editor. However, it does not explicitly differentiate itself from the very similar sibling tool bp_set_pin_default.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: this is for unconnected pins and represents typing a value directly into the exposed pin field. It states the critical precondition that the pin must NOT be connected, which is an implicit when-not-to-use signal. It does not name alternatives or state what to do when the pin is already connected.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_pawn_propertiesA

Set common Pawn/Character class defaults on a Blueprint.

Use this after confirming the Blueprint is a Pawn or Character subclass. Compile and read back class defaults before building AI or possession workflows on top of the changed defaults.

Args: blueprint_name: Pawn/Character Blueprint asset name or path. auto_possess_player: Optional AutoPossessPlayer enum value/name. auto_possess_ai: Optional AutoPossessAI enum value/name. use_controller_rotation_yaw: Optional bUseControllerRotationYaw. use_controller_rotation_pitch: Optional bUseControllerRotationPitch. use_controller_rotation_roll: Optional bUseControllerRotationRoll. can_be_damaged: Optional bCanBeDamaged default.

Returns: Dict with per-property native mutation results.

KB: see knowledge_base/04_AI_SYSTEMS.md#pawn-and-controller-setup Example: set_pawn_properties(blueprint_name="/Game/BP_Enemy", auto_possess_ai="PlacedInWorldOrSpawned")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
can_be_damagedNo
auto_possess_aiNo
auto_possess_playerNo
use_controller_rotation_yawNo
use_controller_rotation_rollNo
use_controller_rotation_pitchNo

TDQS

A4.2/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 behavioral disclosure burden. It does state that this is a mutation operation and that returns are 'per-property native mutation results.' However, it does not disclose whether the tool itself saves or compiles the Blueprint, what happens if the asset is not a Pawn/Character subclass, or other side effects beyond changing defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, structured, and front-loaded with the essential purpose. The Args block, return note, KB reference, and example each add value without filler. Every sentence 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?

Given 7 parameters, no annotations, no output schema, and zero schema coverage, the description covers the essentials: what the tool does, when to use it, how each parameter maps, what it returns, and an example. Missing details are the full enum value lists and explicit failure/side-effect behavior, but the overall package is strong.

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 well: each parameter is explained with its UE property name or enum meaning, and the example shows a concrete value for auto_possess_ai. It stops short of enumerating the allowed enum values, which would make it even stronger.

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 opens with a specific verb and resource: 'Set common Pawn/Character class defaults on a Blueprint.' It clearly scopes the operation to Pawn/Character subclass defaults, which distinguishes it from generic setters like set_blueprint_property, set_actor_property, set_static_mesh_properties, and set_skeletal_mesh_properties 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit sequencing guidance: confirm the Blueprint is a Pawn or Character subclass before use, and compile and read back class defaults before building AI or possession workflows. It does not explicitly name alternative tools or state when not to use it, but the precondition creates a clear boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_physics_propertiesB

Configure physics simulation on a primitive component.

Args: blueprint_name: Blueprint name component_name: Component name (must be a PrimitiveComponent) simulate_physics: Enable physics simulation gravity_enabled: Enable gravity mass: Mass in kg linear_damping: Linear damping coefficient angular_damping: Angular damping coefficient

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_physics_properties(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
massNo
blueprint_nameYes
component_nameYes
linear_dampingNo
angular_dampingNo
gravity_enabledNo
simulate_physicsNo

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 provided, the description carries the full burden of behavioral disclosure, yet it only says 'Configure physics simulation' and lists parameters. It does not state whether this is a persistent blueprint mutation, whether recompilation is required, how unspecified properties are affected, or what failure cases exist (e.g., non-primitive component).

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 compact and front-loaded with the purpose sentence, followed by a scannable parameter list, a KB pointer, and a minimal invocation example. The parameter list is slightly redundant with the schema but adds enough semantic value to justify its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters and gives an example, and an output schema exists so return values need not be spelled out. It remains incomplete about the operational side effects and selection criteria, which an agent would need when deciding among the many sibling setters.

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 zero parameter descriptions, and the description compensates by enumerating every parameter with a meaning, units for mass ('kg'), and a type constraint for component_name. Some entries such as 'Blueprint name' merely restate the schema title, but overall the semantic load is carried adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence 'Configure physics simulation on a primitive component' states a clear verb and resource, and the parameter list shows exactly which physics properties are affected. It does not explicitly contrast itself with siblings like set_component_property or set_static_mesh_properties, but the physics scope is distinctive enough for selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for physics configuration and enforces one key prerequisite: 'component_name (must be a PrimitiveComponent)'. However, it gives no decision rule for when to prefer this tool over the many generic setter siblings in the same toolset, nor any when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_sequencer_trackA

Add or update a track on a Level Sequence (Sequencer) asset.

Use this to animate actors in a cutscene/cinematic: set transform keys, visibility, material parameter, or audio tracks for a specific actor.

Args: sequence_path: Asset path to the LS_ asset (e.g., "/Game/Cinematics/LS_Intro") actor_name: Name of the actor to track track_type: Track type string, e.g.: "Transform", "Visibility", "MaterialParameter", "Audio" keyframes: Optional list of keyframe dicts, e.g.: [{"time": 0.0, "value": [0,0,0]}, {"time": 1.0, "value": [0,0,100]}]

Returns: Dict with success flag and track info

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: set_sequencer_track(sequence_path="/Game/MCP_Test/Example", actor_name="ExampleName", track_type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
keyframesNo
actor_nameYes
track_typeYes
sequence_pathYes

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?

With no annotations, the description carries the full burden of behavioral disclosure. It does state that this 'adds or updates' a track, implying mutation, and mentions the return value ('Dict with success flag and track info'). However, it does not explain side effects (e.g., whether existing keyframes are overwritten), prerequisites (asset must exist, actor must be bound), or reversibility. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (args, returns, KB, example). It is longer than minimal but every sentence contributes: purpose, usage, parameters, return, and a KB reference. No fluff, though the example could be shortened without losing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 params, output schema available), the description covers the essential context: what it does, when to use it, how to call it with parameters, what it returns, and a knowledge base pointer. It does not detail failure modes or asset-specific requirements, but those are likely expected of a sequencer 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 explains all four parameters with concrete examples: sequence_path shows a typical asset path, track_type lists valid examples, and keyframes shows a sample dict structure. This goes well beyond the bare schema, but it does not specify value/format requirements per track type (e.g., Transform uses vector, Visibility uses bool), so it is not a 5.

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 opens with a specific verb-resource pair: 'Add or update a track on a Level Sequence (Sequencer) asset.' It immediately distinguishes itself from generic actor manipulation tools (e.g., set_actor_transform) by stating its purpose for cutscene/cinematic animation, and enumerates track types that clarify scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear context: 'Use this to animate actors in a cutscene/cinematic.' It states the intended use case and gives track type examplesunctive. It does not, however, explicitly name alternatives or conditions where another tool should be used, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_skeletal_mesh_propertiesA

Assign a SkeletalMesh asset and/or materials to a SkeletalMeshComponent in a Blueprint.

Use this for character armor pieces, clothing, accessories — any SkeletalMeshComponent that needs a mesh assigned and materials applied (textures).

Args: blueprint_name: Blueprint containing the SkeletalMeshComponent component_name: SCS variable name of the SkeletalMeshComponent skeletal_mesh: Content path to USkeletalMesh asset (e.g. "/Game/Characters/Armor/SK_ChestPlate") material: Shorthand — assign a single material to slot 0 (e.g. "/Game/Materials/M_ArmorBlue") materials: Per-slot list: [{"slot": 0, "material": "/Game/M_Foo"}, {"slot": 1, "material": "/Game/M_Bar"}] Use this when the mesh has multiple material slots.

Returns: Dict with 'success', 'component'

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_skeletal_mesh_properties(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
materialNo
materialsNo
skeletal_meshNo
blueprint_nameYes
component_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses the mutation behavior, the material slot semantics ('single material to slot 0' vs. per-slot list), and the return shape. It leaves compile/save/reversibility unstated, but the core behavioral effect is clearly conveyed.

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 well structured and front-loaded: purpose, use case, parameter explanations, return value, knowledge-base pointer, and example. Every section adds operational value and none is redundant with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no annotations, all parameters are documented with examples, the output is stated, and a usage example is provided. An agent has enough information to select and invoke the tool correctly without additional lookup.

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%, but the manual Args section fully compensates. It explains each parameter, gives content-path examples, distinguishes the shorthand material parameter from the per-slot materials list, and provides concrete list format examples. This adds substantial meaning beyond 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?

The first sentence states a concrete action — 'Assign ... to a SkeletalMeshComponent in a Blueprint' — and names the exact resource and asset type. This clearly distinguishes it from sibling tools like set_static_mesh_properties or set_material_on_actor without needing additional context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit intended use case: 'character armor pieces, clothing, accessories — any SkeletalMeshComponent that needs a mesh assigned and materials applied.' It does not explicitly say when not to use it or name an alternative tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_spawn_actor_classA

Set the Class pin on an existing SpawnActorFromClass node.

Class pins use object defaults in UE 5.6, so use this helper after add_blueprint_spawn_actor_node instead of set_node_pin_value.

Args: blueprint_name: Asset name of the Blueprint. node_id: SpawnActor node GUID or node name. actor_class: Actor class name to assign, e.g. "BP_Projectile_C". graph_name: Graph containing the node. Default "EventGraph".

Returns: Dict with node_id and actor_class.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#spawnactor-class-pins Example: set_spawn_actor_class( blueprint_name="/Game/MCP_Test/BP_Example", node_id="9C2E...", actor_class="BP_Projectile_C", )

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
graph_nameNoEventGraph
actor_classYes
blueprint_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 the full disclosure burden. It does explain the UE 5.6 object-defaults quirk and declares the return dict, which is genuinely useful. However, it does not state side effects (e.g., whether the containing Blueprint is recompiled, whether prior pin values are overwritten, or how failures like a missing node are surfaced). For a mutating tool with zero annotation coverage, this is a moderate gap, though the core behavior 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 efficient: a one-sentence purpose, a brief why-this-helper rationale, a compact Args/Returns block, a KB pointer, and a complete example. Nothing is redundant — the UE 5.6 note and the KB link earn their place as actionable guidance, and the overall length is appropriate for a tool with four parameters.

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?

With an output schema present, the return-value type is already machine-readable. The description covers the remaining essentials: purpose, the exact node type, the reason to prefer it over an alternative, all parameter meanings, a default, and a runnable example. There is no obvious missing information an agent would need to call it correctly.

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%, but the description's Args section documents every parameter: blueprint_name as "Asset name", node_id as "SpawnActor node GUID or node name", actor_class with an example value ("BP_Projectile_C"), and graph_name with its default ("EventGraph"). The example call even shows an asset path format ("/Game/MCP_Test/BP_Example"), so the description fully compensates for the empty 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?

The description opens with a direct, specific statement — "Set the Class pin on an existing SpawnActorFromClass node." — which names both the action (set pin) and the exact node type. It further disambiguates from nearby siblings by explicitly referencing add_blueprint_spawn_actor_node and set_node_pin_value, so an agent can tell this tool apart 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: "use this helper after add_blueprint_spawn_actor_node instead of set_node_pin_value." This names the recommended preceding step and the alternative tool to avoid, which is exactly the kind of routing an agent needs to make the right choice among ~100 blueprint-node sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_static_mesh_propertiesB

Assign a static mesh (and optionally a material) to a StaticMeshComponent.

Args: blueprint_name: Blueprint name component_name: StaticMeshComponent name static_mesh: Asset path (e.g., "/Engine/BasicShapes/Sphere.Sphere") material: Optional material asset path

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: set_static_mesh_properties(blueprint_name="/Game/MCP_Test/BP_Example", component_name="ExampleComponent")

ParametersJSON Schema
NameRequiredDescriptionDefault
materialNo
static_meshNo/Engine/BasicShapes/Cube.Cube
blueprint_nameYes
component_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 carries the full burden of behavioral disclosure. It states the assignment effect and material optionality, but does not disclose whether existing mesh/material assignments are overwritten, whether the blueprint or component must already exist, whether compilation/saving is required, or what happens on invalid asset paths. For a mutation 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?

The description is compact and front-loaded with the purpose, followed by Args, a KB pointer, and an example. The KB reference and example are useful, though the Args block partially duplicates schema titles. Overall, every section earns its place without excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 4-parameter mutation tool, the description provides a clear call pattern, parameter explanations, and an example, and an output schema exists. However, with no annotations and no usage or behavioral context, an agent is left to infer prerequisites, side effects, and what happens after the assignment.

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 Args block in the description is the main source of parameter meaning. It adds an asset-path format example for static_mesh and marks material as optional, but blueprint_name and component_name are only restated with their names. It also does not mention that static_mesh defaults to Cube when omitted.

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 opens with a specific action: 'Assign a static mesh (and optionally a material) to a StaticMeshComponent.' It names both the verb and the target component type, clearly distinguishing it from sibling tools like set_skeletal_mesh_properties and set_component_property.

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 about when to use this tool versus alternatives, and no when-not-to-use or fallback tool is mentioned. The static-mesh-specific wording implies the context, but the description does not state which sibling tools cover skeletal meshes, materials on actors, or general component properties.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_text_block_bindingC

Set up a dynamic property binding on a Text Block widget.

Args: widget_name: Widget Blueprint name text_block_name: Text Block component name binding_property: Blueprint variable to bind to binding_type: "Text", "Visibility", "ColorAndOpacity"

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: set_text_block_binding(widget_name="/Game/MCP_Test/WBP_Example", text_block_name="ExampleName", binding_property="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_nameYes
binding_typeNoText
text_block_nameYes
binding_propertyYes

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 states the operation is 'Set up a dynamic property binding' but does not disclose side effects, whether it modifies the widget blueprint persistently, whether it requires compilation, or what happens if the binding property doesn't exist. The KB reference is a pointer but not actual behavioral disclosure.

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 compact and front-loaded with the main purpose. The Args list and example are useful and not redundant. The KB reference adds a small amount of noise but is a single line. Overall, it earns its place without excessive length.

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 4 parameters, 0% schema coverage, no annotations, and an output schema exists but is not shown. The description provides an example and KB pointer but lacks critical context: what binding_type values mean, whether the widget must already exist, and what the output/return value is. For a mutation-like tool, this is insufficient for an agent to call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists the four parameters with brief labels (e.g., 'Widget Blueprint name', 'Text Block component name', 'Blueprint variable to bind to') but does not explain the binding_type enum values or the relationship between binding_property and the widget's text block. The example clarifies some usage but leaves binding_type semantics vague.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Set up a dynamic property binding on a Text Block widget.' It identifies the resource (Text Block widget) and the operation (binding a property). It is distinguishable from siblings like add_text_block_to_widget and umg_add_widget_binding, though it doesn't explicitly name a sibling alternative.

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 context through the example and the KB reference, but it does not explicitly state when to use this tool versus alternatives like umg_add_widget_binding or bind_widget_event. The example shows a concrete invocation, which helps, but there is no explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_full_retargeting_pipelineA

One-shot pipeline: create IK Rigs for source + target, create IK Retargeter, and optionally batch-retarget a list of animations.

This matches Method 2 (Manual IK Retargeting) described in the UE5 docs:

  1. Create IK Rig for source skeleton (auto-generate chains)

  2. Create IK Rig for target skeleton (auto-generate chains)

  3. Create IK Retargeter (source → target, auto-map chains + auto-align)

  4. Export retargeted animations

If all your characters share an identical skeleton (same bone names and hierarchy) you can skip this and use the quick-retarget workflow in the editor; but this pipeline handles mis-matched bone structures.

Args: source_skeletal_mesh: Content path to source Skeletal Mesh (e.g. "/Game/Characters/Mannequin/SK_Mannequin") target_skeletal_mesh: Content path to target Skeletal Mesh (e.g. "/Game/Dantooine/Art/Characters/Player/SK_Player") source_ik_rig_name: Name for source IK Rig asset (e.g. "IKR_Mannequin") target_ik_rig_name: Name for target IK Rig asset (e.g. "IKR_Player") retargeter_name: Name for IK Retargeter asset (e.g. "RTG_Mannequin_To_Player") ik_rig_path: Folder for IK Rig assets retargeter_path: Folder for IK Retargeter asset animations_to_retarget: Optional list of animation content paths to retarget immediately after setup output_animation_path: Output folder for retargeted animations

Returns: dict with keys: success, steps (dict of per-step results), message

KB: see knowledge_base/05_ANIMATION_SYSTEM.md#overview Example: setup_full_retargeting_pipeline(source_skeletal_mesh="Example", target_skeletal_mesh="Example", source_ik_rig_name="ExampleName", target_ik_rig_name="ExampleName", retargeter_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
ik_rig_pathNo/Game/Animation/IKRigs
retargeter_nameYes
retargeter_pathNo/Game/Animation/Retargeters
source_ik_rig_nameYes
target_ik_rig_nameYes
source_skeletal_meshYes
target_skeletal_meshYes
output_animation_pathNo/Game/Animation/Retargeted
animations_to_retargetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the transparency burden. It clearly states asset creation, auto-generation of chains, auto-mapping, auto-aligning, optional batch retargeting, and the return dict structure with per-step results. It does not disclose overwrite/idempotency behavior when assets already exist, which is a minor 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 longer than typical but well-structured: front-loaded purpose, numbered pipeline steps, explicit when-to-use, Arg list, Returns, KB link, and example. Some redundancy exists between the intro and the numbered UE5 docs summary, but no filler and 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?

For a complex 9-parameter, no-annotation tool, the description covers purpose, process, parameters, return values, KB reference, and an example. It could be more explicit about interactions between animations_to_retarget and output_animation_path, and what happens if the optional list is omitted, but overall it is adequate.

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 fully compensates by explaining all 9 parameters with content path semantics, naming conventions, examples, optionality, and output folder meaning. The example paths and asset name patterns give an agent enough to construct valid calls.

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 opens with a specific verb and resource: a one-shot pipeline that creates IK Rigs, an IK Retargeter, and optionally batch-retargets animations. It distinguishes itself from related tools like create_ik_rig, create_ik_retargeter, and batch_retarget_animations by framing itself as the full pipeline covering source, target, retargeter, and export.

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 explicitly says when NOT to use it: if skeletons are identical, skip and use the quick-retarget workflow, while this pipeline handles mismatched bone structures. It also references UE5 Method 2, giving clear contextual grounding for when this approach is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_full_save_load_systemA

Set up the complete save/load system as described in Ch. 11.

Creates:

  1. BP_SaveInfo SaveGame Blueprint with Round variable

  2. Variables in character BP: CurrentRound, SaveInfoRef, SaveSlotName

  3. SaveRound macro (check validity, create if new, set round, save to slot)

  4. LoadRound macro (check if exists, load, cast, store reference)

This mirrors the complete round-persistence system from the book.

Args: character_blueprint: Player character Blueprint name save_blueprint_name: SaveGame Blueprint to create save_variables: Variables for the save game (default: [{Round: Integer}]) slot_name: Save file slot name string

KB: see knowledge_base/17_GAME_SYSTEMS_COOKBOOK.md#overview Example: setup_full_save_load_system()

ParametersJSON Schema
NameRequiredDescriptionDefault
slot_nameNoSaveGameFile
save_variablesNo
character_blueprintNoBP_FirstPersonCharacter
save_blueprint_nameNoBP_SaveInfo

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 disclosure burden, and it does well by listing the exact side effects: creating BP_SaveInfo, adding three character BP variables, and building SaveRound/LoadRound macros with described internal behaviors. It does not mention whether existing assets get overwritten or whether the character Blueprint must already exist, but the artifact list is specific enough to make the main behavior visible.

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 well-structured: a one-sentence purpose, a numbered list of created components, labeled args, a KB pointer, and an example. Every section earns its place, and the most important behavioral details are front-loaded before the parameter documentation.

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 description covers the tool's output artifacts, parameter meanings, defaults, a KB reference, and a no-arg example, which is sufficient for a high-level setup tool. It could be more complete by stating prerequisites (e.g., the character Blueprint must already exist) and whether the operation overwrites existing save-system assets, but the provided information is largely 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 description coverage is 0%, so the description must compensate, and it does: all four parameters get a one-line meaning, including defaults for character_blueprint, save_blueprint_name, save_variables, and slot_name. The main gap is that the exact structure of save_variables is only shown via a default example [{Round: Integer}], leaving some ambiguity about how callers should express custom variable definitions.

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 action ('Set up the complete save/load system') and enumerates the concrete artifacts it creates: a SaveGame Blueprint, character BP variables, and save/load macros. This clearly distinguishes it from granular sibling tools like add_save_game_to_slot_node or create_savegame_blueprint by emphasizing the complete, multi-part setup.

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 use when the full round-persistence system from Ch. 11 is needed, and the 'complete' phrasing suggests it replaces manual assembly of individual save/load nodes. However, it does not explicitly state when to prefer this over the many granular sibling tools, nor does it mention exclusions such as 'use create_savegame_blueprint if you only need the SaveGame asset.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_hit_material_swapA

Set up a full hit-detection + material swap interaction as in Ch. 5.

Creates the complete "cylinder target" interaction:

  1. Event Hit -> track hit count

  2. First hit: swap to hit material

  3. Second+ hit: spawn explosion effect + sound + destroy actor

Args: blueprint_name: Blueprint to modify (e.g., "BP_CylinderTarget") mesh_component: Static mesh component name default_material_path: Original material path hit_material_path: Material to apply on first hit (e.g., M_TargetRed) hit_count_to_destroy: Number of hits before destruction (default 2)

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: setup_hit_material_swap(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameYes
mesh_componentNoStaticMeshComponent
hit_material_pathNo
hit_count_to_destroyNo
default_material_pathNo

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 provided, the description must disclose behavioral traits itself. It does describe the runtime behavior it sets up (hit detection, material swap, explosion, sound, destroy). It also mentions that it modifies a blueprint via the argument 'blueprint_name: Blueprint to modify'. However, it does not disclose side effects such as whether it overwrites existing event logic, requires pre-existing components, or persists changes. The description is informative but incomplete regarding the tool's own mutation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it starts with the purpose, then a numbered list of the interaction steps, followed by an Args list, a knowledge-base pointer, and an example. Each section earns its place and is front-loaded with the core idea. It is a bit lengthy but justified given the complexity of the 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?

The description covers the tool's purpose, steps, parameters, an example, and a knowledge-base reference. It provides enough to invoke the tool correctly for a standard scenario, including defaults. It does not discuss edge cases (e.g., what happens if hit_count_to_destroy is 1 or if material paths are left empty), and the reference to 'Ch. 5' may rely on external knowledge, but overall it is fairly complete for the given complexity.

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 effectively with an Args section that explains each parameter and provides an example value for blueprint_name, a default for hit_count_to_destroy, and examples for material paths. This adds meaning beyond the bare schema, though it could be slightly more detailed about path formats and defaults for empty strings, but it is largely sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Set up a full hit-detection + material swap interaction as in Ch. 5.' It names the specific resource (blueprint) and the action (setup), and enumerates the exact behavior in three numbered steps. This distinguishes it from sibling tools that handle individual steps (e.g., add_hit_event, set_material_on_actor) by describing a composite workflow.

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 gives a concrete scenario ('cylinder target interaction') and an example call, implying when it should be used. However, it does not explicitly state when to prefer this over manual composition of sibling tools (add_hit_event, set_material_on_actor, etc.), nor does it mention any prerequisites or exclusions. The guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setup_navmeshA

Spawn or resize a NavMeshBoundsVolume in the current editor level.

If a NavMeshBoundsVolume already exists it will be resized and repositioned instead of creating a duplicate. After placement the navigation system is optionally rebuilt so AI characters can immediately use the navmesh.

Args: extent: Half-extents [X, Y, Z] in cm (default [5000, 5000, 500]). The volume will cover a 2X by 2Y by 2*Z area. location: Centre location [X, Y, Z] in cm (default [0, 0, 0]). rebuild: Trigger a nav-system rebuild after placement (default True).

Returns: Dict with 'action' ('created' or 'resized_existing'), 'actor' (volume name), 'rebuilt', 'success'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: setup_navmesh()

ParametersJSON Schema
NameRequiredDescriptionDefault
extentNo
rebuildNo
locationNo

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 provided, the description carries the full burden, and it does well by disclosing key side effects: existing volumes are resized/repositioned instead of duplicated, and the nav system is optionally rebuilt. It also reveals the return values with action types. It stops short of a 5 because it does not mention potential costs of rebuilding, permission requirements, or behavior when multiple NavMeshBoundsVolumes exist.

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 well-structured and front-loaded: the core action and idempotency are stated first, followed by compact Args, Returns, KB reference, and example. Every section earns its place, and there is no redundant 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 three-parameter tool with no annotations, the description is highly complete: it explains behavior, parameters, defaults, return format, and gives an example. It loses one point because it does not address how it relates to closely related sibling tools or warn about any prerequisites for operating on the current editor level.

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?

Despite the input schema having 0% description coverage, the Args section fully documents every parameter: extent as half-extents in cm with a default and area formula, location as center in cm with a default, and rebuild as a boolean controlling nav-system rebuild. This is exactly the semantic context the schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Spawn or resize a NavMeshBoundsVolume in the current editor level.' It also clarifies idempotent behavior by noting that an existing volume will be resized and repositioned rather than duplicated. However, it does not explicitly differentiate itself from the similar sibling 'place_navmesh_bounds_volume'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for setting up AI navigation in the current level, especially with the statement that after placement the navigation system can be rebuilt so AI characters can immediately use the navmesh. It does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives such as 'place_navmesh_bounds_volume' or 'nav_create_link_proxy'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

shader_analyze_complexityA

Estimate Material shader complexity from graph structure and risk flags.

This is a fast technical-art audit, not a compiled instruction count. Pair it with renderer_capture_viewmode or shader_visualize_overdraw for scene-level visual validation.

Args: material_path: Material or Material Instance asset path to inspect include_recommendations: Include optimization suggestions

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: shader_analyze_complexity(material_path="/Game/MCP_Test/M_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
material_pathYes
include_recommendationsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description itself must carry the behavioral transparency burden. It does disclose that the result is an estimate based on graph structure and risk flags, and that it is not a compiled instruction count, which is useful. However, it does not mention whether the operation is read-only, whether any editor state changes occur, or what side effects or permissions are involved.

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 well structured and front-loaded with the core purpose, followed by scope and complementary tools, then parameters, knowledge-base pointer, and an example. Every section earns its place and there is no redundant 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?

For a two-parameter analysis tool, the description covers purpose, method, limitations, complementary tools, parameter semantics, a KB reference, and an example. An output schema is present, so detailed return-value documentation is not required here, and nothing critical for calling the tool correctly seems 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?

Schema description coverage is 0%, so the Args section in the description is important and does compensate. It defines material_path as 'Material or Material Instance asset path to inspect' and include_recommendations as 'Include optimization suggestions,' and provides a concrete example path. This adds usable meaning beyond the bare parameter names in 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?

The description uses a specific verb and resource: 'Estimate Material shader complexity from graph structure and risk flags.' It also distinguishes itself from a compiled instruction count and identifies complementary visualization tools, making its purpose and scope clear.

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 explicitly frames this as a 'fast technical-art audit' and says it is 'not a compiled instruction count.' It also names renderer_capture_viewmode and shader_visualize_overdraw as the tools to pair with for scene-level visual validation, giving the agent clear context for when to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

shader_visualize_overdrawB

Capture an overdraw-focused viewport visualization for material review.

Args: viewmode: shader_complexity_with_quad_overdraw or quad_overdraw filepath: Optional output .png path; defaults to Saved/MCP/Viewmodes restore_viewmode: Restore the previous viewport mode after capture

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: shader_visualize_overdraw()

ParametersJSON Schema
NameRequiredDescriptionDefault
filepathNo
viewmodeNoshader_complexity_with_quad_overdraw
restore_viewmodeNo

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 provided, the description discloses the main behaviors: it captures overdraw visualization, writes an optional .png, and can restore the previous viewport mode. However, it does not explicitly warn that leaving restore_viewmode at its default false may leave the viewport in the overdraw mode after capture, which is a meaningful side effect.

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, then cleanly organizes parameter meanings, a KB reference, and a working example. Every sentence contributes without redundancy or clutter.

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 tool that changes viewport state and writes a file, the description covers the arguments and defaults well and an output schema exists, so return shapes need not be described. The main gap is the missing usage context: when to choose this over sibling rendering/capture tools and the persistent viewport side effect when restore_viewmode is false.

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 parameter annotations carry the full burden. The description compensates well by explaining viewmode's two allowed values, filepath's optional .png output and default directory, and restore_viewmode's behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool captures an overdraw-focused viewport visualization for material review, naming the specific resource (overdraw viewmode) and the verb (capture. It does not explicitly contrast with sibling tools like renderer_capture_viewmode or shader_analyze_complexity, but the overdraw focus gives enough distinction for purpose clarity.

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, no prerequisites, and no exclusions. 'For material review' is a weak implied context, and the KB pointer is reference material rather than usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_audit_blueprint_healthA

Audit the health of a Blueprint and return a structured report.

Calls only existing atomic tools (bp_get_graph_summary, bp_get_graph_detail, project_get_references, bp_compile). Does not use exec_python directly.

The audit checks: • Compilation status (had_errors flag) • Variable inventory • Disconnected exec pins (execution chains broken) • Disconnected non-exec input pins without defaults • Unused variables (declared but not referenced in any graph) • Incoming reference count

Returns a 0–100 health_score: 100 — clean compile, no issues 70-99 — minor issues (unused vars, unconnected data pins) 40-69 — significant issues (disconnected exec chains) 0-39 — compile failure or severe disconnection

Args: blueprint_name: Asset name (e.g. 'BP_HealthSystem'). blueprint_path: Full package path. None = '/Game/Blueprints/'. compile_check: Whether to run bp_compile. Default True.

Returns: JSON StructuredResult with outputs: compiles_clean, variable_count, function_graph_count, node_count_total, disconnected_exec_pins, disconnected_input_pins, unused_variables, incoming_references, warnings, health_score

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: skill_audit_blueprint_health(blueprint_name="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
compile_checkNo
blueprint_nameYes
blueprint_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden and does so thoroughly. It explicitly names the four atomic tools it uses, states that it does not use exec_python directly, breaks down the six audit categories, and documents the health_score scoring bands. This goes well beyond typical descriptions and gives an agent an accurate model of the tool's 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 well-structured with labeled sections (audit checks, returns, args, KB, example) and no filler. It front-loads the purpose and method, then provides parameter details and an example, all in a scannable format.

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?

The description enumerates every output field of the StructuredResult, gives concrete health score thresholds, provides an example invocation, and links to a KB recipe. Even though no output schema is present, the agent gets enough information to use the tool correctly and interpret its results.

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 coverage is 0%, but the description compensates completely. blueprint_name gets an example, blueprint_path gets its None-default resolution rule, and compile_check gets its meaning and default. Every parameter is individually explained with practical context.

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 opens with 'Audit the health of a Blueprint and return a structured report,' a specific verb+resource pairing that clearly identifies the tool's function. It further distinguishes itself from sibling blueprint tools by enumerating the exact checks it performs and stating it composes existing atomic tools.

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?

There is no explicit guidance on when to use this tool versus alternatives like bp_validate_blueprint, bp_find_disconnected_pins, or bp_validate_graph. The purpose is clear and the KB reference points to a recipe, but the conditions that make this composite audit preferable to individual checks are left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_asset_lifecycle_manifestA

Compile a provider-neutral generated asset lifecycle manifest.

Converts planned generated asset prompts into provider task contracts, readiness/spend gates, placeholder replacement mapping, quality gates, and evidence requirements. This tool does not call Tripo, spend credits, or mutate Unreal.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d34-ide-companion-generated-asset-lifecycle-manifest Example: skill_compile_ide_companion_asset_lifecycle_manifest(session_plan=plan, placeholder_manifest=manifest)

ParametersJSON Schema
NameRequiredDescriptionDefault
session_planYes
manifest_nameNoasset_lifecycle
write_manifestNo
preferred_providerNotripo
placeholder_manifestNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully carries the behavioral disclosure burden. It explicitly states that the tool does not call Tripo, spend credits, or mutate Unreal, which signals safe, non-destructive behavior. It also describes the transformation it performs (planned prompts to manifest artifacts), giving the agent a clear model of the side effects—none beyond producing a manifest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and every sentence adds value: the purpose, the conversion details, the non-side-effect guarantee, a KB pointer, and a usage example. It is front-loaded with the main verb and object, and the example clarifies invocation without redundant 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?

The tool is complex with 5 parameters, but the description gives a high-level overview and a KB reference for deeper details. Since an output schema exists, return values are covered elsewhere, but the description does not sufficiently define the required input structures (e.g., what session_plan must contain) for an agent to invoke the tool correctly without external lookup. The KB link mitigates this but is not self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate, but it only implicitly covers session_plan ('planned generated asset prompts') and placeholder_manifest ('placeholder replacement mapping'), and only via the example. Three parameters (manifest_name, write_manifest, preferred_provider) are not described at all, leaving the agent to guess their meaning and valid 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 uses a specific verb ('compile') and resource ('provider-neutral generated asset lifecycle manifest'), and clearly enumerates what the output contains (task contracts, gates, mapping, evidence). It also distinguishes itself from generation/mutation tools by explicitly stating it does not call Tripo, spend credits, or mutate Unreal, which helps an agent separate this from gen_* and mutation siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool by describing it as a compilation step after planning, and the example shows a concrete invocation with session_plan and placeholder_manifest. However, it does not explicitly name alternative tools or state conditions for when not to use it (e.g., actual generation should use gen_tripo_*), so the guidance remains implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_blocker_resolutionA

Compile no-spend resolution choices for IDE companion blockers.

Converts readiness/status blockers into unblock actions, fallback paths, placeholder policy, bridge-offline policy, and next MCP actions. This tool does not call Tripo or mutate Unreal.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d18-ide-companion-blocker-resolution Example: skill_compile_ide_companion_blocker_resolution(session_plan=plan, companion_status=status)

ParametersJSON Schema
NameRequiredDescriptionDefault
dashboardNo
session_planNo
companion_statusNo
readiness_reportNo
preferred_strategyNocontinue_with_placeholders

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 burden. It explicitly states the tool does not call Tripo or mutate Unreal, and 'compile' implies a non-destructive planning operation. The description clarifies that it converts blockers into actions and policies, which is helpful. However, it does not mention whether it reads or writes any state, or if there are any side effects beyond compilation. The explicit negative statements add significant transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: a one-line purpose, a sentence on conversions, a boundary note, a KB reference, and an example. It is concise and front-loaded with the core purpose, though the KB reference and example add useful context 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?

The description covers the tool's purpose and boundaries, and an output schema exists to describe return values. However, the input parameter semantics are incomplete, and the tool's role within the larger IDE companion workflow is only implicit. The KB reference provides external context but is not a substitute for inline documentation of all parameters. For a tool with 5 optional parameters and zero schema descriptions, this is a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for all 5 parameters, so the description must compensate. It only mentions session_plan and companion_status in the example, leaving dashboard, readiness_report, and preferred_strategy unexplained. Without parameter-level meaning, an agent cannot reliably know what values to supply for the undocumented parameters, especially since all are optional and have defaults.

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-resource pair ('Compile no-spend resolution choices for IDE companion blockers') and lists concrete outputs (unblock actions, fallback paths, placeholder policy, bridge-offline policy, next MCP actions). It also differentiates from siblings by explicitly disclaiming Tripo calls and Unreal mutation, making its scope clear.

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 in the IDE companion blocker resolution context and provides an example call, but it does not explicitly state when to prefer this tool over sibling tools like skill_compile_ide_companion_status or skill_compile_ide_companion_placeholder_manifest. The negative constraints ('does not call Tripo or mutate Unreal') hint at boundaries but do not give direct alternative selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_dashboardB

Compile a display-ready dashboard packet for the IDE companion.

Reads the local ledger or a provided session plan and returns readiness, progress, next-work, generated-asset, mechanic, and evidence cards plus the current status/work-order payloads. This tool does not call Tripo or mutate Unreal.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d17-ide-companion-dashboard Example: skill_compile_ide_companion_dashboard(session_name="ide-companion")

ParametersJSON Schema
NameRequiredDescriptionDefault
ledger_pathNo
session_nameNoide-companion
session_planNo
current_blockersNo
readiness_reportNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.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 safety burden. It explicitly says it 'does not call Tripo or mutate Unreal' and characterizes the operation as reading the ledger and returning payloads, which signals a non-destructive read-oriented tool. It does not discuss prerequisites or file expectations, but the major side-effect warnings are present.

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, front-loaded, and includes a KB pointer and a call example with a named parameter. It earns its length, though the structure could have integrated parameter explanations for the two opaque inputs.

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 the return contract is covered. However, the definition remains incomplete for a 5-optional-parameter tool: it omits current_blockers/readiness_report semantics, does not state which sibling compilers it replaces or precedes, and leaves usage preconditions implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must explain parameters. It only maps 'local ledger' and 'provided session plan' to ledger_path/session_plan and demonstrates session_name by example; current_blockers and readiness_report are left completely unexplained, with no guidance on how the parameters interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific action ('Compile a display-ready dashboard packet') and a specific target ('for the IDE companion'), and the second sentence enumerates the returned card types. It is clear but does not explicitly contrast with sibling IDE-companion compile tools such as session, status, or work_order.

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 trigger: a caller needs a consolidated dashboard packet from a ledger or session plan. It never states when to prefer this tool over sibling compilers or when to pass current_blockers/readiness_report, so the guidance is contextual rather than prescriptive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_editor_queueA

Compile a bridge-gated editor action queue for an IDE companion session.

Turns a placeholder manifest or work order into durable editor actions that can be executed after the Unreal bridge is reachable. This tool writes only a local queue file; it does not call Tripo or mutate Unreal.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d20-ide-companion-editor-action-queue Example: skill_compile_ide_companion_editor_queue(session_plan=plan, companion_status=status, placeholder_manifest=manifest)

ParametersJSON Schema
NameRequiredDescriptionDefault
queue_nameNoeditor_queue
work_orderNo
session_planYes
companion_statusNo
placeholder_manifestNo

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 provided, the description carries the full behavioral burden. It candidly states the side effect scope: 'writes only a local queue file' and explicitly lists non-effects ('does not call Tripo or mutate Unreal'). It also notes the queue is deferred until the bridge is reachable. It does not discuss file overwrite behavior, path details, or failure modes, but the core side-effect boundary is unusually clear.

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 well structured: purpose, side-effect boundary, KB reference, and a usage example are each compact and relevant. There is no filler or repetition of the schema, and the most important behavioral constraint is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, the description provides enough orientation to select and invoke it: it names the source inputs, the deferred execution model, the local-file side effect, and includes a representative call. Some optional parameters remain under-specified, but the output schema exists and the KB pointer offers deeper reference, so the description is reasonably complete for a first 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, and it partially does: it explains that a 'placeholder manifest or work order' is the input source and gives a concrete example mapping session_plan, companion_status, and placeholder_manifest. However, session_plan and companion_status are never semantically defined, and queue_name and work_order receive no dedicated explanation beyond implication.

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 action ('Compile a bridge-gated editor action queue') and a clear resource ('for an IDE companion session'). It further clarifies what the tool does with 'Turns a placeholder manifest or work order into durable editor actions' and explicitly distinguishes itself from callers/mutators by saying it 'writes only a local queue file; it does not call Tripo or mutate Unreal.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it consumes a placeholder manifest or work order and produces actions that can run after the Unreal bridge is reachable. It implies when this tool is needed versus direct Unreal mutation or external generation, but it does not explicitly name alternative sibling tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_placeholder_manifestA

Compile a no-spend placeholder manifest for blocked generated assets.

Converts planned generated asset prompts into placeholder assets, replacement mapping, creation tool steps, and evidence requirements. This tool does not call Tripo or mutate Unreal.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d19-ide-companion-placeholder-manifest Example: skill_compile_ide_companion_placeholder_manifest(session_plan=plan)

ParametersJSON Schema
NameRequiredDescriptionDefault
session_planYes
placeholder_rootNo
blocker_resolutionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool is no-spend, does not call Tripo, and does not mutate Unreal, which clarifies its side-effect profile. It does not fully state whether it writes files or is purely computational, but the negative statements substantially demystify its 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 efficiently structured with five sentences: purpose, detailed outputs, exclusions, KB reference, and an example. Every sentence adds value, and the core purpose is front-loaded. No filler or 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 description gives a solid overview and the output schema exists, so return values are covered. However, it leaves the two optional parameters unexplained (schema lacks descriptions too), and while the KB reference is helpful, it does not compensate for the missing parameter semantics. An agent would likely understand the core function but would be uncertain about placeholder_root and blocker_resolution.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only demonstrates the required parameter via an example ('session_plan=plan'), giving a minimal hint about its type. The optional parameters 'placeholder_root' and 'blocker_resolution' are not mentioned anywhere in the description, leaving their semantics completely undocumented.

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 opens with a specific verb and resource: 'Compile a no-spend placeholder manifest for blocked generated assets.' It then details what the tool produces (placeholder assets, replacement mapping, creation tool steps, evidence requirements) and explicitly states what it does not do ('does not call Tripo or mutate Unreal'). This clearly differentiates it from generation and mutation 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?

The description provides a clear usage condition ('blocked generated assets') and an explicit non-goal ('does not call Tripo or mutate Unreal'), which tells the agent when not to use it. However, it does not name specific sibling tools as alternatives, so the 'vs alternatives' guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_sessionB

Compile a no-spend IDE companion session plan for a solo Unreal developer.

Returns a full orchestration plan covering readiness, generated assets, gameplay mechanic planning, editor implementation, runtime verification, fallback paths, gates, and next MCP tool calls.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d12-ide-companion-session-orchestrator Example: skill_compile_ide_companion_session(project_brief="third-person dungeon slice", mechanic_brief="patrol enemy that updates objective HUD")

ParametersJSON Schema
NameRequiredDescriptionDefault
content_pathNo/Game/Generated/PlayableSlice
session_nameNoide-companion
project_briefYes
mechanic_briefNo
include_generated_assetsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 it does useful work: 'no-spend' discloses that the operation does not consume generation credits, and 'Returns a full orchestration plan' indicates a non-executing, planning-only behavior. It could be even clearer about whether it modifies project state, but for a plan compiler the framing strongly implies no 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 tight, front-loaded with the core action, and every sentence adds value: the deliverable list, the KB pointer, and a concrete example. Nothing is wasted, and the structure makes the tool's purpose immediately readable.

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 complex orchestration tool, the description covers the output scope well and provides a KB reference and example. However, it lacks parameter-level guidance and does not position the tool among the sibling skill_compile_ide_companion_* tools, leaving context gaps around when and with what inputs it should be invoked.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only clarifies project_brief and mechanic_brief via the example. content_path, session_name, and include_generated_assets are left to their names and defaults, with no explanation of how they shape the generated plan. This is a clear gap for an agent choosing parameter values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Compile a no-spend IDE companion session plan for a solo Unreal developer.' It clearly states what the tool produces and enumerates the plan's coverage. However, it does not explicitly contrast itself with the many skill_compile_ide_companion_* sibling tools, so differentiation is implied rather than stated.

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 does not state when to use this tool versus alternatives such as skill_compile_ide_companion_status, skill_compile_ide_companion_work_order, or skill_compile_ide_companion_resume_session. It provides an example but no explicit context, prerequisites, or exclusion criteria, leaving the agent to infer when this is the appropriate tool among a large sibling family.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_statusA

Compile a no-spend progress receipt for an IDE companion session.

Accepts a session plan plus optional readiness report, completed phase names, evidence map, and manual blockers. Returns the current phase states, blocking gates, evidence gaps, readiness flags, and next safe MCP action.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d13-ide-companion-status-receipt Example: skill_compile_ide_companion_status(session_plan=plan, readiness_report=readiness, completed_phases=["orient_to_project"])

ParametersJSON Schema
NameRequiredDescriptionDefault
evidenceNo
session_planYes
completed_phasesNo
current_blockersNo
readiness_reportNo

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 provided, the description carries full burden and does a good job: 'no-spend' explicitly signals this operation does not consume budget/credits, and 'returns next safe MCP action' discloses it is an analysis/report tool rather than a mutating one. It communicates the key behavioral trait an agent needs (safe, non-consuming read). It doesn't mention auth or failure modes, but the core safety profile is conveyed.

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 front-loads the purpose in the first line, then delivers behavior, KB reference, and a worked example in a compact block. Every sentence earns its place; the example is genuinely illustrative. Minor redundancy exists between the prose param list and the example, but nothing is 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 5-param tool with zero schema coverage, the description covers both the inputs and the return values, and an output schema exists to formalize returns. The KB pointer and example round out the context. The only gap is the lack of an exact session_plan structure/format, but the example plus KB anchor make this adequate.

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. It enumerates the optional inputs in prose (readiness report, completed phase names, evidence map, manual blockers) mapping to the schema params (readiness_report, completed_phases, evidence, current_blockers), and confirms session_plan is required via the example. This gives meaning the bare schema lacks, though it uses slightly loose aliases rather than exact param names.

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+resource: 'Compile a no-spend progress receipt for an IDE companion session.' It clearly differentiates from siblings like skill_compile_ide_companion_dashboard and skill_compile_ide_companion_work_order by naming the exact output (phase states, blocking gates, evidence gaps, readiness flags, next safe MCP action). The purpose is unmistakable.

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 context — generating a status receipt during a session — with a KB reference and a concrete example. However, it never explicitly states when to prefer this over the many sibling session tools (work_order, blocker_resolution, asset_lifecycle_manifest) or when not to use it. The KB pointer substitutes for but does not provide direct when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_compile_ide_companion_work_orderC

Compile the next safe work order for an IDE companion session.

Accepts a session plan plus optional status/readiness context and emits the selected phase, prerequisites, blockers, tool steps, evidence to collect, acceptance criteria, stop conditions, and after-completion status refresh.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d14-ide-companion-work-order Example: skill_compile_ide_companion_work_order(session_plan=plan, companion_status=status)

ParametersJSON Schema
NameRequiredDescriptionDefault
session_planYes
target_phaseNo
companion_statusNo
readiness_reportNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 safety/behavioral burden. It does disclose that the tool 'emits' a structured work order, implying a non-mutating compile operation, and lists the output categories. However, it never explicitly states whether it is read-only, whether it modifies any session state, or what side effects (e.g., status refresh) it may cause.

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 compact and front-loaded with the core purpose and output list, followed by a useful KB reference and a concrete example. The only minor waste is the example's redundant restatement of the tool name, but it still adds call-shape value.

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 output schema exists and covers return shape, so the description need not explain return values. Yet the tool has 4 parameters with no schema descriptions and the prose leaves target_phase and readiness_report semantically undefined, and lacks usage/exclusion guidance relative to sibling compile tools. This is insufficient for a correct first call without external KB lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the prose must compensate, but it only loosely maps parameters: 'session plan' and 'optional status/readiness context' plus an example using session_plan and companion_status. The target_phase parameter is not mentioned at all, and no types or structures are given for session_plan, companion_status, or readiness_report.

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 action ('Compile the next safe work order for an IDE companion session') and enumerates the emitted artifacts (phase, prerequisites, blockers, tool steps, evidence, acceptance criteria, stop conditions, status refresh). This makes the tool's function clear even though it does not explicitly contrast with sibling skill_compile_ide_companion_* 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?

The description gives input context ('Accepts a session plan plus optional status/readiness context') but no explicit guidance on when to choose this tool over sibling tools such as skill_compile_ide_companion_dashboard, skill_compile_ide_companion_session, or skill_compile_ide_companion_status. There are no when-to-use/when-not-to-use statements or alternative names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_create_health_systemA

Create a complete HealthSystem Blueprint using atomic graph tools.

This skill composes multiple bp_* atomic tools to create a functional Blueprint with health management logic. It is the reference example for how Ghost composes atomic tools into higher-order workflows.

The Blueprint will contain:

  • Variables: Health (Float), MaxHealth (Float), bIsDead (Boolean)

  • Function: TakeDamage(DamageAmount: Float) — subtracts, clamps, sets bIsDead=true when Health ≤ 0, prints damage report

  • EventGraph: BeginPlay → PrintString "[HealthSystem] Initialized..."

All steps use atomic tools (bp_add_variable, bp_add_node, bp_connect_pins, bp_set_pin_default, bp_compile) wherever dedicated tools exist. Operations without dedicated tools (float arithmetic, function params) use exec_python and are listed in outputs.exec_python_steps.

If any step fails, the skill stops immediately and reports which step failed and the structured error from the atomic tool.

Args: blueprint_name: Name of the Blueprint asset. Default 'BP_HealthSystem' blueprint_path: Content Browser folder. Default '/Game/Blueprints' initial_health: Starting Health value. Default 100.0 initial_max_health: Starting MaxHealth value. Default 100.0

Returns: JSON StructuredResult with: outputs.blueprint_path — full content browser path outputs.variables_created — ['Health', 'MaxHealth', 'bIsDead'] outputs.functions_created — ['TakeDamage'] outputs.event_graph_nodes — node count placed in EventGraph outputs.connections_made — total connections made outputs.compile_result — 'clean' or 'errors' outputs.exec_python_steps — steps that used exec_python fallback outputs.steps_completed — ordered list of completed steps outputs.steps_failed — non-empty if any step failed

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: skill_create_health_system()

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_nameNoBP_HealthSystem
blueprint_pathNo/Game/Blueprints
initial_healthNo
initial_max_healthNo

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?

No annotations are provided, so the description carries full behavioral disclosure burden. It transparently states that it composes multiple atomic tools, uses exec_python fallback for certain operations, and stops on failure with structured error reporting. It also enumerates the exact contents of the generated Blueprint (variables, function, event graph). This goes beyond a simple 'creates' and provides operational transparency. However, it does not explicitly mention side effects like asset creation or project modifications, though these are implied by 'create a Blueprint.' Overall, it is well-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?

The description is long but well-structured: it opens with a clear one-sentence purpose, then provides bullet points for Blueprint contents, explains the atomic tool composition and error handling, lists arguments with defaults, and enumerates return fields. It is front-loaded with the primary purpose and uses formatting to aid scanning. While some redundancy exists (e.g., repeating defaults in both schema and description), the complexity of the skill justifies the length. It is concise relative to the information needed, so a 4 is fitting.

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?

The description is remarkably complete for a complex skill. It specifies the full expected output (variables, function, event graph), the exact return fields (outputs.blueprint_path, variables_created, etc.), references a knowledge base entry, and includes an example call. It also explains the fallback mechanism and error handling. Given that an output schema exists (mentioned as returns), the description does not need to detail return types further. Everything an agent needs to invoke this tool correctly is covered, including parameter semantics and operational behavior. A 5 is justified.

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 does: the Args section lists all four parameters (blueprint_name, blueprint_path, initial_health, initial_max_health) with their defaults and brief explanations (e.g., 'Name of the Blueprint asset. Default 'BP_HealthSystem''). This adds semantic meaning beyond the schema, which only has types and defaults. The description does not elaborate on value constraints or relationships between parameters, but it sufficiently clarifies each parameter's purpose, making a 4 reasonable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a complete HealthSystem Blueprint using atomic graph tools.' It specifies the verb (create), the resource (HealthSystem Blueprint), and the mechanism (atomic graph tools). It distinguishes itself from sibling low-level tools like bp_add_variable or skill_generate_playable_slice by being a higher-order composition skill, and explicitly mentions it is the reference example for composition. This makes its role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that it composes atomic tools and is the reference example for higher-order workflows. It also mentions it uses exec_python fallback for operations without dedicated tools, and describes error-handling behavior (stops on failure and reports). While it doesn't explicitly name alternative tools or state when not to use it, the context of being a specific skill for creating health systems is clear. The lack of explicit exclusions is a minor gap, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_generate_city_districtB

Plan a native-aligned city/district generation workflow.

Mode plan returns a no-mutation plan. Mode queue also returns a structured, not-yet-executed tool queue. The skill composes PCG, World Partition, Data Layer, HLOD, Blueprint blockout, screenshot, and optional Mass/SmartObject steps while calling out deeper native gaps.

KB: see knowledge_base/10_WORLD_BUILDING.md#4-procedural-content-generation-pcg Example: skill_generate_city_district(brief="walkable sci-fi downtown district", mode="plan")

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoplan
briefYes
styleNomodern
densityNomedium
use_pcgNo
block_sizeNo
size_blocksNo
content_pathNo/Game/Generated/CityDistrict
include_hlodNo
district_nameNoMCP_CityDistrict
include_mass_trafficNo
include_world_partitionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 burden. It explicitly states mode 'plan' is no-mutation and mode 'queue' is not-yet-executed, indicating no actual generation occurs. It also mentions calling out deeper native gaps, implying diagnostic output. This is strong disclosure for a planning 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 concise and well-structured, with purpose, modes, composition list, KB reference, and example. It's front-loaded with the main action and avoids fluff, though the example is somewhat redundant with the mode explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters, no schema coverage, and no annotations, the description is incomplete. It provides mode guidance and an example, but doesn't explain most parameters or the structure of the output. The KB reference offers deeper reading but doesn't substitute for inline parameter definitions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only mentions 'brief' and 'mode' in the example and text, but the other 10 parameters (style, density, use_pcg, block_size, size_blocks, content_path, include_hlod, district_name, include_mass_traffic, include_world_partition) are not described at all. This is a major gap for an agent to correctly configure the 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 clearly states it plans a native-aligned city/district generation workflow, with specific modes (plan/queue) and a concrete example. It distinguishes itself from other skill_ tools by focusing on city/district generation and composing multiple Unreal systems. However, it doesn't explicitly compare to sibling skills like skill_generate_playable_slice, so minor deduction.

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 explains the two modes (plan returns no-mutation plan, queue returns structured not-yet-executed queue) and provides an example invocation. But it doesn't specify when to choose this tool over alternatives or when not to use it, leaving usage context implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_generate_playable_sliceA

Plan, submit assets for, or assemble a generated playable slice.

Mode plan validates the schema and returns the end-to-end tool sequence without network calls. Mode submit_assets requires TRIPO_API_KEY and confirm_spend=True before submitting paid Tripo tasks. Mode assemble consumes completed task_ids or imported_asset_paths, then creates Blueprint/AI/HUD/level/evidence/report outputs.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d7-playable-slice-skill Example: skill_generate_playable_slice(brief="third-person dungeon demo with a slime and a boss", mode="plan")

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoplan
briefYes
task_idsNo
content_pathNo/Game/Generated/PlayableSlice
session_nameNoplayable-slice
confirm_spendNo
run_pie_secondsNo
imported_asset_pathsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral burden and does it well: it discloses that plan mode makes no network calls, that submit_assets launches paid external tasks only when confirm_spend=True, and that assemble creates Blueprint/AI/HUD/level/evidence/report outputs. It does not cover failure or rollback behavior, but the safety-relevant traits are present.

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 compact and front-loaded: a one-line purpose, a tightly structured mode breakdown, a KB pointer, and a useful example. It does not waste sentences restating schema fields, and the extra detail about payment gating 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?

For a multi-mode skill with an output schema and KB reference, the description covers orchestration, external payment side effects, and high-level outputs. It still leaves gaps around the unexplained session/content/run_pie parameters and how the evidence/report outputs feed into the broader workflow, so it is functional but not fully self-contained.

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 adds real meaning to mode, brief, task_ids, imported_asset_paths, and confirm_spend. However, content_path, session_name, and run_pie_seconds are left entirely to their names and defaults, leaving a noticeable coverage gap.

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 opening line names a concrete verb-resource pair ('Plan, submit assets for, or assemble a generated playable slice') and the mode breakdown makes the three distinct workflows explicit. This clearly separates it from generic blueprint, spawn, or asset tools among the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives mode-by-mode guidance: plan is validation-only with no network calls, submit_assets is gated by TRIPO_API_KEY and confirm_spend=True, and assemble consumes completed task_ids or imported_asset_paths. It does not explicitly mention alternatives or exclusion cases, but the mode routing is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_package_vertical_slice_reportA

Package journal evidence into a production-style vertical slice report.

This skill composes Phase 6 outputs into a readable Markdown artifact: execution journal entries, screenshots/logs/assets, verification results, and a short follow-up checklist. It does not mutate Unreal assets.

Args: title: Report title summary: Human-readable closeout summary journal_path: Optional path returned by execution_journal_start report_dir: Workspace-relative report output directory project_name: Optional Unreal project/map name artifacts: Optional asset, screenshot, log, or file paths verification: Optional final verification evidence include_journal_entries: Include recent journal entries in the report max_entries: Maximum journal entries to include

Returns: JSON StructuredResult with outputs.report_path and evidence counts.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: skill_package_vertical_slice_report()

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoVertical Slice Report
summaryNo
artifactsNo
report_dirNoknowledge_base/Reports
max_entriesNo
journal_pathNo
project_nameNo
verificationNo
include_journal_entriesNo

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 provided, the description carries the full burden of behavioral disclosure. It explicitly states 'does not mutate Unreal assets' and documents the return contract as 'JSON StructuredResult with outputs.report_path and evidence counts.' This gives the agent clear expectations for safety and output, though it does not describe side effects like file writes beyond the report_dir parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear summary sentence, a semantic breakdown of Args, Returns, KB link, and an example invocation. Each section serves a purpose; it is slightly longer than necessary but remains focused and scannable without 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?

Given the tool's complexity (9 optional parameters) and the presence of an output schema, the description covers the essential aspects: what it does, what it returns, what each parameter means, and a KB reference for deeper context. Missing details include potential error conditions, prerequisites (e.g., whether a journal must exist), and behavior when include_journal_entries is false, but these are minor relative to the rich provided information.

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?

The input schema has zero property descriptions (0% coverage), so the description's Args list provides the sole meaning for every parameter. It explains each parameter's role (e.g., journal_path as 'path returned by execution_journal_start', report_dir as 'Workspace-relative report output directory'), which is essential for correct invocation.

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 opens with a specific verb-object pairing: 'Package journal evidence into a production-style vertical slice report.' It then details exactly what it composes (execution journal entries, screenshots/logs/assets, verification results, follow-up checklist) and explicitly states it does not mutate Unreal assets, clearly distinguishing it from sibling mutation tools like set_actor_property or add_component_to_blueprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when this tool is appropriate ('Phase 6 outputs' closeout) and implies it is a packaging/reporting step. However, it does not explicitly name alternative reporting tools (e.g., insanitii_* reports) or state when not to use it, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_plan_gameplay_mechanicA

Plan an Unreal-ready gameplay mechanic implementation from a brief.

Returns a no-spend, no-editor-mutation plan covering generated asset prompts, Blueprint/component structure, AI/HUD/save/replication hooks, validation gates, and the ordered MCP tool sequence.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d11-gameplay-mechanic-planner Example: skill_plan_gameplay_mechanic(brief="player dash ability with cooldown and HUD feedback")

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYes
content_pathNo/Game/Generated/Mechanics
include_generated_assetsNo

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?

There are no annotations, so the description carries the full behavioral burden. It explicitly discloses two important traits: the tool does not spend credits and does not mutate the editor. It also enumerates the plan's contents, giving the agent a concrete expectation of what it will get back.

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 purpose, followed by a compact list of plan dimensions, a KB pointer, and a concrete example. It is moderately dense but every sentence adds value; the example is particularly useful for showing the expected invocation style.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the plan's scope, safety profile, and example invocation, which is good for a planning tool. However, it omits guidance on when to choose this tool over siblings and leaves two optional parameters semantically unexplained. Given no annotations and 0% schema description coverage, that gap makes it incomplete for fully confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only documents 'brief' indirectly through the example. The optional parameters content_path and include_generated_assets are never explained, leaving their meaning, defaults, and interaction with the generated plan undocumented.

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 opens with a specific verb and resource: 'Plan an Unreal-ready gameplay mechanic implementation from a brief.' It also distinguishes itself from the many mutation-style sibling tools by explicitly saying it returns a 'no-spend, no-editor-mutation plan,' so an agent can tell this is a planning step, not an implementation step.

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 use case is clear: call this when you need an implementation plan from a brief. However, the description never names alternatives or states when not to use it, such as versus skill_generate_playable_slice or direct blueprint mutation tools. The no-editor-mutation note implies pre-execution use, but routing guidance is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_record_ide_companion_evidenceA

Record phase evidence to the durable local IDE companion ledger.

Writes a JSON ledger under .mcp_artifacts/ide_companion_sessions, refreshes status from the recorded evidence, and returns the ledger path plus updated status. This tool does not call Tripo or mutate Unreal.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d15-ide-companion-evidence-ledger Example: skill_record_ide_companion_evidence(session_plan=plan, phase_name="orient_to_project", summary="Project context loaded")

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryNo
artifactsNo
phase_nameYes
work_orderNo
session_planYes
evidence_typeNonote
companion_statusNo
current_blockersNo
readiness_reportNo

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. It discloses that it writes a JSON ledger, refreshes status, and returns path plus status, and explicitly negates two side effects (Tripo calls, Unreal mutation). This gives an agent a good sense of what the tool will and won't do. However, it does not mention failure modes, overwrite behavior, or required permissions, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, leading with the core action, then a one-line behavioral note, then a KB reference and example. It avoids fluff and front-loads the essential information. The only minor inefficiency is the repeated example line which could be trimmed, but overall it's 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?

While the description gives a clear high-level purpose and an example, it does not cover the full parameter set or provide any detail on the output schema (which exists but is not shown). Given 9 parameters with no schema descriptions, the description is only partially complete. The KB reference might fill gaps, but the description itself is not fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no per-parameter explanations. The example shows session_plan, phase_name, and summary, but does not clarify the meaning or format of these or the other 6 parameters (e.g., artifacts, work_order, evidence_type). An agent would have to infer semantics from the example and names, which is insufficient for 9 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Record phase evidence' and the resource 'durable local IDE companion ledger', and even specifies what it does not do (call Tripo or mutate Unreal). This distinguishes it from many sibling skill_* tools, which are about compiling dashboards, manifests, or sessions, not recording evidence.

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 provides an example and a KB reference, and implies usage when recording phase evidence. However, it does not explicitly state when to use this tool versus alternatives (e.g., skill_compile_ide_companion_dashboard), nor any conditions for not using it. The negative statement 'does not call Tripo or mutate Unreal' gives some contextual guidance but is not a clear usage directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_repair_broken_blueprintA

Diagnose a Blueprint and apply deterministic repairs automatically.

Phase 4 / V6 skill — orchestrates the full repair loop:

  1. Run compile diagnostics

  2. Run structural validation (orphans, disconnected exec chains)

  3. Build repair plan (auto_repairable issues only)

  4. Apply repairs (orphan removal, exec reconnection)

  5. Recompile Blueprint

  6. Run post-mutation verification

  7. Return before/after JSON with health_delta

Issues that are NOT deterministically repairable (compile errors, possibly-unused variables, missing graphs) are collected in repairs_skipped — never silently ignored.

Args: blueprint_path: Full asset path (e.g. '/Game/BP_HealthSystem') or plain name ('BP_HealthSystem') dry_run: If True, report what would be repaired without actually making changes (default False) max_repairs: Safety cap on number of auto-repairs applied in a single call (default 20)

Returns: StructuredResult with outputs: before — health snapshot before repair after — health snapshot after repair repairs_applied[] — list of applied repair records repairs_skipped[] — list of skipped issues with reasons health_delta — int (after.health_score - before.health_score) safe_to_continue — bool repair_summary — human-readable string

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: skill_repair_broken_blueprint(blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
max_repairsNo
blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to lean on, the description fully discloses side effects: it applies repairs, recompiles the Blueprint, runs post-mutation verification, and supports a dry_run safety mode. It also explains that non-deterministically repairable issues are collected in repairs_skipped rather than silently ignored, and documents max_repairs as a safety cap.

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 well organized with a one-line summary, numbered steps, a limitations note, Args, Returns, KB pointer, and example. It is detailed but every section earns its place, and the most important purpose statement is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex skill tool with no annotation coverage, the description provides everything needed: input semantics, behavior, limitations, return fields, a KB reference, and a concrete example. It even documents the not-repairable cases so an agent can predict outcomes before calling.

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 has the full burden of explaining all three parameters. It does so clearly: blueprint_path accepts either a full asset path or plain name, dry_run toggles reporting-only behavior, and max_repairs caps how many auto-repairs are applied. This goes well beyond the bare input 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?

The description opens with a specific verb and resource: 'Diagnose a Blueprint and apply deterministic repairs automatically.' It then names the exact orchestration steps (compile diagnostics, structural validation, repair plan, apply repairs, recompile, verify), which clearly distinguishes it from lower-level siblings like bp_repair_exec_chain and bp_remove_orphaned_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?

The description gives strong context for when to use the tool: when a Blueprint has deterministic, auto-repairable structural issues like orphans or disconnected exec chains. It clearly states which issue types are not repaired and are instead reported in repairs_skipped, but it does not explicitly name alternative sibling tools or say 'use X instead' when only auditing or compiling is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_resume_ide_companion_sessionA

Resume an IDE companion session from its durable local ledger.

Loads .mcp_artifacts/ide_companion_sessions/<session>.json or an explicit ledger path, rebuilds status, compiles the next work order, and returns a compact resume packet. This tool does not call Tripo or mutate Unreal.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#d16-ide-companion-session-resume Example: skill_resume_ide_companion_session(session_name="ide-companion")

ParametersJSON Schema
NameRequiredDescriptionDefault
ledger_pathNo
session_nameNoide-companion
current_blockersNo
readiness_reportNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing side effects and does it well: it implies reading from a local ledger, explicitly says it does not call Tripo, and states it does not mutate Unreal. It stops short of explaining whether the ledger itself is written during resume or how missing/corrupt ledgers are handled, so it is not a perfect 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 a clear purpose statement and then delivers concrete mechanics, negative constraints, a knowledge-base pointer, and a working example in compact form. There is no wasted 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 tool with no annotations, the description covers the purpose, load path, internal rebuild behavior, output packet, and explicit non-interaction boundaries. An output schema exists and all parameters are optional, so the main remaining gap is the meaning of current_blockers and readiness_report, which an agent would likely consult the KB reference to resolve.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description compensates for 0% schema coverage by mapping session_name to the default ledger path and ledger_path to an explicit override. However, current_blockers and readiness_report are completely unexplained in both the schema and the description, leaving their format and purpose ambiguous.

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 first sentence states a precise action ('Resume an IDE companion session') and a specific resource ('durable local ledger'). The rest of the description explains what resume means mechanically: load a ledger file, rebuild status, compile the next work order, and return a resume packet, which clearly differentiates it from sibling compile-centric tools.

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 strongly implies this tool is for resuming an existing session from a local ledger, but it never explicitly states when to use it versus alternatives like skill_compile_ide_companion_session. The usage context is clear by implication but lacks explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smartobject_add_slotA

Add a slot to a SmartObject definition.

Args: definition: SmartObject definition asset path or object path. slot_name: Editor display name for the slot. offset: Slot offset [x, y, z] in definition space. rotation: Slot rotation [pitch, yaw, roll]. activity_tags: Gameplay tags describing slot activities. runtime_tags: Initial runtime tags for the slot. enabled: Initial enabled flag. save: Save the asset after mutation.

Returns: Structured JSON with added slot details, tag warnings, and slot count.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: smartobject_add_slot(definition="/Game/AI/SmartObjects/SO_CoverPoint", slot_name="LeftPeek", offset=[0, -60, 0])

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
offsetNo
enabledNo
rotationNo
slot_nameNoSlot
definitionYes
runtime_tagsNo
activity_tagsNo

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?

Since annotations are absent, the description is responsible for behavior disclosure. It notes that the tool mutates the asset ('Save the asset after mutation') and describes the return payload including 'tag warnings,' which hints at possible validation issues. However, it does not explain error behavior, idempotency, or side effects beyond saving, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a purpose statement, a parameter list with brief descriptions, a returns clause, a KB reference, and a concrete example. It is front-loaded and every section serves a clear function, with no redundant content.

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 a mutation with eight parameters, and the description covers the core action, parameter meanings, returns, and a realistic example. It does not address prerequisites or error cases, and it fails to differentiate use from sibling tools, but it is otherwise sufficiently 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?

With 0% schema description coverage, the description must carry parameter documentation. It does list all eight parameters and supplies basic descriptions, including vector formats for offset and rotation. Still, details like units, coordinate space, rotation order, and the meaning of tag parameters are missing, so the compensation is only partial.

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 starts with a clear verb+resource phrase: 'Add a slot to a SmartObject definition.' This distinctly separates it from sibling tools like smartobject_create_definition and smartobject_inspect_definition, and the example reinforces the intended 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?

No explicit usage guidance is provided. The description does not mention when to use this tool versus alternatives, nor does it state any prerequisites (e.g., the SmartObject definition must already exist). The usage is only implicitly inferred from the verb 'add', which is not enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smartobject_create_definitionA

Create a SmartObject definition asset and optional default slot.

Args: name: Asset name to create. path: Content Browser folder under /Game. slot_name: Optional first slot name; empty creates no slot. overwrite: Delete an existing asset before creation. save: Save the asset package after creation.

Returns: Structured JSON with asset path and slot count.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: smartobject_create_definition(name="SO_CoverPoint", slot_name="UseCover")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/AI/SmartObjects
saveNo
overwriteNo
slot_nameNoDefault

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?

The description discloses the overwrite behavior (deletes existing asset) and save behavior, which is useful. However, with no annotations provided, the description carries the full burden and doesn't mention potential side effects of overwrite beyond deletion, or what happens if the asset already exists without overwrite.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args, Returns, KB, and Example sections. It's slightly verbose with the KB reference and example, but each section serves a purpose and the core information is front-loaded.

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 description covers the essential information: what it creates, parameters, return format, and an example. The output schema exists, so return values are documented. The KB reference adds depth for agents needing more context. Minor gap: no explicit error conditions or prerequisites.

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 explain each parameter's purpose in the Args section, including the nuance that empty slot_name creates no slot, which adds meaning beyond the schema's default value of '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 clearly states the tool creates a SmartObject definition asset and an optional default slot, with a specific verb and resource. It distinguishes itself from siblings like smartobject_add_slot and smartobject_inspect_definition by focusing on creation, though it doesn't explicitly name 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?

The description implies usage through the example and parameter list, but doesn't explicitly state when to use this tool versus alternatives like smartobject_add_slot. The KB reference provides some context but no explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smartobject_inspect_definitionA

Inspect a SmartObject definition's slots, tags, and bounds.

Args: definition: SmartObject definition asset path or object path.

Returns: Structured JSON with slot names, transforms, tag containers, and bounds.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: smartobject_inspect_definition(definition="/Game/AI/SmartObjects/SO_CoverPoint")

ParametersJSON Schema
NameRequiredDescriptionDefault
definitionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 of behavioral disclosure. It does state that the tool inspects and returns structured JSON with slot names, transforms, tag containers, and bounds, which implies read-only behavior. However, it does not disclose potential failure modes, what happens on invalid paths, permissions, or whether any underlying state may be affected, leaving meaningful gaps for a 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 well-structured with separate Args, Returns, KB, and Example sections. Every line adds value, the key purpose is front-loaded, and the example makes the call signature concrete. There is no redundant 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: one parameter, an output schema, and clear return content. The description covers the input format, output structure, and gives a concrete example plus a KB reference. It is complete enough for selection and invocation, though it could have added a brief note on invalid-path behavior or prerequisites, so it stops just short of fully comprehensive.

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 'definition' is a 'SmartObject definition asset path or object path', which adds meaning beyond the raw schema title. The example further clarifies expected input format. It is not perfect because 'object path' is not fully elaborated, but for a single-parameter tool it provides solid semantic grounding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Inspect') with a specific resource ('SmartObject definition') and enumerates concrete aspects inspected ('slots, tags, and bounds'). It clearly distinguishes itself from sibling tools like smartobject_create_definition and smartobject_add_slot by describing an inspection operation rather than creation or modification.

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 through the verb 'Inspect' and the return statement, but does not explicitly state when to use this tool versus alternatives such as statetree_inspect or smartobject_add_slot. There are no exclusion conditions or explicit alternative comparisons, so usage guidance is only implied rather than clearly articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_add_asset_to_sceneB

Plan or place one asset into the current level using Unreal Python.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This is a clean-room scene-placement bridge inspired by Ghost's spatial awareness gap. It is dry-run by default and requires allow_mutation=true before changing the editor scene.

Example: spatial_add_asset_to_scene( asset_path="/Game/Props/SM_Table.SM_Table", tags=["Gameplay_POI"], data_layer_names=["Gameplay_POIs"], dry_run=True, )

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
scaleNo
dry_runNo
locationNo
rotationNo
asset_pathYes
actor_labelNo
select_actorNo
allow_mutationNo
focus_viewportNo
data_layer_namesNo
fail_on_missing_data_layerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description properly carries the safety burden and explicitly discloses the most critical behavior: 'It is dry-run by default and requires allow_mutation=true before changing the editor scene.' This clearly tells an agent the tool will not mutate the scene unless explicitly enabled, while many other behavioral details like failure modes and data-layer enforcement are not covered.

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 compact and front-loads the core action before the safety behavior and a useful example. The sentence about being 'inspired by Ghost's spatial awareness gap' is metaphorical and adds limited practical value, making it slight fluff, but overall the structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 12-parameter mutation tool with no annotations and zero schema descriptions, the description is not complete enough. It leaves critical gaps around transform parameter formats, the meaning of fail_on_missing_data_layer, and what focus/selection flags do, so an agent may struggle to invoke it correctly beyond the provided example.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the 12 parameters, but it only explains dry_run and allow_mutation in prose and incidentally shows asset_path, tags, and data_layer_names in the example. Parameters like location, rotation, scale, actor_label, select_actor, focus_viewport, and fail_on_missing_data_layer receive no explanation of formats, units, or behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening phrase 'Plan or place one asset into the current level' names a concrete action and resource, and the 'one asset' scope helps separate it from bulk placement tools like spatial_place_selected_assets. The dual 'Plan or place' and the implementation detail 'using Unreal Python' introduce minor ambiguity, but the core purpose is clear.

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 when to use this tool (single-asset placement, dry-run by default, mutation gated by allow_mutation=true), but it never explicitly names alternatives or exclusions such as using spatial_place_selected_assets for multiple assets or a planning tool for pre-composition work. Usage context is present but left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_analyze_roomB

Infer room dimensions, surfaces, zones, and clearance risks from live actors.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This read-only analysis turns selected or filtered level actors into a planner-ready room model for interior composition, surface probing, and validation. It uses bounds/name/tag heuristics and does not mutate the Unreal Editor scene.

Example: spatial_analyze_room(room_type="apartment", actor_query="Apartment")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
room_typeNoapartment
tag_filterNo
actor_queryNo
class_filterNo
include_hiddenNo
prefer_selectedNo
clearance_paddingNo
min_walkway_widthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/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 burden. It explicitly states this is read-only and does not mutate the Unreal Editor scene, which is a key behavioral trait. It also discloses the use of bounds/name/tag heuristics, adding transparency about methodology. However, it does not mention potential limitations like behavior on empty selections or performance characteristics.

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 relatively concise and front-loaded with the purpose. It includes a KB reference and an example, which are useful. It could be slightly more focused, but the structure is logical and efficient. The inclusion of the KB link adds a bit of extra noise, but overall it is well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, 0% schema coverage, no annotations), the description is insufficient. It fails to document parameter semantics, does not describe the output structure (though an output schema exists, it doesn't clarify what fields are returned), and offers only a minimal example. Agents lack critical information to call the tool correctly with the right filters and settings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate for all 9 parameters. It does not explain any of them: limit, room_type, tag_filter, actor_query, class_filter, include_hidden, prefer_selected, clearance_padding, min_walkway_width. The example uses only room_type and actor_query but does not define their semantics or units. This leaves agents to guess parameter meanings, making the tool difficult to invoke correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool infers room dimensions, surfaces, zones, and clearance risks from live actors, and that it produces a planner-ready room model. This is a specific verb and resource. It distinguishes itself from siblings by emphasizing read-only analysis and heuristic methods, though it doesn't explicitly name alternatives. The example further clarifies usage.

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 gives context: it turns selected or filtered level actors into a room model for interior composition, surface probing, and validation. This implies when to use it, but it does not explicitly state when not to use it or point to alternatives. The KB reference and example provide some guidance, but no exclusions or comparisons to the many spatial_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_apply_composition_planA

Apply or review a whole spatial composition placement queue.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This bridge accepts an interior composition, screenshot reconstruction, or generated-asset binding output. It normalizes placement steps into a batch queue, blocks unresolved generated assets by default, and executes editor placement only when dry_run=false and allow_mutation=true.

Example: spatial_apply_composition_plan(composition_plan_json="", dry_run=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
dry_runNo
default_tagsNo
select_actorsNo
stop_on_errorNo
allow_mutationNo
focus_viewportNo
stop_on_unresolvedNo
composition_plan_jsonYes
layout_preflight_jsonNo
default_data_layer_namesNo
block_on_preflight_errorsNo
fail_on_missing_data_layerNo
block_on_spatial_fit_reviewNo

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 key behavioral traits: it normalizes steps into a batch queue, blocks unresolved generated assets by default, and gates editor placement on two flags. This gives an agent an accurate mental safety model, though it does not detail other side effects like focus_viewport or select_actors.

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 tight paragraphs plus a minimal example; the KB pointer is useful and the sentence about mutation gating earns its place. No 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?

For a 14-parameter bridge tool with no parameter descriptions, the high-level flow is helpful but incomplete: it does not explain how to compose the plan JSON, what 'review' mode returns, or what the various blockers enforce. The existing output schema does not fill the parameter-semantics gap.

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%, and only composition_plan_json and dry_run appear in the example; the other 12 parameters (limit, default_tags, layout_preflight_json, block_on_preflight_errors, etc.) receive no explanation in the description. The description cannot compensate 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?

The description opens with a specific verb+resource: 'Apply or review a whole spatial composition placement queue,' and clarifies it is a bridge accepting three named upstream output types. It is clear enough to distinguish from the many spatial_plan_* siblings, though it never names an alternative.

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 states the input types that select this tool (interior composition, screenshot reconstruction, or generated-asset binding output) and explains when editor placement is actually executed (dry_run=false and allow_mutation=true). It does not explicitly list when not to use it versus sibling placement tools, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_assess_environment_coherenceA

Assess whether an environment is spatially and compositionally coherent.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

Example: spatial_assess_environment_coherence(composition_plan_json="", validation_result_json="")

The read-only assessment combines revision-bound scene facts with an explicit design intent. It checks stable identity/evidence status, support, circulation, clearances, landmarks/sightlines, functional zones, material families, ecological rules, and physical scale cues. Hard failures are never averaged away and inferred facts never become observed scene truth.

ParametersJSON Schema
NameRequiredDescriptionDefault
design_intent_jsonYes
scene_context_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does so well. It explicitly declares the operation is 'read-only' and discloses important behavioral invariants: hard failures are never averaged away, and inferred facts never become observed scene truth. It also details what the assessment checks, giving the agent a clear model of behavior beyond the bare schema.

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 a one-sentence summary, then a KB pointer, a compact example, and a dense but relevant list of evaluation dimensions. It is somewhat long, but each section earns its place for a complex assessment tool. The mismatched example reduces structural quality slightly.

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 output schema exists, so return-value documentation is covered. However, the tool has a 0% schema-description coverage, a misleading example with wrong parameter names, and no usage routing against the large set of spatial_* siblings. An agent has strong behavioral detail but cannot reliably determine argument format or when to choose this tool over alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The prose conceptually maps 'revision-bound scene facts' to scene_context_json and 'explicit design intent' to design_intent_json, but the example uses 'composition_plan_json' and 'validation_result_json', which do not match the schema's required parameter names. This is actively misleading and leaves the agent without reliable guidance for constructing the arguments.

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 opens with a specific verb and resource: 'Assess whether an environment is spatially and compositionally coherent.' It then enumerates the concrete dimensions checked (support, circulation, clearances, landmarks/sightlines, functional zones, material families, ecological rules, physical scale cues), which clearly differentiates it as the coherence-assessment tool among the many spatial_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through phrases like 'revision-bound scene facts' and 'explicit design intent' and points to a knowledge-base section, suggesting it is used during world-building assessment. However, it never explicitly states when to use this tool versus alternatives such as spatial_analyze_room or spatial_validate_placement, and provides no when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_bind_generated_assets_to_compositionA

Bind imported/generated assets back into a spatial composition plan.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner consumes a spatial interior composition plan plus completed Tripo import results or manual asset overrides. It replaces placeholder asset paths with real /Game assets and returns dry-run placement, validation, and iteration handoffs without mutating the Unreal Editor scene.

Example: spatial_bind_generated_assets_to_composition(composition_plan_json="", import_results_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
clearance_paddingNo
surface_toleranceNo
import_results_jsonNo
asset_overrides_jsonNo
composition_plan_jsonYes
include_unresolved_stepsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It explicitly states the key behavior: it returns dry-run placement, validation, and iteration handoffs 'without mutating the Unreal Editor scene.' This covers the most important safety trait, though it does not discuss error cases or input format edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-line purpose, a KB pointer, a focused functional paragraph, and a representative call example. Every sentence adds useful information with no 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?

The description provides purpose, inputs, non-mutation guarantees, and result handoffs, and an output schema exists. However, with zero schema description coverage and several optional parameters whose semantics are unclear, an agent would still have to infer how clearance_padding, surface_tolerance, and include_unresolved_steps affect the binding operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It helps by explaining the roles of composition_plan_json, import_results_json, and asset_overrides_json, but it leaves clearance_padding, surface_tolerance, and include_unresolved_steps entirely unexplained beyond their names and defaults.

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 first sentence states a specific verb and resource: binding imported/generated assets back into a spatial composition plan. The body adds scope by naming the consumed inputs and explicitly clarifying that this is a dry-run planner that does not mutate the scene, which helps distinguish it from applying or placement siblings.

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 clearly identifies when this tool is relevant: when a spatial composition plan exists and Tripo import results or manual asset overrides are ready to be bound into it. It does not name sibling alternatives or state when-not-to-use, but the dry-run/handoff language gives a clear workflow context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_catalog_project_assetsB

Catalog existing project assets for spatial composition matching.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This read-only bridge queries project asset metadata from /Game folders and returns resolver-ready asset_catalog_json for spatial_resolve_project_assets. StaticMesh and Blueprint candidates are included by default so Ghost can prefer existing project content before guarded Tripo generation.

Example: spatial_catalog_project_assets(folders=["/Game/Props"], query="kitchen", class_names=["StaticMesh", "Blueprint"])

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
foldersNo
class_namesNo
include_boundsNo
include_selectedNo
include_resolver_handoffNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 transparency burden. It discloses read-only behavior, scope (/Game folders), default candidate classes, and the purpose of avoiding generation. It does not mention any side effects, rate limits, or permission requirements, but for a read-only query that is acceptable.

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 under 150 words, front-loads the core purpose, and includes a practical example. The KB reference adds value 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?

The description adequately explains the tool's role in the spatial pipeline, and the output schema exists so return details are not required. However, the parameter documentation gap and lack of alternative differentiation leave some missing context for an agent evaluating when to call this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It only covers folders, query, and class_names via the example, leaving limit, include_bounds, include_selected, and include_resolver_handoff undocumented. This is a significant gap for a tool with 7 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool catalogs project assets for spatial composition matching, names the output format (asset_catalog_json), and names the downstream consumer (spatial_resolve_project_assets). It does not explicitly differentiate from sibling asset-finding tools, but the specific pipeline role is clear.

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 implies usage for preferring existing project content before generation, and shows an example. It does not explicitly name alternatives or state when not to use it, so the guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_compile_worldbuilding_readinessA

Compile end-to-end readiness for spatial worldbuilding.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only compiler consumes any subset of Ghost spatial workflow outputs and reports gates, blockers, next actions, and viewport evidence handoffs for the room/screenshot reconstruction pipeline. It does not mutate Unreal, run vision, or submit paid Tripo jobs.

Example: spatial_compile_worldbuilding_readiness(reference_image="C:/refs/apartment.png")

ParametersJSON Schema
NameRequiredDescriptionDefault
reference_imageNo
scene_graph_jsonNo
tripo_batch_jsonNo
apply_result_jsonNo
prop_program_jsonNo
asset_binding_jsonNo
room_analysis_jsonNo
iteration_plan_jsonNo
require_scene_graphNo
asset_resolution_jsonNo
composition_plan_jsonNo
layout_preflight_jsonNo
require_room_analysisNo
validation_result_jsonNo
viewport_evidence_jsonNo
candidate_clearance_jsonNo
detection_preflight_jsonNo
reconstruction_plan_jsonNo
functional_zone_plan_jsonNo
require_viewport_evidenceNo
decomposition_request_jsonNo
asset_scale_correction_jsonNo
support_surface_anchors_jsonNo
layout_preflight_correction_jsonNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 does so well: it declares itself 'local/read-only' and explicitly lists excluded side effects. It also states what it reports, giving the agent a clear expectation of behavior despite no annotation metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and every sentence adds value: purpose, KB pointer, behavioral scope, and a concrete invocation example. It avoids filler while giving an agent enough orientation to attempt a call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives a good high-level scope and example, but with 24 undocumented parameters and no annotations it leaves the agent to infer parameter mapping and the meaning of the require_* flags. The KB reference helps, but inline parameter guidance is missing for such a large input surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 24 parameters, yet the description only gives a high-level 'consumes any subset of Ghost spatial workflow outputs' and a single example. It does not explain what individual JSON inputs mean, how require_* booleans behave, or how parameters relate to the workflow outputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Compile end-to-end readiness for spatial worldbuilding.' It further clarifies the exact outputs (gates, blockers, next actions, viewport evidence handoffs) and contrasts itself with mutation/vision/Tripo tools, so an agent can distinguish it from sibling spatial 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?

The description clearly states this is a local/read-only compiler that consumes Ghost spatial workflow outputs, implying when to use it in the pipeline. It also states what it does not do (mutate Unreal, run vision, submit paid Tripo jobs), though it does not explicitly name alternative tools or precise when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_content_selection_contextA

Read selected Content Browser assets and prepare placement handoffs.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This is a read-only bridge from editor asset selection to Ghost's dry-run-first spatial placement workflow.

Example: spatial_content_selection_context(placement_layout="grid", tags=["Gameplay_POI"])

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
limitNo
data_layer_namesNo
placement_layoutNoline
placement_originNo
placement_spacingNo
actor_label_prefixNo

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly states 'read-only', which is critical for safety. It also mentions 'prepare placement handoffs', indicating it returns data for later use. However, it does not describe edge cases (e.g., empty selection, filtering behavior) or the nature of the output beyond 'handoffs', though an output schema exists to cover return format.

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 exceptionally concise: three sentences plus an example. The purpose is front-loaded, the read-only nature is immediately stated, and the KB reference is a useful pointer without clutter. No wasted words; every sentence contributes to understanding the tool's role.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description leaves significant gaps: it does not explain what 'placement handoffs' contain, what prerequisites exist (e.g., assets must be selected), how tags and data_layer_names filter the selection, or how placement parameters affect the output. With 7 parameters and no annotations, an agent would struggle to call this correctly without additional documentation. The KB reference helps but is not a substitute for in-description guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only provides an example using placement_layout and tags, giving minimal insight into parameter meaning. The other five parameters (limit, data_layer_names, placement_origin, placement_spacing, actor_label_prefix) are only known by their schema titles, which are somewhat self-explanatory but lack concrete semantics. The description adds little value over the schema titles, failing to explain parameter interplay or filtering logic.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('read'), the resource ('selected Content Browser assets'), and the outcome ('prepare placement handoffs'). It also includes a concrete example and explicitly labels itself a 'read-only bridge', which distinguishes it from placement-execution tools like spatial_place_selected_assets. The purpose is unambiguous and well differentiated from sibling spatial 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?

The description positions this as a preparatory step in a dry-run-first spatial placement workflow, implying it should be used before placement operations. It also references a knowledge base section for best practices. However, it does not explicitly name alternatives or state when not to use it, so while the context is clear, exclusions are left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_describe_actorC

Describe one actor's transform, bounds, tags, components, and neighbors.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

Example: spatial_describe_actor(actor="BP_PlayerStart")

ParametersJSON Schema
NameRequiredDescriptionDefault
actorYes
nearby_limitNo
nearby_radiusNo
include_boundsNo
include_componentsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 lists what will be described but does not state return format, whether the operation is read-only, side effects, or how the nearby/neighbor query behaves. For a tool with no annotation safety profile, 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?

The description is a single front-loaded sentence stating the core purpose, followed by a KB reference and a concrete example. It is efficient and well-ordered, though the example is somewhat redundant with the required parameter already named. No wasted sentences, but the thinness limits a higher score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the tool is under-specified for an agent. With 5 parameters at 0% schema coverage and no parameter explanation in the description, an agent cannot reliably determine what nearby_limit and nearby_radius do or how the neighbor query is scoped. The description does not compensate for the schema's lack of coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters. It does not. The parameters nearby_limit, nearby_radius, include_bounds, and include_components are never explained, and their meaning (e.g., what 'nearby' means, what components entails) is left entirely to the agent's inference. The example only demonstrates the required 'actor' parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Describe') with a resource ('one actor') and lists the covered attributes: transform, bounds, tags, components, and neighbors. This is clear and reasonably specific. It does not fully differentiate from overlapping siblings like get_actor_properties, get_actor_identity, or spatial_query_actors, 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 provides no guidance on when to use this tool versus its many siblings (e.g., get_actor_properties, find_actors_by_class, spatial_query_actors). The usage context is only implied by the word 'describe.' There are no exclusions, alternatives, or prerequisites mentioned. The KB reference points to world-building best practices rather than tool selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_infer_functional_zonesA

Infer usable functional zones for an interior worldbuilding plan.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only planner consumes room analysis, screenshot detections, and/or an existing composition to infer kitchen, living, bedroom, entry, hallway, bathroom, and utility regions before prop generation or placement. It does not mutate Unreal Editor state.

Example: spatial_infer_functional_zones(room_analysis_json="", requested_zones=["kitchen", "living"])

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
room_typeNoapartment
room_originNo
requested_zonesNo
room_dimensionsNo
min_zone_size_cmNo
room_analysis_jsonNo
detected_items_jsonNo
composition_plan_jsonNo
include_updated_room_analysisNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description explicitly states the key safety behavior: it is local/read-only and does not mutate Unreal Editor state. This addresses the main risk an agent needs to know; return details are covered by the presence of an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-organized: purpose, KB pointer, behavioral scope, and a concrete example. It front-loads the core action and includes no 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?

For a 10-parameter tool with zero parameter descriptions, the high-level guidance and example give a workable default path but leave important invocation details unstated. The KB link and output schema reduce the gap, but the missing parameter semantics make this only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only clarifies `room_analysis_json`, `detected_items_json`, `composition_plan_json`, and `requested_zones` (via the example and zone list). The remaining six parameters—`limit`, `room_type`, `room_origin`, `room_dimensions`, `min_zone_size_cm`, and `include_updated_room_analysis`—receive no explanation of meaning, format, or units.

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?

Opens with a specific verb and resource ('Infer usable functional zones') and enumerates the exact zone types it produces (kitchen, living, bedroom, entry, hallway, bathroom, utility). The phrase 'local/read-only planner... before prop generation or placement' sets it apart from the many mutation/placement siblings in the tool list.

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 workflow cue: it consumes room analysis, screenshot detections, and/or an existing composition, and should run before prop generation or placement. It does not name alternative tools or state explicit when-not-to-use cases, but the context is sufficient for routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_infer_placement_policyA

Infer a clean-room placement policy and dry-run handoff arguments.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This planner is intentionally local and read-only. It prepares arguments for Ghost's spatial placement tools without mutating Unreal Editor.

Example: spatial_infer_placement_policy(asset_paths=["/Game/City/SM_Block.SM_Block"], intent="city blockout")

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
intentNo
policyNoauto
asset_pathsNo
layout_hintNoline
base_spacingNo
data_layer_namesNo
actor_label_prefixNo

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 provided, the description carries the full disclosure burden. It explicitly discloses 'intentionally local and read-only' and 'without mutating Unreal Editor,' giving the agent a clear safety profile and distinguishing it from mutating tools. It does not cover output format or error behavior, but the core behavioral trait (non-mutating dry-run) is well 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?

Three focused sentences plus an inline example with zero filler. The purpose is front-loaded, the read-only nature is stated early, and the KB reference and example are placed after the core claim. Every sentence 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?

For an 8-parameter tool with no annotations and 0% schema coverage, the description is reasonably complete on purpose and safety but weak on parameter guidance, leaving most parameters undocumented. The output schema exists, so return-value documentation is covered elsewhere. The KB pointer mitigates some gaps but does not enumerate parameter semantics.

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 provides a concrete example demonstrating asset_paths and intent, plus a KB reference for policy details. However, it leaves 6 of 8 parameters (tags, policy, layout_hint, base_spacing, data_layer_names, actor_label_prefix) entirely unexplained, which is a notable gap given zero schema-level descriptions.

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 opens with a specific verb+resource pair: 'Infer a clean-room placement policy and dry-run handoff arguments.' It then states it 'prepares arguments for Ghost's spatial placement tools without mutating Unreal Editor,' which clearly separates this planning tool from mutating siblings like spatial_apply_composition_plan and spatial_place_selected_assets. 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?

The description establishes usage context by labeling itself 'intentionally local and read-only' and a 'planner' that prepares arguments for downstream placement tools, implying it is the pre-application step. However, it never names specific alternatives or states explicit when-to-use vs. when-not-to-use conditions relative to the many other spatial_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_infer_screenshot_scene_graphB

Infer a clean-room spatial scene graph from screenshot detections.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner does not perform image segmentation. It consumes agent/vision-supplied detected_items_json, uses crop positions and prop metadata to infer relationships such as left/right, foreground, support contact, wall anchors, and zone clusters, then emits richer reconstruction handoffs.

Example: spatial_infer_screenshot_scene_graph(reference_image="C:/refs/apartment.png", detected_items_json="", image_size=[1280, 720])

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
room_typeNoapartment
image_sizeNo
reference_imageYes
detected_items_jsonYes
include_reconstruction_handoffNo

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 non-segmentation behavior, the required input source, and the kind of output (reconstruction handoffs), which is valuable. But it does not state whether the operation is read-only or mutating, whether it invokes external services, or what the returned handoff contains.

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 compact, front-loaded with the main purpose, and every sentence adds either a behavioral constraint, pipeline context, KB reference, or invocation example. It could be improved with explicit parameter bullets, but it is not bloated.

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 core workflow is well sketched and an example is provided, which is useful for a spatial-pipeline tool. However, without annotations or schema descriptions, the agent still lacks guidance on optional parameters, expected input JSON shape, and the precise contents of the handoff, so completeness is only adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It gives meaningful context for reference_image, detected_items_json, and image_size via prose and the example, but never explains limit, room_type, or include_reconstruction_handoff. For a 6-parameter tool, leaving several parameters semantically opaque is a real 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?

The first sentence names a specific verb ('infer') and resource ('spatial scene graph from screenshot detections'), and the body clarifies the pipeline role: consumes detected_items_json and emits reconstruction handoffs. It does not explicitly name sibling tools, and 'clean-room' is jargon, so it stops short of full 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 clear context: use this local planner when agent/vision-supplied detected_items_json is available and you need inferred spatial relationships and reconstruction handoffs. It also states a negative constraint ('does not perform image segmentation'). However, it never explicitly names alternative spatial_* tools or states when-not-to-use relative to them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_place_selected_assetsB

Plan or place selected Content Browser assets as a batch.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

If asset_paths is empty, the tool reads the current Content Browser selection. Real placement is transactional and requires allow_mutation.

Example: spatial_place_selected_assets(placement_layout="grid", dry_run=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
limitNo
scaleNo
dry_runNo
rotationNo
asset_pathsNo
select_actorsNo
allow_mutationNo
focus_viewportNo
data_layer_namesNo
placement_layoutNoline
placement_originNo
placement_spacingNo
actor_label_prefixNo
fail_on_missing_data_layerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 transparency burden. It does disclose that real placement is transactional and requires allow_mutation, and that empty asset_paths reads the selection. However, it does not describe side effects, reversibility, or what kind of actors/objects are created.

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 compact and front-loaded with the main purpose, followed by a KB pointer, critical behavior notes, and a concrete example. It is efficient with no filler, though the example could have been integrated more tightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the output schema existing, the tool has 15 input parameters and no annotations, making this description insufficient for correct invocation. Key behaviors like dry-run default, data layer handling, placement layout options, and actor selection semantics are absent. The KB reference helps but does not compensate for the missing parameter and usage details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 15 parameters, so the description must compensate. It clarifies only asset_paths (fallback to current selection) and allow_mutation (required for real placement), and shows placement_layout in an example; the remaining 13 parameters are left unexplained.

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 ('Plan or place') and resource ('selected Content Browser assets as a batch'), making the tool's core function clear. It distinguishes itself from many sibling tools by focusing on selected assets in batch, though it does not name an alternative tool explicitly.

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 context: it works with current Content Browser selection when asset_paths is empty, and real placement requires allow_mutation. However, it does not explicitly say when to choose this tool over alternatives like spatial_add_asset_to_scene or 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.

spatial_plan_asset_scale_correctionsA

Plan scale corrections for generated or bound spatial assets.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only planner consumes a generated-asset binding output, interior composition, or screenshot reconstruction. It compares planned prop dimensions to imported mesh bounds, recommends reviewed scale updates, and returns a scale-corrected dry-run composition plan without mutating the Unreal Editor scene.

Example: spatial_plan_asset_scale_corrections(composition_plan_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
max_scaleNo
min_scaleNo
anisotropy_toleranceNo
include_updated_planNo
close_scale_toleranceNo
composition_plan_jsonYes
allow_non_uniform_scaleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and handles it well: it states the tool is local/read-only, returns a dry-run composition plan, and does not mutate the Unreal Editor scene. It also specifies the planner's behavior ('compares... recommends... returns') rather than hiding 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?

The description is compact and front-loaded with the core purpose, followed by a KB pointer and a concrete invocation example. Every sentence contributes meaningful behavioral or usage information, with minimal 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?

For the primary required parameter and the read-only behavior, the description is complete, and an output schema exists to document return values. However, an 8-parameter tool with zero schema descriptions still leaves the optional tuning knobs unexplained, and the description does not position this tool against sibling planners/apply tools. An agent can call the basic path but not confidently customize advanced behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description only elaborates on composition_plan_json via its example. The remaining seven parameters are left entirely to their titles/defaults; the description does not explain acceptable values, relationships, or when to change min_scale, max_scale, anisotropy_tolerance, close_scale_tolerance, include_updated_plan, limit, or allow_non_uniform_scale.

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 opens with a specific verb and resource ('Plan scale corrections for generated or bound spatial assets') and expands with a precise workflow: comparing planned prop dimensions to imported mesh bounds, recommending reviewed scale updates, and returning a dry-run plan. It also distinguishes itself from mutating siblings by explicitly labeling itself a local/read-only planner. This is enough for an agent to separate it from nearby spatial_plan_* 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?

The description names the relevant input contexts ('generated-asset binding output, interior composition, or screenshot reconstruction') and makes clear this is the planning step, not the apply step. It does not explicitly name an alternative tool or a when-not-to-use condition, but a clear usage context is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_composition_iterationA

Plan dry-run corrections from placement validation and viewport notes.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner consumes a spatial interior composition plan plus a spatial_validate_placement result, then returns reviewed transform candidates, surface-probe handoffs, revalidation, and screenshot evidence steps. It does not mutate the Unreal Editor scene.

Example: spatial_plan_composition_iteration(validation_result_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
max_iterationsNo
nudge_distanceNo
reference_imageNo
screenshot_notesNo
clearance_paddingNo
surface_toleranceNo
composition_plan_jsonNo
validation_result_jsonNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 disclosure burden. It explicitly states this is a local planner that 'does not mutate the Unreal Editor scene' and that it returns review candidates and revalidation steps rather than applying changes. This is meaningful transparency for a tool in a mutation-heavy toolset, though it could go further on how outputs are meant to be consumed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and adds only useful context: KB reference, a clear behavioral statement, and a short invocation example. There is no filler or redundant restating of schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives enough pipeline context to understand where this tool fits and confirms it is a non-mutating dry-run planner. The output schema covers return values, so those do not need to be spelled out. However, given 8 undocumented optional parameters and no explicit differentiation from sibling spatial planning tools, the description is not fully complete for confident parameter tuning and tool selection.

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?

Input schema description coverage is 0%, so the description must compensate, but it only meaningfully clarifies composition_plan_json and validation_result_json. Parameters such as max_iterations, nudge_distance, clearance_padding, surface_tolerance, reference_image, and screenshot_notes are left unexplained. The example only shows validation_result_json, leaving the semantics of the other seven parameters largely under-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?

The description clearly names a specific function: plan dry-run corrections from placement validation and viewport notes. It identifies the consumed inputs (composition plan + validation result), the produced outputs (transform candidates, surface-probe handoffs, revalidation, screenshot evidence), and the non-mutating nature. This is specific enough to distinguish it from sibling tools like spatial_validate_placement or spatial_apply_composition_plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context about when this tool fits: after placement validation and before applying changes, acting as a dry-run local planner. It also explicitly states it does not mutate the scene, which implies it is for planning rather than applying. However, it does not explicitly name sibling alternatives or give when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_interior_compositionB

Plan a spatially coherent interior composition with Tripo handoffs.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner turns room dimensions, optional screenshot-derived prop observations, existing assets, and style intent into zone-aware placements plus guarded Tripo text/image generation and import steps.

Example: spatial_plan_interior_composition(room_type="apartment", style="lived-in modern")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
styleNo
intentNo
room_typeNoapartment
omit_propsNo
room_originNo
content_pathNo/Game/Generated/SpatialInteriors
required_propsNo
room_dimensionsNo
prop_program_jsonNo
actor_label_prefixNo
room_analysis_jsonNo
existing_asset_pathsNo
screenshot_referenceNo
screenshot_observationsNo
functional_zone_plan_jsonNo
generate_missing_with_tripoNo
include_image_to_model_handoffsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It usefully discloses that this is a 'local planner', that it produces 'zone-aware placements', and that it involves 'guarded Tripo text/image generation and import steps.' Still, 'guarded' is vague, and the description does not clarify whether this tool actually executes generation/import side effects or only produces a plan with handoffs.

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 compact, front-loaded with the main purpose, and includes a useful example and KB pointer. There is slight redundancy between 'with Tripo handoffs' and the later 'guarded Tripo text/image generation and import steps,' but no significant bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter tool with no annotations, the description is too thin to serve as a reliable invocation guide. It gives the gist and an example, but omits parameter semantics, pipeline positioning, side-effect expectations, and any guidance for choosing this tool over nearby spatial_plan_* siblings. The presence of an output schema reduces the need to describe return values, but does not make up for these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It names high-level input categories (room dimensions, screenshot-derived observations, existing assets, style intent) and gives an example using room_type and style, but 18 parameters exist and most parameters (limit, omit_props, room_origin, content_path, required_props, prop_program_json, actor_label_prefix, room_analysis_json, screenshot_reference, functional_zone_plan_json, etc.) are left unexplained.

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 action ('Plan') and resource ('spatially coherent interior composition'), and adds a concrete data-flow sentence covering inputs and outputs. It clearly indicates what the tool does, though it does not explicitly differentiate itself from close siblings like spatial_plan_interior_prop_program or spatial_apply_composition_plan.

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 'This local planner turns room dimensions, optional screenshot-derived prop observations, existing assets, and style intent into zone-aware placements' implies when the tool is appropriate, and the KB reference adds context. However, it never gives explicit when-to-use/when-not-to-use guidance or contrasts itself with the many related spatial_plan_* and Tripo-generation siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_interior_prop_programA

Plan a zone-aware interior prop program before composition.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only planner turns room analysis, functional zones, screenshot detections, user-required props, and known assets into a per-zone fixture/furniture/clutter/fill program. It does not mutate Unreal or submit Tripo jobs.

Example: spatial_plan_interior_prop_program(functional_zone_plan_json="", required_props=["fridge", "stove"])

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
styleNolived-in realistic
intentNo
room_typeNoapartment
omit_propsNo
room_originNo
required_propsNo
requested_zonesNo
room_dimensionsNo
room_analysis_jsonNo
detected_items_jsonNo
existing_asset_pathsNo
functional_zone_plan_jsonNo
include_architectural_fillNo
include_zone_recommendationsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It explicitly discloses that the tool is 'local/read-only,' does not mutate Unreal, and does not submit Tripo jobs, which is exactly the side-effect information an agent needs before calling it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a purpose sentence, a KB pointer, a concise transformation statement, a side-effect disclaimer, and a concrete example. Every sentence earns its place and the most important scoping information is front-loaded.

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 output schema exists, so return-value details are not required. The description covers purpose, when to use it, input categories, non-mutation guarantees, and an example. However, with 15 parameters, no annotations, and 0% schema description coverage, more parameter-level guidance would be needed for full contextual completeness.

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 adds meaning by naming the input categories and gives an example using functional_zone_plan_json and required_props, but most of the 15 parameters are not explained and the expected JSON formats for string parameters are left vague. This is adequate but incomplete.

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 opens with a specific verb and deliverable: 'Plan a zone-aware interior prop program before composition.' It then states the exact transformation from room analysis, functional zones, screenshot detections, user-required props, and known assets into a per-zone fixture/furniture/clutter/fill program, clearly distinguishing this planner from downstream composition or mutation 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?

The description gives clear usage context by saying 'before composition' and explicitly lists when-not behavior: 'It does not mutate Unreal or submit Tripo jobs.' It does not name sibling alternatives directly, but the phase and read-only boundary make the intended usage reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_layout_preflight_correctionsA

Plan dry-run corrections from an interior layout preflight.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only planner consumes a composition plus spatial_preflight_interior_layout output. It deterministically repairs fixable bounds, overlap, and circulation findings in the dry-run plan, and routes support/semantic issues to the right follow-up tools.

Example: spatial_plan_layout_preflight_corrections(composition_plan_json="", layout_preflight_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
pairwise_paddingNo
min_walkway_widthNo
boundary_margin_cmNo
correction_step_cmNo
include_updated_planNo
composition_plan_jsonYes
layout_preflight_jsonYes

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 provided, the description carries the full behavioral burden and does meaningful work: it declares the tool 'local/read-only' and 'deterministically repairs,' disclosing side-effect profile and predictability. It does not cover failure/error behavior, rate limits, or auth requirements, but for a read-only planner the safety profile is adequately 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?

The description is front-loaded with a one-line summary, followed by a short behavior paragraph and a concrete call example, so most sentences earn their place. The KB reference is a minor detour but adds useful context for world-building best practices.

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 example shows a minimal valid call with just the two required params, and defaults cover the rest, so an agent can invoke correctly. However, the six optional tuning parameters are undocumented in both the schema and the description, and with no annotations, behavior like output structure and limits is left entirely to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only clarifies the two required parameters via the call example. The six optional parameters (limit, pairwise_padding, min_walkway_width, boundary_margin_cm, correction_step_cm, include_updated_plan) are never explained beyond self-descriptive names, leaving units and effects ambiguous (e.g., what limit counts, what correction_step_cm steps).

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: 'Plan dry-run corrections from an interior layout preflight' and 'deterministically repairs fixable bounds, overlap, and circulation findings.' It is clearly distinguished from spatial-planning siblings (e.g., spatial_plan_asset_scale_corrections is scale-only, spatial_plan_interior_composition composes) by naming its operand, the spatial_preflight_interior_layout output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: it consumes a composition plus spatial_preflight_interior_layout output, is local/read-only, and handles only fixable bounds/overlap/circulation findings. It implies when not to use it by stating it 'routes support/semantic issues to the right follow-up tools,' but it never names those alternatives, so there are no explicit when-not/alternative conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_room_bounds_designationA

Plan the editor tags/volumes that make room bounds authoritative.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only planner returns the Ghost room-bounds designation contract: a RoomBounds volume, optional Zone/Openings/Path/Surface markers, shared room id tags, and handoffs back into live room analysis. It does not mutate Unreal Editor state.

Example: spatial_plan_room_bounds_designation(room_id="apartment_01", zone_names=["entry", "kitchen", "living", "bedroom"])

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
room_idNoroom_01
room_typeNoapartment
zone_namesNo
room_originNo
room_dimensionsNo
include_path_markersNo
include_opening_markersNo
include_surface_markersNo

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 provided, the description carries the full burden and does a good job: it discloses that the tool is read-only, does not mutate Unreal Editor state, and returns a designated contract rather than performing edits. It does not cover failure modes or edge behavior, but for a side-effect-free planner the key behavioral traits are clearly stated.

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 compact and front-loaded with purpose and read-only behavior, and the example adds concrete invocation guidance. Minor jargon such as 'Ghost' and 'handoffs back into live room analysis' adds some ambiguity, but every line earns its place and the length is appropriate.

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 output contract is described and an output schema exists, so return values are somewhat covered. The input side is the weak point: nine parameters have no schema descriptions and the description only demonstrates two, so an agent cannot reliably construct complex inputs like room_origin/room_dimensions or decide the marker flags.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only illustrates room_id and zone_names via an example. The meaning and expected format of room_origin, room_dimensions, limit, and the include_* flags are not explained, leaving the agent to guess for 7 of 9 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Plan the editor tags/volumes that make room bounds authoritative.' It then enumerates the returned contract (RoomBounds volume, optional markers, room id tags) and explicitly distinguishes itself as a read-only planner, which differentiates it from mutation-oriented sibling 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?

The description gives clear context by calling itself a 'local/read-only planner' and stating 'It does not mutate Unreal Editor state,' signaling when it is appropriate to use. However, it does not explicitly name alternative tools or give exclusions, so the routing burden is partly left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_screenshot_reconstructionB

Plan screenshot-driven interior reconstruction with Tripo crop handoffs.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner does not perform computer vision by itself. When no detections are supplied, it returns the expected detected_items_json schema for the agent's vision step. When detections are supplied, it maps each prop to an existing asset or guarded Tripo image/text handoff and reuses the spatial interior planner for dry-run placement. If a screenshot scene graph is supplied, support and wall-anchor relations are folded into the placement hints before planning.

Example: spatial_plan_screenshot_reconstruction(reference_image="C:/refs/apartment.png")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
styleNo
intentNo
room_typeNoapartment
room_originNo
content_pathNo/Game/Generated/SpatialInteriors
required_propsNo
reference_imageYes
room_dimensionsNo
scene_graph_jsonNo
actor_label_prefixNo
room_analysis_jsonNo
detected_items_jsonNo
existing_asset_pathsNo
include_text_fallbacksNo
include_architectural_fillNo
generate_missing_with_tripoNo
include_zone_recommendationsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 largely meets it: it discloses that this is a local planner (not CV), that it returns the detected_items_json schema when detections are absent, that matching can produce a 'guarded Tripo image/text handoff', and that scene-graph relations are folded into placement hints. It stops short of describing side effects or external generation implications, but 'dry-run' signals non-mutating planning.

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?

Four short paragraphs front-load the core purpose, add a KB pointer, then cover conditional behavior and close with a concrete example. No filler, though the internal jargon ('Tripo crop handoffs', 'guarded ... handoff') is dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 18 parameters and zero annotations, the description communicates the orchestration role but leaves important operational details unspecified: parameter semantics, prerequisites, output expectations, and the relationship to the spatial_prepare_*/spatial_infer_* siblings. The example only demonstrates a single-argument call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description compensates only minimally: reference_image appears in the example, and detected_items_json/scene_graph_json are implied by the conditional behavior. The other 15 parameters (limit, room_dimensions, existing_asset_paths, include_text_fallbacks, generate_missing_with_tripo, etc.) get no semantic explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific action ('Plan ... reconstruction'), scopes it to screenshots, and mentions Tripo crop handoffs. The body reinforces the boundary ('does not perform computer vision by itself'), which separates it from vision-stage siblings, though it never names those siblings explicitly.

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 gives conditional context: no detections → return schema; detections → map props and run dry-run placement; scene graph → fold support/wall-anchor relations. It does not state when to prefer this tool over sibling planners or vision/asset-prep tools, so usage guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_support_surface_anchorsB

Plan floor, support-surface, and wall anchors for a composition.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only planner consumes an interior composition, screenshot reconstruction, generated-asset binding, or scale-corrected plan plus optional spatial_analyze_room output. It updates dry-run placement steps so props intended for counters, tables, shelves, walls, or floors align to classified room surfaces before mutation.

Example: spatial_plan_support_surface_anchors(composition_plan_json="", room_analysis_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
anchor_floorNo
anchor_wallsNo
room_analysis_jsonNo
include_updated_planNo
composition_plan_jsonYes
anchor_horizontal_supportsNo

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 provided, the description carries the burden of behavioral disclosure. It does disclose that the tool is 'local/read-only', works on 'dry-run placement steps', and operates 'before mutation', which is useful. However, it does not clarify whether 'updates dry-run placement steps' means it returns a modified plan, writes to internal state, or only validates positions, and it omits any behavior around limits, defaults, or output contents.

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 gives input context and a concrete example. The KB reference is a minor addition but not wasteful. It is reasonably sized for the tool's complexity, though the example only shows two parameters and omits the other seven schema properties.

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 specialized planner with no annotations, 7 parameters, 0% schema description coverage, and an output schema, the description gives enough orientation to attempt a call but not enough to use it confidently. It covers input types and high-level behavior but lacks parameter-level detail, pipeline ordering, and clarity on the dry-run update semantics. The output schema reduces the need to document return values, but the remaining gaps keep this from being complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning for composition_plan_json (interior composition, reconstruction, generated-asset binding, etc.), room_analysis_json (optional spatial_analyze_room output), and hints at anchor_floor/anchor_walls/anchor_horizontal_supports via 'counters, tables, shelves, walls, or floors'. But it leaves limit and include_updated_plan unexplained, and provides no detail on how the boolean toggles interact or what 'dry-run placement steps' means for the output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific action and resource: 'Plan floor, support-surface, and wall anchors for a composition.' The description further clarifies the consumed inputs and the goal of aligning props to surfaces. It is clear about what the tool does, though it does not explicitly contrast itself with sibling spatial planning tools such as spatial_plan_interior_prop_program or spatial_plan_room_bounds_designation.

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 states when this tool is appropriate: it is a local/read-only planner that updates dry-run placement steps before mutation, and it can consume several specific input types plus optional spatial_analyze_room output. This gives clear context for selection. It does not name exclusions or explicitly route to an alternative tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_plan_worldbuilding_work_orderA

Plan an executable interior worldbuilding work order.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local/read-only planner turns a design brief, optional screenshot evidence, optional room analysis, and optional project asset catalog into a staged Ghost workflow: measure, decompose, plan, resolve assets, prepare guarded Tripo generation, bind/apply, validate, and capture evidence. It does not run vision, mutate Unreal, or submit paid Tripo jobs.

Example: spatial_plan_worldbuilding_work_order(reference_image="C:/refs/apartment.png", design_brief="Rebuild this compact apartment kitchen")

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNolived-in realistic
max_itemsNo
room_typeNoapartment
room_originNo
content_pathNo/Game/Generated/SpatialInteriors
design_briefNo
required_propsNo
reference_imageNo
requested_zonesNo
room_dimensionsNo
scene_graph_jsonNo
actor_label_prefixNo
room_analysis_jsonNo
detected_items_jsonNo
minimum_asset_scoreNo
candidate_asset_pathsNo
max_candidates_per_propNo
include_architectural_fillNo
project_asset_catalog_jsonNo
generate_missing_with_tripoNo

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does so by declaring the tool local/read-only and stating it will not run vision, mutate Unreal, or submit paid Tripo jobs. This directly addresses side-effect and cost concerns, though it does not describe return-value details beyond what the output schema likely covers.

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 dense but efficient: a one-line purpose, a KB pointer, a clear scope sentence, and a concrete example. Every sentence earns its place and there is no redundancy with 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?

The description provides strong behavioral scope, a workflow outline, and a callable example, and the output schema covers return shape. However, the 20-parameter surface with no schema descriptions leaves many optional-but-important inputs unexplained, so completeness is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 20 parameters, so the description must compensate. It only groups a few inputs—design brief, screenshot evidence, room analysis, project asset catalog—and gives one example with reference_image and design_brief. Behavior-affecting parameters such as minimum_asset_score, max_candidates_per_prop, and include_architectural_fill receive no guidance.

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, object, and domain: it plans an executable interior worldbuilding work order. It also distinguishes itself from siblings by describing inputs, the staged workflow it produces, and explicitly listing actions it does not perform (vision, Unreal mutation, paid Tripo jobs).

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 read-only planner framing implies use for producing a plan rather than executing mutations, and the negatives clarify scope. However, it never explicitly names sibling tools or conditions such as 'use spatial_apply_composition_plan when you need execution', so selection guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_preflight_candidate_clearanceA

Check planned placement candidates against live actor bounds.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This read-only preflight builds conservative candidate bounds from a composition plan, then compares them to existing live Unreal actor bounds before any spawn/mutation step. It is a planning gate, not a physics simulation.

Example: spatial_preflight_candidate_clearance(composition_plan_json="", actor_query="Apartment")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tag_filterNo
actor_queryNo
class_filterNo
include_hiddenNo
clearance_paddingNo
room_analysis_jsonNo
ignore_actor_labelsNo
composition_plan_jsonYes

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 provided, the description carries the behavioral burden and does meaningful work: it declares the operation read-only, says it builds conservative candidate bounds, compares against live actor bounds, and explicitly disclaims physics simulation. It does not cover behavior such as failure modes or cost, but the key safety and mode traits are 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 compact and well ordered: a one-line purpose, a KB pointer, a two-sentence behavior explanation, and a concrete invocation example. Every line earns its place and the most important scoping information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given nine parameters, zero schema descriptions, and no annotations, this high-level description is insufficient for reliable invocation. It lacks the expected format of composition_plan_json, the meaning of actor_query relative to actor_label/class filters, units for clearance_padding, and the roles of the filter parameters. The output schema covers return values, but input semantics remain a major gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only implies semantics for composition_plan_json and actor_query through the example. The other seven parameters (limit, tag_filter, class_filter, include_hidden, clearance_padding, room_analysis_json, ignore_actor_labels) receive no explanation beyond their titles/defaults.

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 opening line uses a specific verb and resource: 'Check planned placement candidates against live actor bounds.' It further distinguishes the tool from mutation/spawn tools by calling it a 'read-only preflight' and a 'planning gate, not a physics simulation,' so an agent can differentiate it from siblings like spatial_apply_composition_plan or spawn_actor.

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 clearly states when to use it: 'before any spawn/mutation step' and as a preflight planning gate. It does not explicitly name alternative tools or exclusion conditions, so it stops short of full usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_preflight_interior_layoutA

Preflight an interior composition before editor placement.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner checks approximate room bounds, prop footprints, pairwise spacing, zone fit, support-surface hints, and circulation risks before the composition is placed or validated in live Unreal.

Example: spatial_preflight_interior_layout(composition_plan_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
pairwise_paddingNo
clearance_paddingNo
min_walkway_widthNo
room_analysis_jsonNo
include_suggestionsNo
composition_plan_jsonYes

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?

No annotations are present, so the description carries the disclosure burden. It states that this is a local preflight check rather than a live Unreal operation and describes the exact spatial criteria it inspects, implying a non-destructive analysis. It does not explicitly mention side effects or prerequisites, but the verb 'checks' and the word 'preflight' make the safety profile reasonably clear.

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 compact and front-loaded: a purpose line, a scope paragraph, and a concrete invocation example. There is no filler, though the KB pointer is terse and would benefit from a short inline hint about what it contributes.

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 six-parameter tool with no parameter descriptions or annotations, the description gives a useful behavioral overview and points to a KB section, while the output schema presumably covers return values. However, it lacks the JSON plan format, units for padding/walkway values, and explicit prerequisites or relationship to spatial_plan_interior_composition/spatial_validate_placement, so it is not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage across six parameters. The description only shows composition_plan_json in the example and never explains its internal structure, nor does it map pairwise_padding, clearance_padding, min_walkway_width, room_analysis_json, or include_suggestions to the listed checks. This is a significant gap for a JSON-based tool.

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?

Opens with 'Preflight an interior composition before editor placement,' giving a specific verb, resource, and lifecycle phase. The following sentence enumerates concrete checks (room bounds, prop footprints, pairwise spacing, zone fit, support-surface hints, circulation risks) and the phrase 'before ... validated in live Unreal' differentiates it from validation/placement siblings.

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 explicitly situates the tool in the pipeline: use it before editor placement or live validation, and identifies itself as a 'local planner.' It does not name sibling alternatives or exclusion cases, so it stops short of full when/when-not guidance, but the intended workflow position is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_preflight_screenshot_detectionsA

QA screenshot detections before reconstruction and Tripo generation.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner does not perform computer vision. It validates and normalizes agent/vision-supplied detected_items_json, checks crop box coverage, confidence, and overlap quality, then emits a normalized handoff for screenshot reconstruction.

Example: spatial_preflight_screenshot_detections(reference_image="C:/refs/apartment.png", detected_items_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
room_typeNoapartment
image_sizeNo
reference_imageYes
require_crop_boxesNo
detected_items_jsonYes
min_crop_area_ratioNo
confidence_thresholdNo

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 transparency burden and does a good job: it discloses validation/normalization of detected_items_json, checks crop-box coverage, confidence, and overlap quality, and emits a handoff. The phrase 'local planner' and the verb 'emits' imply a non-destructive, return-value operation, though an explicit read-only/no-side-effects statement would have been stronger.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, followed by a KB pointer, one clarifying behavioral note, and a short invocation example. Every sentence adds value and there is 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?

The description gives useful pipeline context and a KB reference, and the output schema covers return-value structure. However, for an 8-parameter tool with no annotations, it does not fully explain the optional parameters or explicitly route the agent among the many spatial_* sibling tools. It is adequate but leaves clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning to parameters. It clarifies the core inputs reference_image and detected_items_json and references confidence/crop/overlap checks that map to several optional parameters. However, parameters like image_size, limit, and room_type are left unexplained, leaving meaningful ambiguity for the agent.

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 names a specific verb and resource: QA/validate screenshot detections before reconstruction and Tripo generation. It also clearly distinguishes the tool from computer-vision and reconstruction siblings by stating it is a local planner that validates agent/vision-supplied detections and emits a normalized handoff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear when-to-use context: it is a preflight QA step before reconstruction and Tripo generation. It also signals a when-not-to-use boundary by stating it does not perform computer vision. It does not explicitly name alternative sibling tools or provide a decision rule, so it falls short of a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_prepare_screenshot_crop_manifestA

Write local prop crops for screenshot-driven Tripo image generation.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local tool accepts either detected_items_json plus a local reference image, or a screenshot reconstruction result with crop_tasks. It writes one PNG per crop box, updates image-to-model handoffs to real file paths, and returns an updated reconstruction JSON payload for the Tripo generation batch planner.

Example: spatial_prepare_screenshot_crop_manifest(reconstruction_plan_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
overwriteNo
image_sizeNo
padding_pxNo
min_crop_pxNo
crop_output_dirNoSaved/MCPChat/spatial_crops
reference_imageNo
detected_items_jsonNo
reconstruction_plan_jsonNo

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 provided, the description carries the full burden and does disclose real side effects: it 'writes one PNG per crop box' and 'updates image-to-model handoffs to real file paths,' and notes it is a 'local tool.' This is genuine behavioral value beyond the schema. But it omits the overwrite/destructive implications (overwrite defaults to true in the schema), and says nothing about failure behavior or prerequisites, leaving a meaningful transparency gap for a file-writing 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 one-line purpose, followed by a dense behavior paragraph and a concrete example; every sentence carries information. The KB pointer line is slightly cryptic and of marginal invocation value, but it is short. This is lean and well-ordered for a 9-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?

The tool is complex (9 params, 0% schema coverage, no annotations) and the description covers its core behavior, inputs, and return payload, with an output schema covering return values. But it lacks stated prerequisites (e.g., that reconstruction_plan_json comes from spatial_plan_screenshot_reconstruction or detected_items_json from spatial_preflight_screenshot_detections), leaves six parameters unexplained, and gives no failure-mode or overwrite guidance. Adequate for invocation but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does for the three invocation-critical parameters: detected_items_json, reference_image, and reconstruction_plan_json are explained through the two input modes, with reconstruction_plan_json shown in the example. However, the remaining six parameters (limit, overwrite, image_size, padding_px, min_crop_px, crop_output_dir) receive no semantic explanation at all, so the compensation is only partial for a 9-parameter tool.

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 opening line states a specific verb and resource: 'Write local prop crops for screenshot-driven Tripo image generation.' The description then details the mechanism (one PNG per crop box, handoff updates, returning a reconstruction JSON payload for the batch planner), which positions it distinctly from pipeline siblings like spatial_prepare_screenshot_decomposition_request, spatial_plan_screenshot_reconstruction, and spatial_prepare_tripo_generation_batch. An agent can tell 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?

The description gives clear invocation context by specifying two valid input modes: 'either detected_items_json plus a local reference image, or a screenshot reconstruction result with crop_tasks,' and it provides a concrete example call with reconstruction_plan_json. However, it never explicitly names alternatives or states when NOT to use this tool versus the spatial_ pipeline siblings, so it stops at clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_prepare_screenshot_decomposition_requestA

Prepare a vision-agent request for screenshot decomposition.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner does not run computer vision. It turns a reference screenshot, optional room bounds, and optional live room analysis into a strict detected_items_json contract, vision prompt, and handoffs into Ghost's screenshot preflight, scene graph, crop, Tripo, binding, placement, and validation workflow.

Example: spatial_prepare_screenshot_decomposition_request(reference_image="C:/refs/apartment.png", image_size=[1280, 720])

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
intentNo
max_itemsNo
room_typeNoapartment
image_sizeNo
room_originNo
reference_imageYes
room_dimensionsNo
prefer_crop_boxesNo
room_analysis_jsonNo
include_architectural_fillNo

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 of behavioral disclosure. It does disclose that 'This local planner does not run computer vision' and that it produces a contract and handoffs, which is useful. However, it does not state whether the tool is read-only, whether it has side effects, or what happens to the input files. Some behavioral gaps remain.

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 focused and information-dense, with a clear opening statement, a KB reference, a one-sentence functional summary, and a concrete example. No filler words. The structure is logical and front-loads the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the output schema exists and covers return values, the input parameter semantics are largely missing from the description. An agent would not know what values to provide for style, intent, max_items, room_type, room_origin, room_dimensions, prefer_crop_boxes, room_analysis_json, or include_architectural_fill. The description only scratches the surface with the example and the phrase 'optional room bounds.' This is not enough for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It only mentions 'reference screenshot, optional room bounds, and optional live room analysis' and shows an example with reference_image and image_size. The remaining nine parameters (style, intent, max_items, room_type, room_origin, room_dimensions, prefer_crop_boxes, room_analysis_json, include_architectural_fill) are left unexplained. This is insufficient for a tool with 11 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Prepare a vision-agent request for screenshot decomposition.' It then details what the tool does ('turns a reference screenshot, optional room bounds, and optional live room analysis into a strict detected_items_json contract, vision prompt, and handoffs'), and differentiates it from computer-vision-executing tools by stating 'This local planner does not run computer vision.' The example further clarifies the call signature.

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 clearly positions the tool as the planning/preparation step that feeds into 'Ghost's screenshot preflight, scene graph, crop, Tripo, binding, placement, and validation workflow,' and notes it does not run computer vision. This gives clear contextual guidance for when to invoke it, though it does not explicitly name alternative tools or state 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.

spatial_prepare_tripo_generation_batchB

Prepare a guarded Tripo generation batch for spatial compositions.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner accepts an interior composition, screenshot reconstruction output, or generated-asset binding output. It reconciles text and crop-based Tripo handoffs, keeps spend confirmation explicit, and returns the import, binding, placement, validation, and iteration follow-ups needed to finish the worldbuilding loop.

Example: spatial_prepare_tripo_generation_batch(composition_plan_json="")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
content_pathNo
session_nameNo
confirm_spendNo
prefer_image_cropsNo
composition_plan_jsonYes
include_text_fallbacksNo

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 says it 'keeps spend confirmation explicit' and is 'guarded', but it does not clarify whether this tool itself makes external calls, spends credits, or mutates state. It does not describe side effects, rate limits, or whether it is read-only. The term 'returns follow-ups' suggests a planning step, but the description is vague about what happens to the input and what the tool actually does beyond preparing a batch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise but includes a KB reference line and an example, which add some overhead. The core explanation is about 3 sentences, but it could be tightened by integrating the example into the text. It is not overly verbose, but it is not as lean as it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, only 1 required, and multiple input types), the description is incomplete. It does not explain the purpose of the optional parameters, nor how to choose among the three accepted input types. While an output schema exists, the description's mention of follow-ups is vague and does not clarify what the tool returns in terms of the workflow. It fails to provide enough context for an agent to correctly configure the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for its 7 parameters, and the description does not compensate. Only composition_plan_json is shown in an example, and the other six parameters (limit, content_path, session_name, confirm_spend, prefer_image_crops, include_text_fallbacks) are never explained. The description adds no meaning about what these parameters control or how they relate to the tool's behavior, leaving the agent to guess.

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 ('prepare'), a specific object ('a guarded Tripo generation batch'), and a clear domain ('for spatial compositions'). It further explains its role as a local planner that reconciles different input types and returns follow-ups, making it clearly distinct from sibling spatial planning tools like spatial_plan_interior_composition or spatial_prepare_screenshot_crop_manifest.

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 mentions it accepts an interior composition, screenshot reconstruction output, or generated-asset binding output, which gives a sense of when to use it. However, it does not explicitly state when NOT to use it, nor does it name alternative tools for different scenarios. It implies usage via input types but lacks explicit exclusions or comparisons with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_proximity_mapC

Map actors near an actor, the selected actor, or a world-space point.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

Example: spatial_proximity_map(actor="SM_CityBlock_A", radius=3000)

ParametersJSON Schema
NameRequiredDescriptionDefault
actorNo
limitNo
centerNo
radiusNo
tag_filterNo
class_filterNo
include_hiddenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 disclosure burden, but it does not state whether the operation is read-only, how the 'selected actor' is resolved, how hidden actors are handled, or what the resulting map contains. The example is illustrative but omits operational caveats.

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 compact and front-loaded with the core behavior, followed by a short KB reference and a concrete example. There is no filler, and the example demonstrates realistic parameter usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given seven optional parameters, no annotations, and no parameter documentation, the description is incomplete. It leaves critical call-site semantics undefined, such as parameter combinations, radius units, filtering behavior, and hidden-actor handling. The existing output schema may cover return values, but it cannot compensate for missing behavioral and parameter context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description only clarifies actor and radius through the example. It does not explain the center parameter format, the role of limit, tag_filter, class_filter, include_hidden, or how to choose among the three query modes. This is insufficient for a seven-parameter tool with no schema descriptions.

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 operation: 'Map actors near an actor, the selected actor, or a world-space point,' which clearly identifies the resource and spatial scope. It is understandable on its own, but it does not distinguish itself from the similar sibling tool spatial_query_actors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus spatial_query_actors, get_actors_in_level, find_actors_by_name, or other spatial query siblings. The KB reference is generic and does not explain selection conditions or exclusions. An agent cannot determine the right tool choice from this description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_query_actorsC

Find actors by name, class, tag, radius, and/or bounding box.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

Example: spatial_query_actors(query="door", center=[0, 0, 0], radius=2000)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
centerNo
radiusNo
box_maxNo
box_minNo
tag_filterNo
class_filterNo
include_hiddenNo
include_componentsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 only says 'Find actors' and gives an example; it does not disclose whether the operation is read-only, how include_hidden or include_components affect results, what happens when both radius and box are supplied, or any other behavioral characteristics beyond the stated filter capability.

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 compact and front-loaded: the core capability appears in the first sentence, followed by a KB pointer and a concrete example. There is no fluff or repetition. It could be slightly more structured, but for its length it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 10-parameter query tool with no annotations and an output schema, but the description still leaves significant gaps: it does not clarify spatial coordinate semantics, required pairings between center/radius or box_min/box_max, filter combination behavior, defaults, or the meaning of include_hidden and include_components. The example helps but is not sufficient for the full parameter surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for 10 undocumented parameters. It partially does by mentioning name, class, tag, radius, and bounding box, and by showing an example with query, center, and radius values. However, it leaves limit, include_hidden, include_components, box_min/box_max relationships, and default behaviors unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds actors and enumerates the filter dimensions: name, class, tag, radius, and/or bounding box. This distinguishes it from siblings like find_actors_by_name and find_actors_by_class by implying a combined/spatial query, 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance about when to use this tool versus siblings such as find_actors_by_name, find_actors_by_class, or get_actors_in_level. The example demonstrates a valid call but does not state when this broader spatial/combined query is preferred or when a simpler sibling would suffice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_resolve_project_assetsA

Resolve planned spatial props against existing project assets first.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This local planner accepts an interior composition or screenshot reconstruction plus a project asset catalog. It scores candidate /Game assets against planned props, emits asset_overrides_json for resolved matches, and hands unresolved props to the guarded Tripo batch planner.

Example: spatial_resolve_project_assets(composition_plan_json="", candidate_asset_paths=["/Game/Props/SM_Books.SM_Books"])

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
minimum_scoreNo
asset_catalog_jsonNo
candidate_asset_pathsNo
composition_plan_jsonYes
max_candidates_per_propNo
include_resolved_existingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 disclosure burden. It states this is a local planner, scores candidate /Game assets, emits asset_overrides_json, and hands unresolved props to a guarded Tripo planner. It does not fully clarify whether any external generation or mutation is triggered as a side effect, but the main behavioral traits are 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 compact, front-loaded with the core purpose, and follows with a concise pipeline explanation, a relevant example, and a knowledge-base pointer. Every sentence 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?

The narrative covers the tool's role, inputs, output, and downstream hand-off, and an output schema exists for return shape. However, with no annotations and minimal schema descriptions, the missing parameter details and prerequisites leave an agent to infer important configuration options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It gives meaning to composition_plan_json, candidate_asset_paths, and the project asset catalog, and the example clarifies a typical invocation, but limit, minimum_score, max_candidates_per_prop, and include_resolved_existing remain unexplained.

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 opening sentence names the precise action and resource: resolve planned spatial props against existing project assets. The body adds the pipeline role, scoring behavior, and emitted output (asset_overrides_json), clearly distinguishing it from cataloging and Tripo generation siblings.

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 'first' instruction and the hand-off to the guarded Tripo batch planner define where this tool fits in the workflow. It clearly implies the need for a composition/screenshot reconstruction and an asset catalog, though it does not explicitly list when to prefer sibling tools such as spatial_catalog_project_assets or spatial_prepare_tripo_generation_batch.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_scene_overviewA

Summarize live level actors and resolve explicit local content bounds.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

The optional local_actor_query establishes a read-only local scope over observed physical-content actor labels, names, classes, paths, tags, or asset paths. Selection takes precedence. Without selection, a matching explicit query, or exactly one authored Ghost.RoomBounds actor, local bounds fail closed as ambiguous.

Example: spatial_scene_overview(local_actor_query="Enclave", limit=50)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tag_filterNo
class_filterNo
include_hiddenNo
local_actor_queryNo
include_actor_samplesNo

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 supplied, the description carries the full behavioral burden and does disclose the important traits: the operation is read-only, scope selection has precedence, and ambiguous local bounds fail closed. It does not explain default behavior for include_hidden, filter interactions, or sample inclusion, but the read-only and fail-closed guarantees are the most safety-relevant details.

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 definition front-loads the core purpose, adds a KB pointer, explains the central parameter semantics, and ends with a concrete example. It is compact and every sentence serves a purpose, though some phrasing like 'resolve explicit local content bounds' is jargon-heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main scoping mechanism and failure mode, and an output schema exists, which lowers the burden of explaining return values. Given the six optional parameters and the large sibling list of spatial read tools, it leaves gaps around how filters and boolean parameters combine and when spatial_scene_overview should be chosen over spatial_query_actors or get_actors_in_level.

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 local_actor_query richly, covering labels, names, classes, paths, tags, and asset paths, and it shows limit in the example. However, the other five parameters—tag_filter, class_filter, include_hidden, include_actor_samples, and the limit default—are left to inference from their 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 opening sentence states a concrete action and target: 'Summarize live level actors and resolve explicit local content bounds.' This distinguishes it as an overview/read operation rather than a mutation or spawn tool, but it does not explicitly differentiate it from sibling read tools like spatial_query_actors or get_actors_in_level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear scoping rules: local_actor_query establishes a read-only local scope, selection takes precedence, and absence of a query or exactly one Ghost.RoomBounds actor fails closed as ambiguous. It also includes a concrete invocation example. It does not name alternatives or state when not to use the tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_select_actorsB

Resolve actors by spatial filters and optionally select/focus them.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

Dry-run mode executes a read-only actor resolution pass. Editor selection and viewport focus require dry_run=false and allow_mutation=true.

Example: spatial_select_actors(query="Market", tag_filter="Gameplay_POI", dry_run=True)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actorsNo
centerNo
radiusNo
box_maxNo
box_minNo
dry_runNo
tag_filterNo
class_filterNo
allow_mutationNo
focus_distanceNo
focus_viewportNo
include_hiddenNo
selection_modeNoreplace
allow_empty_selectionNo

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 and does disclose an important behavioral distinction: dry-run is a read-only resolution pass while selection/focus require explicit mutation opt-in. However, it does not explain side effects of editor selection, the meaning of focus_distance, selection_mode, include_hidden, or what happens to prior selections.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main verb and resource, then adds a useful KB pointer, mode/gating semantics, and an example. Every sentence earns its place, though the example and KB line could arguably be integrated more cleanly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 16-parameter tool with zero schema descriptions and no annotations, this description is not complete enough. It gives clear mode semantics but lacks explanation of spatial filter types, coordinate formats, filtering precedence, selection behavior, and focus behavior. The presence of an output schema does not compensate for missing parameter and side-effect guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate, but it only touches query, tag_filter, and dry_run through the example. The remaining 13 parameters—including center, radius, box_min/max, selection_mode, focus_viewport, include_hidden, and allow_empty_selection—receive no explanation, leaving the agent without enough semantic grounding.

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 ('Resolve actors') and resource ('actors by spatial filters'), and it also indicates the optional selection/focus capability. It is understandable on its own, but it does not explicitly differentiate itself from the nearby sibling tool spatial_query_actors, 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit operational guidance: dry-run mode is read-only, and editor selection plus viewport focus require dry_run=false and allow_mutation=true. It also includes a concrete example invocation. It does not name alternatives or give exclusion criteria, but the context for when to use mutation vs. dry-run is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_surface_probeA

Probe surfaces with downward traces and return placement locations.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This read-only tool adds surface awareness to Ghost's dry-run-first placement workflow. It uses public Unreal Python trace APIs and returns surface normals, hit actors, and placement handoff templates.

Example: spatial_surface_probe(center=[0, 0, 0], grid_count=9, grid_spacing=500)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
centerNo
pointsNo
trace_upNo
grid_countNo
trace_downNo
grid_spacingNo
trace_channelNovisibility
include_handoffNo
placement_offsetNo
ignore_actor_queryNo

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 provided, the description carries the full burden of behavioral disclosure. It clearly states the tool is read-only, uses public Unreal Python trace APIs, and returns data rather than mutating scene state. This is meaningful transparency, though it does not mention potential performance costs of large grids or failure behavior when no surface is hit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the first sentence states the core behavior, the second adds workflow and output detail, and the example provides a concrete call shape. Every sentence contributes value without unnecessary padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 11 parameters and zero inline schema descriptions, the description is not complete enough for an agent to invoke it correctly in all intended cases. It explains the overall purpose and gives a simple example, but leaves major parameter semantics undocumented despite the high parameter count and absence of annotation support.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only illustrates center, grid_count, and grid_spacing via an example. The remaining eight parameters—such as trace_up, trace_down, points, limit, trace_channel, placement_offset, and ignore_actor_query—have no semantic explanation in either the schema or the description.

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 action ('Probe surfaces with downward traces') and the result ('return placement locations'). It also names concrete outputs ('surface normals, hit actors, and placement handoff templates'), making it easy to distinguish from sibling tools such as spatial_validate_placement or spatial_query_actors.

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 gives useful context by saying this tool 'adds surface awareness to Ghost's dry-run-first placement workflow,' which implies when it is relevant. However, it does not explicitly say when to prefer this tool over alternatives, nor does it mention any exclusions or complementary tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spatial_validate_placementA

Validate placed actors against nearby surfaces and bounds overlap.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

This is a read-only post-placement bridge. It reports whether actor bounds appear on-surface, floating, below/intersecting, missing a trace hit, or potentially overlapping nearby actor bounds.

Example: spatial_validate_placement(tag_filter="Gameplay_POI", surface_tolerance=15)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actorsNo
centerNo
radiusNo
trace_upNo
tag_filterNo
trace_downNo
ignore_selfNo
class_filterNo
trace_channelNovisibility
include_hiddenNo
clearance_paddingNo
surface_toleranceNo
include_evidence_handoffNo

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 provided, the description carries the behavioral burden. It explicitly states 'read-only' and says the tool 'reports' rather than modifies, which is a clear safety disclosure. It also reveals trace-dependent behavior by mentioning 'missing a trace hit' and lists the concrete diagnostic categories.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a clear purpose line, a KB pointer, a behavioral summary, and a relevant example. It is front-loaded with the most important information and contains no filler.

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 15 mostly undocumented optional parameters and no annotations, and the description explains only two of them via example. It gives strong high-level context and the output schema covers return values, but an agent still lacks enough guidance on how to target actors, configure traces, or interpret parameters like clearance_padding and include_evidence_handoff.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for 15 parameters. It only illustrates tag_filter and surface_tolerance via the example; the remaining parameters—query, actors, center, radius, trace_up, trace_down, ignore_self, class_filter, trace_channel, include_hidden, clearance_padding, include_evidence_handoff—are left to be inferred from their names and defaults. That is insufficient compensation.

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 leads with a specific verb and resource: 'Validate placed actors against nearby surfaces and bounds overlap.' It further enumerates the exact diagnostic outcomes—on-surface, floating, below/intersecting, missing trace hit, overlapping—which clearly distinguishes it from sibling tools like spatial_query_actors or spatial_surface_probe.

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 'post-placement bridge' implies this should be used after actors have been placed, and the example shows a concrete invocation. However, it does not explicitly say when to prefer this tool over alternative spatial validation/query tools, nor does it describe 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.

spatial_view_contextC

Read viewport camera context, selected actors, and nearby actors.

KB: see knowledge_base/10_WORLD_BUILDING.md#9-world-building-best-practices

Example: spatial_view_context(nearby_radius=5000)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
nearby_radiusNo
include_nearbyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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. The leading verb 'Read' suggests a read-only operation, but the description does not disclose whether any state is touched, whether the viewport must be open, how expensive the query is, or other behavioral traits. The KB reference and example do not compensate for this.

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 stated in a single front-loaded sentence, followed by a KB link and a compact call example. There is minimal waste, though the KB pointer is more of a reference than core guidance and adds little for tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and zero parameter descriptions, the definition provides only a high-level read list, an example, and a KB pointer. It does not cover parameter meaning, selection criteria among the large spatial_* sibling family, or operational context, leaving material gaps for an agent deciding whether and how to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the three parameters, and the description does not explain limit, include_nearby, or precisely define nearby_radius beyond its name and the example call. The example demonstrates one parameter but leaves the boolean and limit semantics to inference.

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 ('Read') and names three concrete resources: viewport camera context, selected actors, and nearby actors. This clearly identifies it as a read-only scene-context tool, though it does not explicitly contrast it with sibling 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?

The description implies the tool is for observing the current spatial context, but gives no explicit when-to-use guidance, no exclusions, and no alternatives. With many overlapping sibling tools such as spatial_query_actors, spatial_scene_overview, and spatial_proximity_map, an agent is left to infer when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spawn_actorA

Spawn a new actor in the current level.

Args: name: Unique name for the actor type: Actor type (StaticMeshActor, PointLight, Camera, etc.) location: [X, Y, Z] world location rotation: [Pitch, Yaw, Roll] in degrees

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: spawn_actor(name="ExampleName", type="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
typeYes
locationNo
rotationNo

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 behavioral burden. It discloses that spawning occurs in the current level, that names must be unique, and that location is world-space while rotation is in degrees. It does not describe failure modes or return values, but the output schema partially covers that and the mutation intent is explicit.

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 compact and well-organized: a one-line purpose, an args block, a KB pointer, and an example. It is front-loaded and contains no wasted narrative, though the example is somewhat artificial and the arg list could be tightened.

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 4-parameter spawn tool with an output schema, the description explains all inputs and points to a KB resource for deeper world-building context. It is sufficient for selecting and invoking the tool, though duplicate-name failure behavior and exact return semantics are not addressed.

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%, and the description fully compensates by defining every parameter: unique name, actor type with examples, [X, Y, Z] world location, and [Pitch, Yaw, Roll] rotation in degrees. The example call further clarifies invocation syntax.

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 ('Spawn'), resource ('actor'), and scope ('in the current level'). The actor type list (StaticMeshActor, PointLight, Camera) and the sibling spawn_blueprint_actor make its purpose as a general native-actor spawner clearly distinguishable.

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 context through 'current level' and the actor type examples, but it never explicitly states when to use this tool versus alternatives like spawn_blueprint_actor. There is no exclusion or conditional guidance, leaving the agent to infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spawn_blueprint_actorB

Spawn an actor in the level from a Blueprint class.

Args: blueprint_name: Name of the Blueprint asset actor_name: Name to give the spawned actor location: [X, Y, Z] world location rotation: [Pitch, Yaw, Roll] in degrees

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: spawn_blueprint_actor(blueprint_name="/Game/MCP_Test/BP_Example", actor_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNo
rotationNo
actor_nameYes
blueprint_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 of behavioral disclosure. It states the spawning action but does not mention possible failure modes, whether an existing actor with the same name is affected, persistence of the spawned actor, or any level state changes. This leaves important behavioral traits undisclosed.

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 compact and well organized: a one-line summary, a clear Args block, a KB pointer, and a practical example. Every section earns its place, and the most important information is front-loaded. The formatting is slightly mechanical but not wasteful.

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 output schema exists and parameters are well documented, the description is adequate for calling the tool. However, it omits sibling differentiation and behavioral expectations, which are relevant in a toolset with 'spawn_actor' and many blueprint-node spawning tools. It is a minimum-viable description rather than a fully contextual one.

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 description coverage, the description must compensate, and it does: each of the four parameters is given meaningful semantics ('Name of the Blueprint asset', 'Name to give the spawned actor', '[X, Y, Z] world location', '[Pitch, Yaw, Roll] in degrees'). The example also clarifies the asset-path format. It adds clear value over 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 clearly states a specific action and resource: 'Spawn an actor in the level from a Blueprint class.' This is a precise verb+object pairing. However, it does not explicitly contrast itself with the similarly named sibling 'spawn_actor', so it slightly misses an opportunity for differentiation.

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 an example invocation and parameter list, which explains how to call the tool, but it gives no guidance on when this tool should be chosen over alternatives like 'spawn_actor' or 'add_spawn_actor_node'. There are no exclusions, prerequisites, or context for selection among the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statetree_add_stateA

Add a root subtree or child state to a StateTree asset.

Args: state_tree: StateTree asset path or object path. name: State display name to add. parent_state: Optional parent state name or GUID. Empty uses the first root. description: Optional editor description for the state. state_type: "state", "group", "linked", "linked_asset", or "subtree". as_subtree: Add as a top-level subtree instead of child state. enabled: Initial enabled flag. save: Save the asset after mutation.

Returns: Structured JSON with inserted state details and state counts.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: statetree_add_state(state_tree="/Game/AI/StateTrees/ST_CombatBrain", name="Patrol", parent_state="Root")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
saveNo
enabledNo
as_subtreeNo
state_treeYes
state_typeNostate
descriptionNo
parent_stateNo

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 supplied, so the description must carry behavioral weight. It makes the mutation explicit ('Save the asset after mutation'), explains parent selection fallback, and documents the as_subtree mode. It does not cover failure modes, reversibility, permissions, or side effects on linked/grouped states, so it is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose sentence is front-loaded, and each subsequent block (Args, Returns, KB reference, Example) contributes non-redundant information. It is detailed without filler, with the example placed last as a quick reference.

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 an 8-parameter mutation tool with no annotations, the description covers every parameter, the return shape, and a realistic example, plus a KB pointer. It is only missing explicit guidance about when to prefer this over sibling StateTree tools and what asset prerequisites must hold.

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%, and the Args block compensates fully by describing all eight parameters, including the state_type enum values, parent_state GUID/empty-root behavior, and as_subtree semantics. The example call further clarifies how state_tree and parent_state are used together.

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 opening sentence states exactly what the tool does: 'Add a root subtree or child state to a StateTree asset.' It names a specific verb, resource, and the two insertion modes, which distinguishes it from sibling tools like statetree_create and statetree_inspect.

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 the purpose line and a concrete example call, but the description does not explicitly compare this to statetree_create or statetree_inspect, nor does it state when not to use it. Prerequisites such as an existing StateTree asset are not called out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statetree_createA

Create a StateTree asset with an editor schema.

Args: name: Asset name to create. path: Content Browser folder under /Game. schema_class: StateTree schema class, short name or /Script path. overwrite: Delete an existing asset before creation. save: Save the asset package after creation.

Returns: Structured JSON with asset path, schema class, and readiness info.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: statetree_create(name="ST_CombatBrain", schema_class="StateTreeComponentSchema")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo/Game/AI/StateTrees
saveNo
overwriteNo
schema_classNo/Script/GameplayStateTreeModule.StateTreeComponentSchema

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so well: it discloses the create behavior, the destructive overwrite side effect, the save behavior, and the structured JSON return. The overwrite line explicitly tells the agent that an existing asset will be deleted before creation, which is important behavioral context.

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 well-structured with Args, Returns, KB, and Example sections. Each sentence adds value, there is no filler, and the purpose is front-loaded before the parameter details.

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 description covers all five parameters, the return shape, a KB reference, and an example, making it largely complete for invocation. It is slightly incomplete on failure/conflict behavior, such as what happens when overwrite=false and the asset already exists, or whether missing folders are created.

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?

The input schema provides no descriptions for parameters, so the description fully compensates. Every parameter is explained with actionable meaning, especially schema_class, which includes "short name or /Script path" guidance beyond the schema, and overwrite, which clearly states the deletion behavior.

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 first sentence states a specific verb and resource: "Create a StateTree asset with an editor schema." It is clear about what the tool does, but it does not explicitly differentiate itself from sibling tools like statetree_inspect or statetree_add_state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives such as statetree_add_state or mass_create_entity_config. It implies a creation workflow via the example, but there are no usage conditions, exclusions, or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statetree_inspectA

Inspect a StateTree asset's schema, readiness, and editor state hierarchy.

Args: state_tree: StateTree asset path or object path.

Returns: Structured JSON with schema, compiled state count, and state hierarchy.

KB: see knowledge_base/23_MASS_ENTITY_AND_STATETREE.md#mcp-mass-statetree-and-smartobject-tools Example: statetree_inspect(state_tree="/Game/AI/StateTrees/ST_CombatBrain")

ParametersJSON Schema
NameRequiredDescriptionDefault
state_treeYes

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?

No annotations are provided, so the description carries the full burden. 'Inspect' strongly implies a read-only operation, and the Returns line clarifies the output shape. However, it does not explicitly state that the asset is not modified, nor does it mention preconditions like the asset needing to be compiled or ready.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear Args, Returns, KB, and Example sections. Each section adds useful context, and the core purpose is front-loaded. The KB pointer is slightly extra but 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 single-parameter read-only inspection tool, the description covers the input, output, and provides a KB reference and example. Minor gaps remain around the meaning of 'readiness' and any error/edge-case behavior, but the existing output schema and example reduce the need for more detail.

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 schema only defines state_tree as a string with 0% description coverage, so the description must compensate. The Args line clarifies it as a 'StateTree asset path or object path' and the example provides a concrete realistic path, adding meaningful guidance beyond the raw 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?

The description states a specific verb ('Inspect'), a clear resource ('StateTree asset'), and the exact aspects inspected ('schema, readiness, and editor state hierarchy'). This clearly distinguishes it from sibling tools like statetree_create and statetree_add_state, which are mutation-oriented.

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 inspect-only nature is implied by the verb and the sibling context, but the description never explicitly says when to use this tool versus alternatives such as statetree_create or statetree_add_state. There are no exclusion criteria or conditions for choosing a different tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

take_screenshotC

Take a screenshot of the Unreal Editor viewport.

The native bridge expects filepath; keep the public filename argument for compatibility and forward both names.

KB: see knowledge_base/10_WORLD_BUILDING.md#overview Example: take_screenshot()

ParametersJSON Schema
NameRequiredDescriptionDefault
show_uiNo
filenameNoscreenshot
resolutionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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 of behavioral disclosure. It does add one genuinely useful trait — the native bridge expects `filepath` and the public `filename` is kept for compatibility and forwarded — but it never discloses where the screenshot is written, what side effects occur, or whether a running editor session is required.

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 compact and front-loaded, stating the purpose first, followed by the bridge nuance, a KB pointer, and a concrete call example. It is efficient, though the KB reference is terse and the example adds no parameter variety.

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 are covered, but the description otherwise leaves notable gaps: two of three parameters are undocumented across both schema and description, there is no differentiation from the overlapping sibling `viewport_capture_screenshot`, and no prerequisites are stated. For a tool with zero annotations and 0% schema coverage, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the schema's silence. It adds meaning only to `filename` via the filepath-forwarding explanation; `show_ui` and `resolution` remain completely unexplained in both the schema and the description, leaving two of three parameters opaque to the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource: 'Take a screenshot of the Unreal Editor viewport.' This is clear and unambiguous. However, it does not distinguish itself from the near-identical sibling `viewport_capture_screenshot`, so it misses the differentiation that would earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as `viewport_capture_screenshot` or `renderer_capture_viewmode`. The bridge note about `filepath`/`filename` is an implementation detail, not usage guidance, and there are no exclusions or preconditions stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

texture_audit_memoryA

Inspect Texture2D size, compression, streaming flags, mips, and memory estimate.

Args: texture_path: Texture2D asset path to audit

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: texture_audit_memory(texture_path="/Game/MCP_Test/T_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
texture_pathYes

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?

No annotations are present, so the description carries the behavioral transparency burden. The verb 'Inspect' implies a read-only operation and the field list suggests no mutation, but the description does not explicitly confirm side-effect-free behavior, asset-loading requirements, or failure conditions. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the tool's purpose, followed by a one-parameter args block, a KB pointer, and a concrete example. Every line adds 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?

For a single-parameter inspection tool with an output schema, the description provides enough to invoke it correctly: the target resource type, the inspected properties, the parameter meaning, and an example. It loses one point because it omits guidance about when this tool is the right choice among related inspect/audit siblings.

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 for the schema's bare string type. It does so by explaining texture_path as the 'Texture2D asset path to audit' and providing a concrete valid example path, fully disambiguating the parameter.

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 ('Inspect') and a specific resource ('Texture2D'), then lists the exact attributes covered: size, compression, streaming flags, mips, and memory estimate. This clearly distinguishes it from texture-generation or material-audit siblings.

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 an example invocation and a KB reference, but it does not state when to use this tool versus alternatives such as ue_describe_asset or mesh_audit_uv_channels. No exclusions, prerequisites, or sibling routing guidance are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

texture_generate_ormA

Generate a packed ORM Texture2D asset for technical-art material pipelines.

The output packs Occlusion into R, Roughness into G, Metallic into B, and alpha to 255. If a source texture path is omitted or cannot be sampled, the matching flat default value is used.

Args: output_name: Texture asset name, e.g. "T_Prop_ORM" folder_path: Content Browser folder for the generated texture occlusion_texture_path: Optional grayscale/source texture for R roughness_texture_path: Optional grayscale/source texture for G metallic_texture_path: Optional grayscale/source texture for B occlusion_channel: Source channel to sample, one of r/g/b/a roughness_channel: Source channel to sample, one of r/g/b/a metallic_channel: Source channel to sample, one of r/g/b/a occlusion: Flat fallback value 0.0-1.0 roughness: Flat fallback value 0.0-1.0 metallic: Flat fallback value 0.0-1.0 width: Generated texture width when flat/default data is used height: Generated texture height when flat/default data is used overwrite: Delete/recreate an existing asset at the same path save: Save the generated texture package immediately

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: texture_generate_orm(output_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
widthNo
heightNo
metallicNo
occlusionNo
overwriteNo
roughnessNo
folder_pathNo/Game/Materials/Textures
output_nameYes
metallic_channelNor
occlusion_channelNor
roughness_channelNor
metallic_texture_pathNo
occlusion_texture_pathNo
roughness_texture_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and delivers: it discloses the channel-packing format, the deterministic fallback when a source path is omitted or unsampleable, and the destructive overwrite semantics ('Delete/recreate an existing asset at the same path'). The save parameter and the conditional width/height behavior add operational context the schema does not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and output behavior, then a scannable Args block that earns its length given the 0% schema coverage. The KB reference and minimal invocation example close it out with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter tool with no annotations and no schema descriptions, the description covers purpose, fallback behavior, destructive side effects, and every parameter's semantics, while the output schema presumably covers return values. Small gaps remain: behavior when an existing asset is present with overwrite=false and whether folder_path is auto-created.

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 Args block must document all 15 parameters—and it does comprehensively: texture paths are mapped to output channels R/G/B, channel params are given allowed values (r/g/b/a), flat values get ranges (0.0-1.0), and overwrite/save receive behavioral definitions. The 'T_Prop_ORM' naming example and the path-to-fallback pairing add meaning entirely absent from 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?

States a specific verb and resource: 'Generate a packed ORM Texture2D asset for technical-art material pipelines.' The channel mapping (Occlusion→R, Roughness→G, Metallic→B, alpha 255) precisely defines the deliverable, distinguishing the tool sharply from sibling texture tools like import_texture and texture_audit_memory.

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 context is clear: the tool is scoped to technical-art material pipelines, and the optional-source/fallback-value design makes the packing use case obvious. However, it never names alternatives or states when not to use it (e.g., using import_texture for raw single-channel maps), so exclusion logic 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.

tool_contribution_contractC

Describe how Ghost tools can be contributed, discovered, and reviewed.

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNojson

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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 of behavioral disclosure. The verb 'Describe' implies a read-only, informational operation and no mutation, which is useful. However, it does not state what the tool actually returns, whether response_format alters the output, or if any restrictions or prerequisites apply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word contributes, but the brevity leaves out details that could have been conveyed in an additional sentence without harming conciseness.

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, one-parameter documentation tool with an output schema, the description is minimally viable: it names the topic and implies an informational return. It is not complete, because it omits usage criteria and parameter semantics, but the low complexity and output schema prevent it from being wholly inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, response_format, is not mentioned or explained in the description, and the schema provides zero descriptive coverage. An agent cannot infer what values are valid or how response_format affects the returned contract.

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 informative verb ('Describe') and a concrete resource ('how Ghost tools can be contributed, discovered, and reviewed'). It is not tautological and an agent can tell this is a documentation/contract tool, though it does not explicitly contrast itself with nearby discovery tools such as list_available_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?

No guidance is given on when to invoke this tool instead of alternatives like list_available_tools, ghostrigger_list_mcp_tools, or get_knowledge_base. There is no when-not-to-use instruction or contextual trigger to help an agent route a user request correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_describe_assetA

Return detailed metadata for an asset in the Content Browser.

Gives the class, disk path, dependencies, and editable properties for any asset at the given Content Browser path.

Args: asset_path: Content Browser path (e.g. "/Game/Blueprints/BP_Player", "/Game/Materials/M_Rock", "/Game/Characters/SK_Bastila")

Returns: JSON string: { "success": true, "asset_path": "/Game/...", "exists": true, "class_name": "Blueprint", "disk_path": "C:/Project/Content/...", "object_path": "/Game/.../BP_Player.BP_Player", "metadata": {...} }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_describe_asset(asset_path="/Game/MCP_Test/Example")

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?

No annotations are provided, so the description carries the burden of behavioral disclosure. It clearly indicates this is a metadata retrieval operation, shows an exists field for missing assets, and gives a JSON return shape. It does not explicitly state 'read-only/no mutation,' but the verb 'Return' strongly implies a safe query.

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, then uses clear Args/Returns sections, a KB pointer, and a usage example. Each section adds practical value without filler or repetition.

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?

With a single well-documented parameter, a detailed return example, and an output schema available, the description covers everything needed to invoke the tool correctly. The KB pointer and example further reduce ambiguity.

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 coverage is 0%, so the description must fully document the parameter. It defines asset_path as a Content Browser path and supplies three concrete examples covering common asset types. This is sufficient for an agent to construct a valid argument despite 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?

The action is clear: return metadata for an asset in the Content Browser. It specifies the resource (asset at a Content Browser path) and explicitly lists the metadata categories (class, disk path, dependencies, editable properties), which separates it from find/search siblings like ue_find_assets_by_class.

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 tool should be used when an agent needs asset metadata at a known Content Browser path, and it provides a KB pointer. However, it does not explicitly contrast it with related tools such as ue_find_assets_by_class, get_actor_identity, or project_get_references, nor does it state 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.

ue_exec_progressA

Run a Python snippet inside a ScopedSlowTask with a progress dialog.

Use this for long-running operations (bulk imports, retargeting, etc.) to keep the UE5 editor responsive and show a cancel button.

Your code can call: _task.enter_progress_frame(N, "Step description") to advance the progress bar by N units.

Args: code: Python snippet to execute with progress reporting task_name: Label shown in the Unreal progress dialog total_work: Total work units for the progress bar (default 100)

Returns: JSON string with StructuredResult.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: ue_exec_progress(code="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
task_nameNoMCP Task
total_workNo

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?

Description explains how to advance the progress bar using enter_progress_frame and mentions a cancel button. This is valuable behavioral context beyond annotations (none provided). However, it doesn't detail error handling or side effects, but the core interaction pattern is well covered.

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?

Concise, well-structured with clear sections for description, usage context, and example. Key information is front-loaded. The example is helpful and keeps it 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?

The tool has a output schema but its structure is not described, and no annotations are provided. The description covers the main usage pattern (progress reporting) and example, but does not explain return value structure or error scenarios. However, for a Python execution tool, this seems sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter descriptions in the example are minimal ('Python snippet to execute', 'Label shown in the Unreal progress dialog', 'Total work units'). Schema coverage is 0%, so description must compensate. It adds some meaning but could be more explicit about the format of code and expected behavior of total_work.

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?

Clearly states it runs a Python snippet with a progress dialog, distinguishing it from exec_python which lacks progress UI. The description explains the purpose and context for long-running operations.

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 when to use: long-running operations like bulk imports. It doesn't explicitly state when not to use or mention alternatives, but the context is clear enough to differentiate from exec_python.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_exec_safeA

Run a Python snippet inside Unreal Engine with automatic structured error handling.

Unlike the raw exec_python, this tool:

  • Wraps code in a try/except that always produces valid JSON

  • Returns a normalised StructuredResult with success, stage, message, outputs, warnings, errors, and log_tail

  • Is safe to call from the AI without worrying about parse failures

Your code should populate these variables: _result : dict — key/value outputs to return to the caller _warnings : list — non-fatal warnings _errors : list — error messages (also raised via exception)

Example code: import unreal bp = unreal.load_asset('/Game/Blueprints/BP_Player') if bp: _result['class_name'] = bp.get_class().get_name() else: _errors.append('Blueprint not found')

Args: code: Python snippet to execute in Unreal Engine stage_name: Descriptive name for the operation (used in result.stage)

Returns: JSON string with StructuredResult: { "success": true, "stage": "script", "message": "Operation completed", "outputs": {...}, "warnings": [], "errors": [], "log_tail": [] }

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: ue_exec_safe(code="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
stage_nameNoscript

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full behavioral burden, and it largely succeeds: it discloses the try/except wrapper, always-valid JSON guarantee, normalized StructuredResult fields, and the expected _result/_warnings/_errors variable contract. It does not discuss side effects or rollback risks of arbitrary Python execution, which is a notable omission, but the behavior is still well documented.

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 and differentiation, then moves through behavior, code contract, args, return format, KB pointer, and example in a scannable structure. While longer than a simple tool description, every section earns its place for a Python-execution tool.

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 sparse schemas, no annotations, and a non-trivial code-authoring contract, the description covers inputs, output structure, error semantics, expected variables, and usage context. An agent has enough information to call the tool correctly and interpret its result.

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 define the parameters itself. It explains code as a Python snippet, documents the variables the snippet should populate, and defines stage_name as the operation name used in result.stage. The worked example further clarifies expected usage.

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 action (“Run a Python snippet”) and resource (“inside Unreal Engine”), then immediately distinguishes itself from the sibling exec_python by describing its structured error-handling behavior. The tool's purpose is clear and unlikely to be confused with other siblings.

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 explicitly contrasts the tool with “raw exec_python” and highlights when this variant is preferable, i.e., when the AI needs structured results and protection from parse failures. It does not explicitly state when raw exec_python would be the better choice, but the guidance is otherwise clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_exec_transactA

Run a Python snippet inside a named ScopedEditorTransaction.

Wraps the code in an Unreal transaction so that the entire operation appears as ONE undo step in the UE5 editor. If the code raises an exception, the transaction is cancelled and the editor state is rolled back to its pre-transaction position.

This is the PREFERRED way to run any mutating Unreal Python:

  • Blueprint modifications

  • Asset property changes

  • Component additions

  • Material edits

Your code should populate _result{}, _warnings[], _errors[] as needed (same contract as ue_exec_safe).

Args: code: Python snippet to execute inside the transaction transaction_name: Name shown in the UE5 Edit menu under Undo History

Returns: JSON string with StructuredResult.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: ue_exec_transact(code="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
transaction_nameNoMCP Operation

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It explains transaction semantics clearly: the operation appears as one undo step, exceptions cancel the transaction and roll back editor state, and the code should populate _result{}, _warnings[], and _errors[]. This is substantial, though it stops short of discussing permissions, limitations, or side-effect warnings.

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 organized into clear sections: summary, behavior, preferred usage, args, returns, KB reference, and example. It is slightly long but each section serves a purpose, and the key transaction behavior is front-loaded.

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 tool that executes arbitrary Python in a transaction, the description covers the critical aspects: what the transaction does, rollback behavior, expected output contract, parameter semantics, and a KB pointer. It does not fully detail the StructuredResult shape, but the presence of an output schema reduces that burden.

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. Both parameters are described in the Args section: 'code' is the Python snippet and 'transaction_name' is the name shown in the UE5 Edit menu Undo History. The description also adds the result contract, giving meaning beyond 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?

The description opens with a specific verb and resource: 'Run a Python snippet inside a named ScopedEditorTransaction.' It clearly explains that code is wrapped in an Unreal transaction and also differentiates the tool from siblings by stating it is the preferred way to run mutating Unreal Python.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: it is the preferred tool for any mutating Unreal Python, with concrete examples like Blueprint modifications and asset property changes. It does not explicitly name when-not-to-use or point to ue_exec_safe as the non-transactional alternative, but the context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_find_assets_by_classA

Find all Content Browser assets of a given UClass.

Args: class_name: UClass name filter (e.g. "Blueprint", "StaticMesh", "Material", "AnimSequence", "SoundWave") search_path: Content Browser root to search (default "/Game/") limit: Maximum number of results (default 50)

Returns: JSON string: { "success": true, "class_name": "Blueprint", "search_path": "/Game/", "assets": ["/Game/Blueprints/BP_Player", ...], "count": 12, "truncated": false }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_find_assets_by_class(class_name="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
class_nameYes
search_pathNo/Game/

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 transparency burden. It discloses the return JSON shape including success/count/truncated, default search_path and limit, and provides an example call. It does not explicitly state whether the operation is read-only, though 'Find' and the returned shape strongly imply no 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 a one-sentence purpose, followed by compact Args/Returns/KB/Example sections. Each section adds usable detail without redundancy; the docstring is long but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with three parameters, the description covers input semantics, defaults, output format, truncation flag, and a concrete example. The KB pointer supplements guidance. Nothing essential for invoking the tool correctly is missing.

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%, but every parameter is explained in the Args block: class_name as a UClass name filter with examples, search_path as Content Browser root, and limit as max results. This exceeds the schema's bare type/title/default info.

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 opening sentence uses a specific verb ('Find') and resource ('Content Browser assets') with a clear filter ('given UClass'). The phrase 'Content Browser assets' distinguishes it from sibling find_actors_by_class, and the examples of class names further clarify scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance about when to prefer this tool over alternatives such as find_actors_by_class or project_find_assets, nor any exclusions or preconditions. The KB link is generic and does not explain routing. Usage must be inferred from the name and examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_list_editor_selectionA

Return what is currently selected in the Unreal Editor viewport.

Useful for context-aware scripting: "what is the AI looking at right now?"

Returns: JSON string: { "success": true, "selected_actors": [ {"name": "SM_Table_1", "class": "StaticMeshActor", "location": [0,0,0]}, ... ], "count": 1 }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_list_editor_selection()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly describes the return payload (JSON with success, selected_actors array containing name/class/location, and count) and illustrates it with an example call. It does not explicitly state whether the operation is read-only or has editor prerequisites, but the described behavior is otherwise transparent.

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 purpose, followed by a concise use case, a compact JSON return example, and an illustrative call. Every element adds value; the KB reference and example support accurate invocation without bloating the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter query tool, the description provides everything an agent needs: purpose, use case, return format, and example. The presence of an output schema and the detailed JSON in the description make the return contract clear. No significant missing information 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?

The tool takes zero parameters, so schema coverage is trivially 100%. The description appropriately shows an example call ue_list_editor_selection() and makes clear no arguments are needed. The baseline of 4 for zero-parameter tools is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Return') on a specific resource ('what is currently selected in the Unreal Editor viewport'). It is not tautological and gives a concrete usage example to reinforce purpose. However, it doesn't explicitly contrast against sibling tools like find_actors_by_class or get_actors_in_level, so it stops short of the highest 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 gives a context ('Useful for context-aware scripting: what is the AI looking at right now?') that tells an agent when to call this tool. It does not state alternatives, exclusions, or conditions under which another tool would be more appropriate. The guidance is implied rather than explicit, warranting a mid-score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_list_uclass_methodsA

List callable methods on a UClass Python binding.

Useful before calling get_editor_property / set_editor_property to discover the correct property names, or before calling a method to confirm it exists.

Args: class_name: Unreal class (e.g. "AssetToolsHelpers", "EditorAssetLibrary") filter_prefix: Only return methods starting with this prefix (e.g. "import")

Returns: JSON string: { "success": true, "class_name": "EditorAssetLibrary", "methods": ["consolidate_assets", "delete_asset", "does_asset_exist", ...], "count": 52 }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_list_uclass_methods(class_name="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
class_nameYes
filter_prefixNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 itself. It discloses that this is a listing/introspection operation (no mutation implied), the filter_prefix behavior, and the exact JSON return shape including success, class_name, methods, and count. It does not describe failure behavior for invalid class names, but that is a minor gap for a read-only introspection 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 one-line summary is front-loaded, followed by concise Args/Returns/Example sections. Every element earns its place, including the KB pointer and example call, with no redundant prose.

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 two-parameter introspection tool, the description is nearly complete: parameters, return format, example, and a KB reference. The only minor weakness is the slightly confusing suggestion that listing methods helps discover 'property names,' which could blur the boundary between methods and properties.

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 coverage is 0%, so the description must compensate, and it does. Both parameters are explained with concrete examples: class_name ('AssetToolsHelpers', 'EditorAssetLibrary') and filter_prefix ('import'). The default behavior is also clear from the schema default and the description's prefix-filter explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence is a specific verb+resource statement: 'List callable methods on a UClass Python binding.' It is clear and distinct from property-oriented tools like ue_list_uclass_properties, though it does not name those siblings explicitly, so it falls just short of full 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?

Provides concrete use cases: run before get_editor_property/set_editor_property to learn names, or before calling a method to confirm it exists. This gives clear context for when to invoke it, but does not state when not to use it or point to a named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_list_uclass_propertiesA

List editor-exposed properties (UProperties) for a UClass.

Returns the names, types, and categories of all editor properties accessible via set_editor_property() / get_editor_property().

Args: class_name: Unreal class (e.g. "StaticMeshComponent", "PointLight") include_inherited: Include inherited properties (default False)

Returns: JSON string: { "success": true, "class_name": "StaticMeshComponent", "properties": [ {"name": "static_mesh", "type": "StaticMesh", "category": "StaticMeshComponent"}, ... ], "count": 42 }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_list_uclass_properties(class_name="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
class_nameYes
include_inheritedNo

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 behavioral burden. It clearly signals a read-only listing operation through 'List' and 'Returns', and it discloses the exact JSON response shape, the scope of returned properties, and the meaning of include_inherited. It does not describe invalid-class error behavior, but for an inspection tool this is a strong, mostly transparent definition.

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 well-structured and front-loaded: a one-line summary, clear Args, a concrete return JSON example, a KB pointer, and a call example. Every section earns its place and none is redundant padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only listing tool with two parameters, the description covers the call signature, parameter meaning, output schema, and an example call. The detailed return contract and KB pointer make it complete enough for an agent to invoke correctly without needing the schema alone.

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%, yet the description compensates by explaining both parameters: class_name is illustrated with concrete examples like 'StaticMeshComponent' and 'PointLight', and include_inherited is described as controlling inherited properties with its default. It adds real meaning beyond the bare schema types, though it could be more precise about accepted class-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?

The first sentence names an exact verb and resource: 'List editor-exposed properties (UProperties) for a UClass.' The qualifier 'accessible via set_editor_property() / get_editor_property()' clearly scopes this as the property-discovery counterpart to method-listing and reflection tools, so an agent can distinguish it from siblings like ue_list_uclass_methods.

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 explains why this tool is useful: to discover the names, types, and categories of properties that can be passed to set_editor_property()/get_editor_property(). This gives a clear usage context, though it does not explicitly name alternative tools or state 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.

ue_reflect_classA

Reflect a UClass: return its parent chain, category, flags, and module.

Use this before writing any exec_python that creates, loads, or modifies instances of an Unreal class — it confirms the class exists and tells you its full hierarchy.

Args: class_name: Unreal class name (e.g. "StaticMesh", "Blueprint", "Character", "PointLight", "NiagaraSystem")

Returns: JSON string: { "success": true, "class_name": "StaticMesh", "parent_chain": ["StaticMesh", "StreamableRenderAsset", "Object"], "is_blueprint": false, "module": "Engine", "category": "Mesh", "found": true }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_reflect_class(class_name="Actor")

ParametersJSON Schema
NameRequiredDescriptionDefault
class_nameYes

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 burden of behavioral disclosure. It details the return JSON structure and indicates the tool confirms class existence, but it does not explicitly state whether the operation is read-only or whether it has side effects. The absence of an explicit 'this is a safe read-only operation' statement is a notable gap, though the reflection context implies non-destructiveness.

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 exceptionally well-structured: a one-sentence purpose, a usage guideline, then clearly labeled Args, Returns, KB reference, and Example sections. It is front-loaded with the core purpose and contains no redundant or extraneous text. Every element earns its place, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, one output) and the inclusion of a detailed return example and usage hint, the description is largely complete. It mentions the KB guide for further context but could be improved by stating potential failure modes (e.g., behavior when class not found) or any prerequisites. The provided example output already covers the success case adequately.

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 only the parameter name and type, with 0% description coverage. The description compensates well by giving a clear definition of class_name, concrete examples (e.g., 'StaticMesh', 'Actor'), and a usage example. It adds meaning beyond the schema, though it does not cover edge cases like case sensitivity or name validation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Reflect a UClass') and the specific outputs (parent chain, category, flags, module). This distinguishes it from sibling tools like ue_list_uclass_properties and ue_describe_asset, which focus on different aspects of class inspection. The purpose is unambiguous and actionable.

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 explicitly instructs to use this tool before writing exec_python that creates, loads, or modifies instances, giving a concrete usage context. It also provides an example call. However, it does not explicitly mention when not to use it or differentiate it from other inspection tools (e.g., ue_describe_asset), so it lacks exclusions or direct alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ue_summarize_operation_effectsA

Summarize what assets exist (a snapshot of the Content Browser).

Use this before and after an import/modification operation to see what changed. Returns asset counts by class.

Args: search_path: Content Browser path to scan (default "/Game/")

Returns: JSON string: { "success": true, "search_path": "/Game/", "total_assets": 245, "by_class": { "Blueprint": 42, "StaticMesh": 87, "Material": 23, ... } }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_summarize_operation_effects()

ParametersJSON Schema
NameRequiredDescriptionDefault
search_pathNo/Game/

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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. It clearly characterizes the tool as a 'snapshot' that 'summarizes' assets, which implies a read-only, non-mutating operation, and it documents the exact return JSON structure. It stops short of explicitly stating 'does not modify assets' or describing recursion/perf characteristics, but the snapshot framing makes the behavior sufficiently transparent.

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 organized with clear Args, Returns, KB, and Example sections. The JSON return example is useful and not filler, and the when-to-use guidance is front-loaded. It is slightly longer than strictly necessary, but each 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?

The tool is simple (one optional parameter) and an output schema exists, so return structure is covered. The description includes usage guidance, parameter meaning, default, a return example, and a KB reference. The only notable omission is an explicit read-only/no-side-effects statement, but the 'snapshot' phrasing largely covers it, making the description 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?

The input schema only provides a type and default for search_path with 0% schema description coverage. The description adds the semantic meaning 'Content Browser path to scan' and restates the default, which is enough for an agent to use the single optional parameter correctly. It doesn't explain path syntax or recursion behavior, but that's a minor gap for this simple parameter.

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 ('summarize'), a clear resource ('assets'), and the scope ('Content Browser'), and explicitly says it returns 'asset counts by class.' This distinguishes it from siblings like ue_find_assets_by_class, which retrieves assets rather than summarizing them as a snapshot.

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 explicitly says 'Use this before and after an import/modification operation to see what changed,' which gives clear, actionable context for when to invoke the tool. It doesn't name alternatives or exclusions, but the intended usage is unambiguous and further supported by the KB link.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umg_add_widget_bindingA

Add or replace a Widget Blueprint property binding.

property_path uses '.' such as 'HealthText.Text' or 'HealthBar.Percent'. binding_target is the Blueprint function or property name that should drive the binding.

Args: widget: Widget Blueprint asset name or path. property_path: Widget tree property path, '.'. binding_target: Blueprint function/property that supplies the value. binding_kind: 'function' or 'property'. Default 'function'.

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: umg_add_widget_binding(widget="/Game/MCP_Test/WBP_Example", property_path="HealthText.Text", binding_target="GetHealthText")

ParametersJSON Schema
NameRequiredDescriptionDefault
widgetYes
binding_kindNofunction
property_pathYes
binding_targetYes

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 burden of behavioral disclosure. It does disclose that the operation adds or replaces (an existing binding is overwritten) and clarifies that the binding is driven by a function or property. However, it omits preconditions (widget asset must exist), whether the change persists or requires a save, and failure behavior. Reasonable for an unannotated mutation but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, followed by a compact format note, an Args block, a KB pointer, and a realistic example. Each sentence contributes; the Args block earns its place because the schema carries no parameter descriptions. Slightly longer than strictly necessary, but all content is justified.

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 coverage is not the description's job. The description supplies everything needed for correct invocation: purpose, every parameter format, defaults, an example, and a KB reference. The main gaps are explicit usage boundaries versus siblings and preconditions/side effects, but the core invocation contract is solid.

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%, yet the Args block documents all four parameters with real meaning: widget (asset name or path), property_path (with the '<WidgetName>.<PropertyName>' format and two concrete examples), binding_target (function/property that supplies the value), and binding_kind ('function' or 'property' with default). The description fully compensates for 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 opening sentence names a specific operation ('Add or replace') on a specific resource ('Widget Blueprint property binding'). The term 'property binding' implicitly distinguishes it from event-binding siblings like bind_widget_event and from direct-property setters like widget_set_property, but it never explicitly names an alternative. Clear verb and resource, yet sibling differentiation is only implicit.

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 the parameter format spec, the 'binding_kind' semantics, a KB pointer, and a worked example. However, the description never states when to prefer this tool over related siblings (e.g., bind_widget_event for events, set_text_block_binding for text-only bindings) nor gives any 'when not to use' guidance. Adequate but leaves selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unbind_event_from_dispatcherB

Add an 'Unbind Event from [Dispatcher]' node.

Args: blueprint_name: Blueprint name dispatcher_name: Dispatcher to unbind from node_position: Optional graph position

KB: see knowledge_base/02_BLUEPRINT_COMMUNICATION.md#overview Example: unbind_event_from_dispatcher(blueprint_name="/Game/MCP_Test/BP_Example", dispatcher_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
node_positionNo
blueprint_nameYes
dispatcher_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 carries the full burden. It simply states that a node is added, but does not disclose effects on the blueprint graph, whether existing event bindings are removed, error behavior, or any mutating side effects. The agent is left without behavioral context.

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 appropriately short and well-structured: a one-sentence action statement, then a compact Args list, and a concrete example. No wasted words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a graph-mutating blueprint tool with no annotations and minimal usage guidance, the description is incomplete. It lacks context about event-binding workflows, prerequisites (e.g., whether a bind event must already exist), and what the output schema returns. The KB reference helps but is not a substitute for inline 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. The Args list adds brief meaning for each parameter: 'Blueprint name', 'Dispatcher to unbind from', and 'Optional graph position'. This goes slightly beyond the schema titles, but lacks detail like coordinate format for node_position or how blueprint_name is resolved.

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 explicitly states 'Add an "Unbind Event from [Dispatcher]" node', which is a specific verb (Add) and resource (the named blueprint node). This clearly distinguishes it from sibling tools like bind_event_to_dispatcher or call_event_dispatcher by naming the exact node type being added.

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 bind_event_to_dispatcher or call_event_dispatcher. The description only provides a KB pointer and an example, but no explicit conditions, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_import_resultA

Validate that an imported asset exists and matches expectations.

Use immediately after import_texture, import_static_mesh, import_skeletal_mesh, or generative imports to prove the asset loaded, has the expected class, has dependency/reference metadata, and is not still dirty when saved output is required.

Args: expected_asset_path: Imported asset path, e.g. "/Game/Meshes/SM_Table". expected_class: Optional expected class substring, e.g. "StaticMesh". source_file: Optional original OS file path to verify still exists. require_saved: Warn when the package is still dirty.

Returns: StructuredResult JSON with outputs: exists, class_name, class_matches, dirty, source_file_exists, dependency_count, referencer_count, valid.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#b2-graph-aware-diagnostics-diagnosticstoolspy Example: validate_import_result(expected_asset_path="/Game/MCP_Test/SM_Example", expected_class="StaticMesh")

ParametersJSON Schema
NameRequiredDescriptionDefault
source_fileNo
require_savedNo
expected_classNo
expected_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?

No annotations are present, so the description carries the full burden. It discloses what the tool verifies (existence, class match, dependency/reference metadata, dirty state), the require_saved warning behavior, and the full set of returned fields. It doesn't explicitly state whether the operation is read-only or detail error/failure modes, but the validation semantics are clear.

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 well-organized with labeled sections: purpose, usage trigger, Args, Returns, KB reference, and Example. Every sentence earns its place, and the most important info is front-loaded in the first two lines. No redundant 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?

Covers purpose, when to use, all parameters, return fields, a KB pointer, and an example call. Since an output schema exists, detailed return-value documentation is not needed here. The only minor gap is no discussion of failure handling or when not to use, but the description is sufficient for an agent to select and invoke the tool correctly.

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%, meaning the structured schema provides no explanations. The description fully compensates with an Args block that explains each parameter, including a concrete path example ('/Game/Meshes/SM_Table') and a class example ('StaticMesh'). This goes well beyond the bare property names and 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?

The description opens with the specific verb 'Validate' and the resource 'imported asset', then concretely defines expectations as existence, expected class, dependency/reference metadata, and non-dirty state. It explicitly names the import tools it pairs with (import_texture, import_static_mesh, import_skeletal_mesh, generative imports), distinguishing it from the many generic validate/check sibling 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?

The description gives an explicit trigger: 'Use immediately after import_texture, import_static_mesh, import_skeletal_mesh, or generative imports.' This is clear and actionable context. It does not mention exclusions or alternatives, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vertex_paint_actorA

Apply component override vertex colors to a placed StaticMeshActor/component.

Args: actor_name: Actor name or editor label component_name: Optional StaticMeshComponent name color: RGBA color array used for all vertices lod_index: LOD to paint apply_to_all_vertices: Must be true for this initial implementation save: Save the actor package/level if supported

KB: see knowledge_base/08_MATERIALS_AND_RENDERING.md#overview Example: vertex_paint_actor(actor_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNo
colorNo
lod_indexNo
actor_nameYes
component_nameNo
apply_to_all_verticesNo

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 must disclose behavioral traits. It mentions that 'apply_to_all_vertices: Must be true for this initial implementation' and notes the 'save' option, but does not explain side effects on existing vertex colors, reversibility, or prerequisites like material support for vertex colors. It is adequate for a simple mutation but lacks depth on potential impacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the primary purpose, followed by a structured Args list and a concrete example. The KB reference is secondary. Every sentence contributes value, with no redundancy 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 complex operation like vertex painting, the description provides the essential parameters, an example, and a KB pointer. It notes the initial implementation limitation (apply_to_all_vertices must be true) and the optional save behavior. Given that an output schema exists (though not shown here), the description does not need to explain return values. It lacks explicit prerequisites (e.g., material must support vertex colors) but is reasonably complete for a first version.

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 schema has no parameter descriptions (coverage 0%), but the description's Args section provides one-line explanations for all six parameters: actor_name, component_name, color (RGBA), lod_index, apply_to_all_vertices, and save. It adds meaningful semantics beyond the schema titles, though it omits details like color value range (0-1 vs 0-255) and the meaning of lod_index. Still, it compensates well for the schema's lack of descriptions.

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 opens with a specific verb and resource: 'Apply component override vertex colors to a placed StaticMeshActor/component.' This clearly distinguishes it from general actor manipulation tools like set_actor_property or set_static_mesh_properties, which do not target vertex painting. It is not a tautology and provides immediate clarity on what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the tool applies to 'a placed StaticMeshActor/component', giving context on when to use it (on placed actors, not asset definitions). It does not explicitly name alternatives or exclusions, but the parameter list and mention of 'component override vertex colors' implies it is for paint operations rather than general property setting. The KB link provides additional reference but is not inline guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

viewport_capture_screenshotC

Capture the active Unreal viewport to a workspace-local PNG artifact.

Args: artifact_name: Screenshot filename stem screenshot_dir: Workspace-relative output directory show_ui: Forwarded to the native screenshot command when supported resolution: Forwarded to the native screenshot command when supported

Returns: JSON string with filepath, dimensions, size, and hash.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: viewport_capture_screenshot()

ParametersJSON Schema
NameRequiredDescriptionDefault
show_uiNo
resolutionNo
artifact_nameNoviewport
screenshot_dirNo.mcp_artifacts/screenshots

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 must disclose behavioral traits. It mentions forwarding `show_ui` and `resolution` to the native screenshot command, which is useful, but it omits details about whether the operation is blocking, whether it requires an active viewport, side effects on the editor state, or error conditions like invalid directory. The tool is a write operation (creates an artifact), but no side effects are 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?

The description is compact with a clear structure: a one-sentence summary, a parameter list, a returns line, a KB reference, and an example. It front-loads the core purpose. The KB reference adds useful context, though it could be seen as extra for some agents. Overall, it is appropriately sized with minimal fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex with 4 parameters, no annotations, and an output schema that lists filepath, dimensions, size, and hash. The description fails to explain what the output JSON structure looks like in detail (though output schema covers this), but more critically, it does not clarify when to use this tool versus similar siblings, and it lacks detail on error handling or prerequisites. The KB reference provides depth but at the cost of immediate understandability. For an agent deciding to use this tool, the missing usage guidance and behavioral caveats are significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain each parameter. It gives one-line descriptions: 'Screenshot filename stem' for artifact_name, 'Workspace-relative output directory' for screenshot_dir, and 'Forwarded to the native screenshot command when supported' for show_ui and resolution. While these provide basic meaning, they lack specifics like allowed formats for resolution, the meaning of 'filename stem' in terms of extension handling, and any constraints on directory paths. This is minimal compensation for zero schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool captures the active Unreal viewport to a PNG artifact, with explicit mention of the resource (active viewport) and the output artifact. It is distinguishable from the sibling `take_screenshot` and `viewport_compare_screenshot` by its specific focus on the active viewport and PNG artifact, though it doesn't explicitly contrast these siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives like `take_screenshot` or `viewport_compare_screenshot`. The description does not mention conditions for use or mention alternatives for comparison, leaving the agent to infer its purpose from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

viewport_compare_screenshotA

Compare two workspace-local viewport screenshot artifacts.

Args: baseline_path: Workspace-local baseline PNG path candidate_path: Workspace-local candidate PNG path pass_threshold: Similarity threshold, 0-1

Returns: JSON string with similarity and artifact metadata.

KB: see knowledge_base/32_AGENT_PLAYABLE_SLICE_RECIPE.md#overview Example: viewport_compare_screenshot(baseline_path="/Game/MCP_Test/Example", candidate_path="/Game/MCP_Test/Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
baseline_pathYes
candidate_pathYes
pass_thresholdNo

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 provided, the description carries the behavioral disclosure burden. It states the return value is 'JSON string with similarity and artifact metadata' and notes workspace-local paths, but it does not explain what happens when similarity falls below pass_threshold, nor whether the operation has side effects. The behavior is broadly implied but not fully transparent.

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 well-structured: a one-sentence purpose, clearly labeled Args/Returns/KB/Example sections, and no filler. Every section contributes useful information and the main purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main inputs and output, and references a KB document, but it leaves a meaningful gap around pass_threshold semantics: what constitutes passing, whether the tool returns a boolean or just similarity, and how the threshold affects the result. The example confusingly uses a non-PNG-looking path ('/Game/MCP_Test/Example') despite the parameter being described as a PNG path, adding some 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?

Schema description coverage is 0%, so the description must compensate, and it does: each parameter is explained, including path types and the 0-1 range for pass_threshold. The example adds practical usage context, though it oddly uses the same path for both baseline and candidate.

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 opens with a specific verb and object: 'Compare two workspace-local viewport screenshot artifacts.' This clearly identifies the tool's function and the workspace-local scope, and it inherently distinguishes the tool from siblings like viewport_capture_screenshot.

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 when to use the tool through the compare action and the baseline/candidate parameters, but it does not explicitly say when to prefer it over alternatives or when not to use it. The example and KB reference provide some context, but no exclusion criteria or alternative routing are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

widget_add_childB

Add a child widget to a Widget Blueprint tree.

Args: widget_blueprint_path: Full Widget Blueprint asset path, e.g. /Game/UI/WBP_HUD or /Game/UI/WBP_HUD.WBP_HUD. child_class: Supported UMG class name such as CanvasPanel, TextBlock, Image, ProgressBar, Button, HorizontalBox, VerticalBox, Overlay, or SizeBox. child_name: Name for the new child widget. parent_name: Optional panel widget to attach under. If omitted, the child becomes the root when no root exists, or attaches to the root when the root is a panel.

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: widget_add_child(widget_blueprint_path="/Game/MCP_Test/BP_Example", child_class="Actor", child_name="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
child_nameYes
child_classYes
parent_nameNo
widget_blueprint_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 behavioral burden. It does disclose the meaningful root-attachment fallback behavior for parent_name and lists supported child classes, but it does not mention side effects, failure modes, or whether existing roots are replaced or rejected.

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 and then organized into Args, KB link, and Example. It is slightly longer than strictly necessary, but each section earns its place; the example mostly duplicates existing parameter explanations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main parameters and the optional-parent fallback rule, and an output schema exists so return values need not be described. However, it leaves important edge cases implicit, such as what happens when a root exists and is not a panel, or whether the child_name must be unique.

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 every parameter, gives a path format example, lists allowed child class names, and clarifies parent_name semantics. The example using child_class='Actor' is potentially misleading because 'Actor' is not in the supported UMG class list.

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 operation ('Add a child widget to a Widget Blueprint tree') and names the primary resource. It does not explicitly differentiate itself from the many sibling tools like add_text_block_to_widget or add_button_to_widget, though its generic child_class parameter implies a broader role.

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 about when to prefer this generic tool over the dedicated widget-specific siblings, nor any 'when not to use' note. The parent_name behavior is explained, but tool-selection context is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

widget_get_childrenA

List children in a Widget Blueprint tree.

If parent_name is omitted, the native route returns the root widget plus the root panel's immediate children.

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: widget_get_children(widget_blueprint_path="/Game/MCP_Test/BP_Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_nameNo
widget_blueprint_pathYes

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 provided, the description carries the full burden of behavioral disclosure. It does disclose a specific default behavior when parent_name is omitted ('returns the root widget plus the root panel's immediate children') and references a KB doc. However, it doesn't clarify whether the operation is read-only, what happens when parent_name is provided, or the exact return format beyond the schema. The behavioral context is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured. The purpose is front-loaded in the first sentence, followed by a specific behavioral note, a KB reference, and an illustrative example. Every sentence adds value, and the format is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the common usage (listing children) and the omitted-parameter case, but it lacks details on the behavior when parent_name is explicitly provided and doesn't mention error handling or edge cases. Since an output schema exists, the return format is already specified, but the conditional logic is incompletely described, making the description somewhat incomplete for an agent deciding how to invoke it.

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 the effect of omitting parent_name and gives an example for widget_blueprint_path, which provides some usage context. However, it doesn't define what parent_name represents when provided, nor does it specify the format or constraints for widget_blueprint_path beyond the example. It adds meaning but not comprehensive parameter documentation.

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 action: listing children in a Widget Blueprint tree. It clearly identifies the resource and the operation, distinguishing it from mutation tools like widget_add_child or widget_set_property. However, it doesn't explicitly differentiate from sibling tools that might also inspect widget hierarchy, so it's clear but not maximally distinguishing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for inspecting widget hierarchy through the phrase 'List children' and provides an example call. It mentions a knowledge base reference for further context, but it doesn't explicitly state when to use this tool over alternatives, nor does it provide exclusions or prerequisites. The guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

widget_set_anchorC

Set CanvasPanelSlot anchor, position, size, and alignment.

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: widget_set_anchor(widget_blueprint_path="/Game/MCP_Test/BP_Example", widget_name="/Game/MCP_Test/WBP_Example", anchor_min_x=0.0, anchor_min_y=0.0, anchor_max_x=0.0, anchor_max_y=0.0, position_x=0.0, position_y=0.0, size_x=0.0, size_y=0.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
size_xYes
size_yYes
position_xYes
position_yYes
alignment_xNo
alignment_yNo
widget_nameYes
anchor_max_xYes
anchor_max_yYes
anchor_min_xYes
anchor_min_yYes
widget_blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/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 values are set, but it does not disclose side effects, whether the call overwrites all four layout aspects, value ranges, or required widget state. This is a meaningful gap for a mutating 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 description is a single efficient sentence, and the example adds concrete call-shape value without excessive prose. The KB link is a useful pointer. It is lean, though the example could have been more clearly separated from the 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?

For a 12-parameter mutating tool with no annotations and minimal parameter documentation, the description is not complete enough for confident invocation. The output schema exists but does not compensate for missing guidance on valid values, preconditions, and behavioral effects. The example helps but is not sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate, but it only lists conceptual groups and provides an all-zero example. It does not explain anchor coordinate conventions, units, or the meaning of alignment_x/alignment_y, and the example omits those two parameters entirely.

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 CanvasPanelSlot anchor, position, size, and alignment.' This clearly conveys what the tool does and distinguishes it from generic widget tools like widget_set_property or widget_add_child. It does not explicitly name a sibling alternative, so it misses full differentiation.

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 about when to use this tool versus alternatives, nor any mention of prerequisites such as the widget needing to be inside a Canvas Panel slot. The example and KB link imply usage, but the description leaves the decision context to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

widget_set_propertyB

Set a common property on a child widget.

Supported native properties include Text, FontSize, ColorAndOpacity, BrushTintColor, BrushSize, Percent, FillColorAndOpacity, Visibility, and RenderTransformAngle. Color and vector values should be comma-separated strings such as 1,0.2,0.1,1 or 256,64.

KB: see knowledge_base/06_UI_UMG_SYSTEMS.md#overview Example: widget_set_property(widget_blueprint_path="/Game/MCP_Test/BP_Example", widget_name="/Game/MCP_Test/WBP_Example", property_name="ExampleName", property_value="ExampleName")

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_nameYes
property_nameYes
property_valueYes
widget_blueprint_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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 behavioral burden. It discloses the property list and color/vector string format but not side effects, whether the mutation persists or requires a save, error behavior, or any prerequisites. 'Set' is the only behavioral signal.

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 compact and front-loaded: a one-line action, a focused property list, a formatting note, a KB pointer, and an example. The example's use of 'ExampleName' for both property and value is slightly confusing, but the structure is otherwise 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?

The presence of an output schema reduces the need to explain return values, and the example plus KB reference provide a usable pattern. Still, the description leaves open the semantics of the two path-like parameters and does not state prerequisites or when not to use the tool, so a well-rounded call is not fully specified.

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%, and the description compensates partly by enumerating property_name choices and specifying the comma-separated format for property_value. However, widget_blueprint_path and widget_name are only illustrated via example values (both look like /Game/... asset paths), leaving their exact relationship underdefined.

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 opens with a specific verb and resource: 'Set a common property on a child widget,' and the supported property list specifies what kinds of properties are involved. This clearly separates it from sibling tools like set_actor_property, set_component_property, and widget_set_anchor.

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 context is only implied: the supported native-property list suggests the tool is for these common widget properties, but the description never says when to prefer it over widget_add_child, widget_set_anchor, or property-specific tools. There is no explicit alternative or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wire_play_sound_to_blueprintA

Add a PlaySound2D (or PlaySoundAtLocation) node to a Blueprint wired after a specific node. Used to attach imported sound assets to Blueprint events.

Args: blueprint_name: Blueprint to modify (e.g. "BP_LaserTurret") sound_asset_path: UE content-browser path of the SoundWave (e.g. "/Game/Audio/SFX_TurretFire.SFX_TurretFire") after_node_id: Full node GUID — the 'then' pin of this node will connect to the new PlaySound node's 'execute' pin node_position: [X, Y] graph position for the new node use_play_at_location: If True, use PlaySoundAtLocation (3D); otherwise PlaySound2D (2D/UI)

KB: see knowledge_base/07_DATA_STRUCTURES.md#overview Example: wire_play_sound_to_blueprint(blueprint_name="/Game/MCP_Test/BP_Example", sound_asset_path="/Game/MCP_Test/Example", after_node_id="Example")

ParametersJSON Schema
NameRequiredDescriptionDefault
after_node_idYes
node_positionNo
blueprint_nameYes
sound_asset_pathYes
use_play_at_locationNo

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?

With no annotations, the description carries the full behavioral burden. It discloses the connection semantics (then pin to execute pin) and the 2D/3D variant behavior, but it does not mention side effects, whether the blueprint is saved, or failure conditions such as an invalid after_node_id or missing sound asset.

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 well-structured with a one-line summary, a compact Args block, a KB pointer, and a usage example. Every section adds value, the main action is front-loaded, and there is minimal 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 five-parameter mutation tool with no annotations, the description covers all required and optional inputs, gives a concrete example, and explains wiring behavior. It omits some contextual details like prerequisite asset import and whether the blueprint needs to be compiled or saved afterward, but the output schema can address return values.

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% and the schema provides only titles, but the description fully compensates by documenting every parameter: blueprint_name, sound_asset_path, after_node_id with GUID connection semantics, node_position with [X,Y] format, and use_play_at_location with True/False behavior. The example further clarifies expected input 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?

The description uses an action verb ('Add') plus a specific resource ('PlaySound2D (or PlaySoundAtLocation) node to a Blueprint') and clarifies the distinct wiring behavior ('wired after a specific node'), which separates it from sibling add-node tools. It also states the high-level purpose ('attach imported sound assets to Blueprint events').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it is meant for attaching imported sound assets to Blueprint events and details exactly how the new node is wired. However, it does not explicitly name alternatives or state when not to use this tool versus other sound-node tools like add_play_sound_node.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_create_data_layerB

Create or reuse a Data Layer asset and instance in the active editor world.

KB: see knowledge_base/25_WORLD_PARTITION_AND_HLOD.md#mcp-world-partition-and-hlod-tools Example: wp_create_data_layer(name="Gameplay_POIs", type="runtime", asset_path="/Game/DataLayers/Gameplay_POIs")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
saveNo
typeNoruntime
privateNo
asset_pathNo
loaded_in_editorNo
initially_visibleNo
initial_runtime_stateNounloaded

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. 'Create or reuse' hints at idempotent behavior and 'active editor world' scopes the operation, but the description does not disclose side effects such as asset saving, editor state changes, or consequences of the various boolean/state parameters. This is a meaningful transparency gap 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core action stated first and a concrete example that helps disambiguate usage. The KB pointer is useful and not excessive. It earns its length without being bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no annotations, and no schema-level descriptions, this tool needs more contextual explanation to be called correctly. The output schema exists, so return-value detail is not required, but the missing parameter semantics and behavioral side effects leave the definition incomplete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only indirectly touches on name, type, and asset_path through the example. The meanings of save, private, loaded_in_editor, initially_visible, and initial_runtime_state are left entirely to inference from their names and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Create or reuse), resource (Data Layer asset and instance), and scope (active editor world). It is specific enough to distinguish this tool from siblings like wp_load_region, wp_unload_region, and hlod_assign_layer, which operate on different world-partition concepts.

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 use when creating or reusing Data Layers, and the example demonstrates invocation, but it does not explicitly state when to choose this tool over alternatives or when not to use it. The KB reference provides context but no direct comparison to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_load_regionB

Load a World Partition editor region by bounding box.

KB: see knowledge_base/25_WORLD_PARTITION_AND_HLOD.md#mcp-world-partition-and-hlod-tools Example: wp_load_region(center=[0, 0, 0], extent=[50000, 50000, 50000], label="Downtown Edit Window")

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoMCP Loaded Region
centerNo
extentNo

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 provided, the description must carry the full behavioral burden. It only states what the tool does without disclosing side effects (e.g., whether it unloads other regions, affects streaming, or requires a specific editor state), potential performance implications, or return behavior. The description is too sparse to inform an agent about the operational impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, leading with the purpose, then a KB reference and a clear example. It is well-structured and front-loaded, with no wasted words. The example is helpful but could be improved by including parameter explanations.

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 load operation, the description is reasonably complete given the example and KB reference, but it omits important context: units, coordinate system, potential side effects, and return values (though an output schema exists). Since there are no annotations, the description should provide more behavioral context to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It only shows an example with center, extent, and label values but does not explain their meaning (units, coordinate system, whether extent is half-extent or full, or label usage). The example provides minimal inferential value but leaves critical semantics undefined.

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: 'Load a World Partition editor region by bounding box.' This clearly distinguishes it from sibling tools like wp_unload_region (which unloads) and wp_create_data_layer (which creates data layers). The example reinforces the intended action.

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 (load a region for editing) and provides an example, but it does not explicitly state when to use this tool versus alternatives like wp_unload_region or when to avoid it. There is no mention of prerequisites or conditions, only a KB reference that may contain more context but is not directly in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_unload_regionC

Unload matching World Partition editor region loaders.

KB: see knowledge_base/25_WORLD_PARTITION_AND_HLOD.md#mcp-world-partition-and-hlod-tools Example: wp_unload_region(label="Downtown Edit Window")

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNo
minNo
exactNo
labelNo
centerNo
extentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/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 only states the basic operation and gives an example; it does not explain what 'matching' means across the six parameters, whether unloads affect the persistent world partition state, or what consequences the operation has on the editor.

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, front-loaded with the action, and includes a useful example and a KB reference. No unnecessary filler is present, though the lack of structured parameter guidance is a completeness issue rather than a conciseness issue.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has six optional parameters with zero schema documentation and no annotations, yet the description provides no semantics for five of them and no selection-combination rules. Although an output schema exists and a KB link is given, the description alone is far too thin for an agent to invoke this tool correctly with anything beyond the single labeled example.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and none of the six parameters (max, min, exact, label, center, extent) are explained. The single example mentions label but does not clarify the meaning or interaction of the other parameters, so the description fails to compensate for the schema's complete lack of semantic 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 ('Unload') and a specific resource ('matching World Partition editor region loaders'), making the core action clear. The example further clarifies usage with a real label. However, it does not explicitly differentiate this tool from its sibling wp_load_region, 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given about when to use this tool versus alternatives such as wp_load_region. The example implies a usage pattern, and the KB link is a pointer, but there is no stated condition, exclusion, or comparison that helps an agent choose this tool confidently.

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. 729 tool updatesv1.0.0
    • First observedadd_abs_node
    • First observedadd_activate_variant_node
    • First observedadd_activate_variant_set_node
    • First observedadd_actor_world_offset_node
    • First observedadd_actor_world_rotation_node
    • First observedadd_anim_blueprint_variable
    • First observedadd_anim_notify
    • First observedadd_animation_state
    • First observedadd_append_string_node
    • First observedadd_apply_damage_node
    • First observedadd_apply_point_damage_node
    • First observedadd_arithmetic_operator_node
    • First observedadd_array_variable
    • First observedadd_attach_actor_to_component_node
    • First observedadd_blend_space_node
    • First observedadd_blueprint_branch_node
    • First observedadd_blueprint_cast_node
    • First observedadd_blueprint_comment_node
    • First observedadd_blueprint_do_once_node
    • First observedadd_blueprint_enhanced_input_action_node
    • First observedadd_blueprint_event_node
    • First observedadd_blueprint_flip_flop_node
    • First observedadd_blueprint_for_each_loop_node
    • First observedadd_blueprint_for_loop_node
    • First observedadd_blueprint_function_node
    • First observedadd_blueprint_function_with_pins
    • First observedadd_blueprint_gate_node
    • First observedadd_blueprint_get_component_node
    • First observedadd_blueprint_get_self_component_reference
    • First observedadd_blueprint_input_action_node
    • First observedadd_blueprint_self_reference
    • First observedadd_blueprint_sequence_node
    • First observedadd_blueprint_spawn_actor_node
    • First observedadd_blueprint_switch_on_int_node
    • First observedadd_blueprint_variable
    • First observedadd_blueprint_variable_get_node
    • First observedadd_blueprint_variable_set_node
    • First observedadd_box_trace_by_channel_node
    • First observedadd_branch_node
    • First observedadd_break_hit_result_node
    • First observedadd_break_struct_node
    • First observedadd_bt_blackboard_decorator
    • First observedadd_bt_node
    • First observedadd_button_to_widget
    • First observedadd_call_interface_function_node
    • First observedadd_canvas_panel_to_widget
    • First observedadd_capsule_trace_by_channel_node
    • First observedadd_cast_node
    • First observedadd_checkbox_to_widget
    • First observedadd_clamp_node
    • First observedadd_clear_blackboard_value_node
    • First observedadd_clear_timer_node
    • First observedadd_comment_box
    • First observedadd_component_overlap_event
    • First observedadd_component_to_blueprint
    • First observedadd_component_to_blueprint_actor
    • First observedadd_construct_object_node
    • First observedadd_construction_script_for_loop
    • First observedadd_construction_script_node
    • First observedadd_create_save_game_object_node
    • First observedadd_create_widget_node
    • First observedadd_cross_product_node
    • First observedadd_custom_event
    • First observedadd_custom_function
    • First observedadd_custom_macro
    • First observedadd_delay_node
    • First observedadd_delete_save_game_in_slot_node
    • First observedadd_destroy_actor_node
    • First observedadd_direct_blueprint_reference
    • First observedadd_do_n_node
    • First observedadd_do_once_node
    • First observedadd_does_save_game_exist_node
    • First observedadd_dot_product_node
    • First observedadd_draw_debug_line_node
    • First observedadd_draw_debug_point_node
    • First observedadd_draw_debug_sphere_node
    • First observedadd_enable_disable_input_node
    • First observedadd_event_dispatcher
    • First observedadd_finish_execute_node
    • First observedadd_flipflop_node
    • First observedadd_for_each_loop_node
    • First observedadd_format_text_node
    • First observedadd_gate_node
    • First observedadd_get_actor_location_node
    • First observedadd_get_actor_of_class_node
    • First observedadd_get_actor_rotation_node
    • First observedadd_get_actor_scale_node
    • First observedadd_get_all_actors_of_class_node
    • First observedadd_get_all_variants_node
    • First observedadd_get_blackboard_value_node
    • First observedadd_get_data_table_row_node
    • First observedadd_get_delta_seconds_node
    • First observedadd_get_forward_vector_node
    • First observedadd_get_game_instance_node
    • First observedadd_get_game_mode_node
    • First observedadd_get_location_at_distance_along_spline_node
    • First observedadd_get_owner_node
    • First observedadd_get_player_character_node
    • First observedadd_get_player_controller_node
    • First observedadd_get_random_reachable_point_node
    • First observedadd_get_relative_location_node
    • First observedadd_get_right_vector_node
    • First observedadd_get_rotation_at_distance_along_spline_node
    • First observedadd_get_spline_length_node
    • First observedadd_get_unit_direction_vector_node
    • First observedadd_get_up_vector_node
    • First observedadd_get_variable_node
    • First observedadd_get_variant_sets_node
    • First observedadd_hit_event
    • First observedadd_horizontal_box_to_widget
    • First observedadd_ik_rig_retarget_chain
    • First observedadd_image_to_widget
    • First observedadd_input_mapping
    • First observedadd_instanced_mesh_add_instance_node
    • First observedadd_instanced_static_mesh_component
    • First observedadd_interface_event_node
    • First observedadd_interface_function_node
    • First observedadd_is_valid_class_node
    • First observedadd_is_valid_node
    • First observedadd_lerp_node
    • First observedadd_line_trace_by_channel_node
    • First observedadd_line_trace_for_objects_node
    • First observedadd_line_trace_node
    • First observedadd_load_game_from_slot_node
    • First observedadd_logical_operator_node
    • First observedadd_macro_node
    • First observedadd_make_array_node
    • First observedadd_make_map_node
    • First observedadd_make_set_node
    • First observedadd_make_struct_node
    • First observedadd_map_contains_node
    • First observedadd_map_find_node
    • First observedadd_map_keys_node
    • First observedadd_map_values_node
    • First observedadd_map_variable
    • First observedadd_math_expression_node
    • First observedadd_math_node
    • First observedadd_min_max_node
    • First observedadd_motion_controller_component
    • First observedadd_move_to_node
    • First observedadd_multi_line_trace_by_channel_node
    • First observedadd_multi_line_trace_for_objects_node
    • First observedadd_multigate_node
    • First observedadd_named_slot_to_widget
    • First observedadd_nearly_equal_float_node
    • First observedadd_niagara_component
    • First observedadd_normalize_vector_node
    • First observedadd_object_type_make_array_node
    • First observedadd_on_hear_noise_event
    • First observedadd_on_see_pawn_event
    • First observedadd_open_level_node
    • First observedadd_overlap_event
    • First observedadd_pawn_sensing_component
    • First observedadd_play_sound_at_location_node
    • First observedadd_play_sound_node
    • First observedadd_player_death_event
    • First observedadd_predict_projectile_path_node
    • First observedadd_print_string_node
    • First observedadd_print_text_node
    • First observedadd_progress_bar_to_widget
    • First observedadd_quit_game_node
    • First observedadd_random_array_item_node
    • First observedadd_random_float_in_range_node
    • First observedadd_random_integer_in_range_node
    • First observedadd_relational_operator_node
    • First observedadd_remove_from_parent_node
    • First observedadd_report_noise_event_node
    • First observedadd_reroute_node
    • First observedadd_save_game_to_slot_node
    • First observedadd_select_node
    • First observedadd_sequence_node
    • First observedadd_sequence_player_node
    • First observedadd_set_actor_location_node
    • First observedadd_set_actor_rotation_node
    • First observedadd_set_actor_scale_node
    • First observedadd_set_collision_enabled_node
    • First observedadd_set_collision_profile_node
    • First observedadd_set_contains_node
    • First observedadd_set_difference_node
    • First observedadd_set_game_paused_node
    • First observedadd_set_generate_overlap_events_node
    • First observedadd_set_input_mode_node
    • First observedadd_set_intersection_node
    • First observedadd_set_material_node
    • First observedadd_set_relative_location_node
    • First observedadd_set_scalar_parameter_value_node
    • First observedadd_set_timer_by_event_node
    • First observedadd_set_timer_by_function_name_node
    • First observedadd_set_to_array_node
    • First observedadd_set_union_node
    • First observedadd_set_variable
    • First observedadd_set_variable_node
    • First observedadd_set_vector_parameter_value_node
    • First observedadd_set_view_target_with_blend_node
    • First observedadd_skeleton_socket
    • First observedadd_slider_to_widget
    • First observedadd_spawn_actor_from_class_node
    • First observedadd_spawn_actor_node
    • First observedadd_spawn_emitter_at_location_node
    • First observedadd_spawn_niagara_at_location_node
    • First observedadd_sphere_trace_by_channel_node
    • First observedadd_sphere_trace_for_objects_node
    • First observedadd_spline_component
    • First observedadd_spline_mesh_component
    • First observedadd_state_machine
    • First observedadd_state_transition
    • First observedadd_switch_on_enum_node
    • First observedadd_switch_on_int_node
    • First observedadd_switch_on_string_node
    • First observedadd_teleport_node
    • First observedadd_teleport_system_to_pawn
    • First observedadd_text_block_to_widget
    • First observedadd_timeline_node
    • First observedadd_validated_get_node
    • First observedadd_variant_to_level_variant_sets
    • First observedadd_vector_add_node
    • First observedadd_vector_length_node
    • First observedadd_vector_multiply_node
    • First observedadd_vector_subtract_node
    • First observedadd_vertical_box_to_widget
    • First observedadd_vr_input_action_node
    • First observedadd_while_loop_node
    • First observedadd_widget_animation
    • First observedadd_widget_interaction_component
    • First observedadd_widget_to_viewport
    • First observedanim_add_branching_point
    • First observedanim_add_montage_slot
    • First observedanim_create_montage
    • First observedanim_describe_montage
    • First observedanim_set_montage_section
    • First observedaudio_create_attenuation
    • First observedaudio_create_concurrency
    • First observedaudio_create_soundcue
    • First observedbatch_import_folder
    • First observedbatch_retarget_animations
    • First observedbind_event_to_dispatcher
    • First observedbind_widget_component_event
    • First observedbind_widget_event
    • First observedbp_add_call_interface_function
    • First observedbp_add_for_loop_with_break_node
    • First observedbp_add_function
    • First observedbp_add_node
    • First observedbp_add_variable
    • First observedbp_auto_format_graph
    • First observedbp_compile
    • First observedbp_connect_pins
    • First observedbp_copy_component
    • First observedbp_create_graph
    • First observedbp_disconnect_pin
    • First observedbp_find_disconnected_pins
    • First observedbp_find_orphaned_nodes
    • First observedbp_find_unreachable_nodes
    • First observedbp_find_unused_variables
    • First observedbp_get_compile_diagnostics
    • First observedbp_get_graph_detail
    • First observedbp_get_graph_summary
    • First observedbp_inspect_node
    • First observedbp_remove_node
    • First observedbp_remove_orphaned_nodes
    • First observedbp_repair_exec_chain
    • First observedbp_run_post_mutation_verify
    • First observedbp_set_pin_default
    • First observedbp_validate_blueprint
    • First observedbp_validate_graph
    • First observedbridge_descriptor_summary
    • First observedbt_add_run_eqs_service
    • First observedbt_add_selector_wait
    • First observedbt_get_info
    • First observedbuild_behavior_tree
    • First observedbuild_complete_blueprint_graph
    • First observedbuild_trace_interaction_blueprint
    • First observedcall_bridge_command
    • First observedcall_custom_event
    • First observedcall_event_dispatcher
    • First observedcall_tool
    • First observedchaos_configure_cloth_component
    • First observedchaos_configure_geometry_collection
    • First observedchaos_configure_solver_actor
    • First observedchaos_create_solver_actor
    • First observedchaos_inspect_geometry_collection
    • First observedchat_get_cockpit_ledger_detail
    • First observedchat_get_cockpit_overview
    • First observedchat_get_context
    • First observedchat_get_session_resume_context
    • First observedchat_list_sessions
    • First observedchat_poll_messages
    • First observedchat_send_response
    • First observedcheck_blueprint_generated_class
    • First observedchooser_add_asset_row
    • First observedchooser_create_table
    • First observedchooser_inspect_table
    • First observedcompile_blueprint
    • First observedcompile_blueprint_and_report
    • First observedcompile_material_and_report
    • First observedconnect_anim_graph_nodes
    • First observedconnect_blueprint_nodes
    • First observedcontrol_rig_add_constraint
    • First observedcontrol_rig_add_control
    • First observedcontrol_rig_bake_to_sequence
    • First observedcontrol_rig_create
    • First observedcontrol_rig_describe
    • First observedcpp_analyze_class
    • First observedcpp_find_references
    • First observedcpp_set_codebase_path
    • First observedcreate_actor_component
    • First observedcreate_ai_controller
    • First observedcreate_align_actors_utility
    • First observedcreate_animation_blueprint
    • First observedcreate_behavior_tree
    • First observedcreate_blackboard
    • First observedcreate_blueprint
    • First observedcreate_blueprint_function_library
    • First observedcreate_blueprint_interface
    • First observedcreate_blueprint_macro_library
    • First observedcreate_bt_attack_task
    • First observedcreate_bt_decorator
    • First observedcreate_bt_service
    • First observedcreate_bt_task
    • First observedcreate_bt_wander_task
    • First observedcreate_character_animation_setup
    • First observedcreate_character_blueprint
    • First observedcreate_circular_movement_component
    • First observedcreate_comment_box
    • First observedcreate_data_table
    • First observedcreate_dynamic_material_instance
    • First observedcreate_editor_utility_blueprint
    • First observedcreate_enemy_spawner_blueprint
    • First observedcreate_enhanced_input_action
    • First observedcreate_enum
    • First observedcreate_experience_level_component
    • First observedcreate_fps_character
    • First observedcreate_full_enemy_ai
    • First observedcreate_full_upgraded_enemy_ai
    • First observedcreate_game_instance
    • First observedcreate_game_mode
    • First observedcreate_grab_component
    • First observedcreate_hud_blueprint
    • First observedcreate_hud_widget
    • First observedcreate_ik_retargeter
    • First observedcreate_ik_rig
    • First observedcreate_input_mapping
    • First observedcreate_input_mapping_context
    • First observedcreate_level_variant_sets
    • First observedcreate_lose_screen_widget
    • First observedcreate_material
    • First observedcreate_pause_menu_widget
    • First observedcreate_pickup_blueprint
    • First observedcreate_player_controller
    • First observedcreate_procedural_mesh_blueprint
    • First observedcreate_product_configurator_blueprint
    • First observedcreate_projectile_blueprint
    • First observedcreate_random_spawner_blueprint
    • First observedcreate_round_based_game_system
    • First observedcreate_savegame_blueprint
    • First observedcreate_scene_component
    • First observedcreate_spline_placement_blueprint
    • First observedcreate_struct
    • First observedcreate_umg_widget_blueprint
    • First observedcreate_vr_pawn_blueprint
    • First observedcreate_win_menu_widget
    • First observedcrowd_configure_detour
    • First observedcrowd_configure_rvo
    • First observeddelete_actor
    • First observeddelete_blueprint_node
    • First observeddescribe_bridge_toolset
    • First observeddescribe_toolset
    • First observeddisconnect_blueprint_nodes
    • First observededitor_dismiss_blocking_dialog
    • First observededitor_list_blocking_dialogs
    • First observedeqs_add_generator
    • First observedeqs_add_test
    • First observedeqs_create_query
    • First observedeqs_describe_query
    • First observedexec_python
    • First observedexecution_journal_finish
    • First observedexecution_journal_log
    • First observedexecution_journal_start
    • First observedfind_actors_by_class
    • First observedfind_actors_by_name
    • First observedfind_blueprint_nodes
    • First observedfocus_viewport
    • First observedgameplay_debugger_capture_ai
    • First observedgas_add_tag
    • First observedgas_apply_effect
    • First observedgas_create_ability
    • First observedgas_create_ability_task_node
    • First observedgas_create_attribute_set
    • First observedgas_create_gameplay_cue
    • First observedgas_create_gameplay_effect
    • First observedgas_grant_ability
    • First observedgen_capture_texture_paint_snapshot
    • First observedgen_check_credit_budget
    • First observedgen_compile_generated_animation_evidence
    • First observedgen_compile_ide_companion_readiness
    • First observedgen_compile_texture_paint_evidence
    • First observedgen_get_provider_config
    • First observedgen_list_providers
    • First observedgen_prepare_import_manifest
    • First observedgen_prepare_texture_paint_session
    • First observedgen_record_texture_paint_pass
    • First observedgen_save_provider_config
    • First observedgen_texture_from_prompt
    • First observedgen_tripo_download_result
    • First observedgen_tripo_get_credit_balance
    • First observedgen_tripo_get_task_status
    • First observedgen_tripo_image_to_model
    • First observedgen_tripo_import_to_project
    • First observedgen_tripo_multiview_to_model
    • First observedgen_tripo_post_process
    • First observedgen_tripo_refine_model
    • First observedgen_tripo_text_to_model
    • First observedgen_tripo_texture_model
    • First observedgen_tripo_wait_for_task
    • First observedgen_uthana_check_download_allowed
    • First observedgen_uthana_create_character
    • First observedgen_uthana_create_locomotion
    • First observedgen_uthana_download_motion
    • First observedgen_uthana_get_account
    • First observedgen_uthana_get_character
    • First observedgen_uthana_get_job
    • First observedgen_uthana_get_motion
    • First observedgen_uthana_import_animation_to_project
    • First observedgen_uthana_text_to_motion
    • First observedgen_uthana_video_to_motion
    • First observedgenerate_client_config
    • First observedgeom_apply_displacement
    • First observedgeom_bake_to_static_mesh
    • First observedgeom_boolean_op
    • First observedgeom_create_dynamic_mesh
    • First observedgeom_extrude
    • First observedgeom_remesh
    • First observedgeom_uv_unwrap
    • First observedget_actor_identity
    • First observedget_actor_properties
    • First observedget_actors_in_level
    • First observedget_blueprint_components
    • First observedget_blueprint_functions
    • First observedget_blueprint_graphs
    • First observedget_blueprint_nodes
    • First observedget_blueprint_variable_defaults
    • First observedget_blueprint_variables
    • First observedget_bt_graph_info
    • First observedget_changed_assets_since
    • First observedget_knowledge_base
    • First observedget_node_by_id
    • First observedget_onboarding_context
    • First observedget_project_context
    • First observedget_recent_output_log
    • First observedget_scs_nodes
    • First observedget_server_info
    • First observedget_skeleton_bone_names
    • First observedghostrigger_call_mcp_tool
    • First observedghostrigger_export_model
    • First observedghostrigger_health
    • First observedghostrigger_import_to_ue5
    • First observedghostrigger_list_mcp_tools
    • First observedghostrigger_list_resources
    • First observedghostrigger_open_creature
    • First observedghostrigger_open_model
    • First observedghostrigger_ping
    • First observedghostrigger_read_resource
    • First observedhlod_assign_layer
    • First observedhlod_generate
    • First observedimplement_blueprint_interface
    • First observedimport_animation_fbx
    • First observedimport_folder_as_character
    • First observedimport_skeletal_mesh
    • First observedimport_sound_asset
    • First observedimport_sound_asset_from_sandbox
    • First observedimport_static_mesh
    • First observedimport_texture
    • First observedinsanitii_audio_feedback_report
    • First observedinsanitii_manual_control_readiness_report
    • First observedinsanitii_phase1_readiness_report
    • First observedinsanitii_phase2_lifestyle_report
    • First observedinsanitii_phase3_objective_report
    • First observedinsanitii_phase3_pie_runtime_report
    • First observedinsanitii_place_day1_set_dressing
    • First observedinsanitii_place_ordinary_errand_stations
    • First observedinsanitii_player_station_interaction_route_report
    • First observedinsanitii_save_load_report
    • First observedinsanitii_world_reactivity_report
    • First observedinsert_anim_graph_slot
    • First observedinsert_blend_bool_fire_before_slot
    • First observedinspect_input_mapping_context
    • First observedinspect_static_mesh_sections
    • First observedlist_available_tools
    • First observedlist_bridge_toolsets
    • First observedlist_knowledge_base_topics
    • First observedlist_toolsets
    • First observedmake_actor_vr_grabbable
    • First observedmass_add_trait
    • First observedmass_create_entity_config
    • First observedmass_inspect_entity_config
    • First observedmat_add_expression
    • First observedmat_compile
    • First observedmat_connect_expressions
    • First observedmat_create_material
    • First observedmat_get_compile_diagnostics
    • First observedmat_validate_material
    • First observedmaterial_create_function
    • First observedmaterial_create_instance_from_master
    • First observedmaterial_create_master
    • First observedmaterial_set_instance_parameters_bulk
    • First observedmaterial_wire_texture_set
    • First observedmesh_audit_uv_channels
    • First observedmetahuman_assign_dna
    • First observedmetahuman_configure_wrapper
    • First observedmetahuman_import
    • First observedmetahuman_inspect_package
    • First observedmetahuman_link_to_skeleton
    • First observedmetasound_add_node
    • First observedmetasound_compile
    • First observedmetasound_connect_pins
    • First observedmetasound_create_patch
    • First observedmetasound_create_source
    • First observedmotion_add_database_sequence
    • First observedmotion_create_pose_search_database
    • First observedmotion_create_pose_search_schema
    • First observedmotion_inspect_pose_search_asset
    • First observedmove_blueprint_node
    • First observedmrq_add_render_setting
    • First observedmrq_create_job
    • First observedmrq_render_queue
    • First observednav_add_modifier_volume
    • First observednav_create_link_proxy
    • First observednav_describe_agent_settings
    • First observednet_add_authority_gate
    • First observednet_add_replicated_component
    • First observednet_add_repnotify_variable
    • First observednet_add_role_switch
    • First observednet_configure_replicated_property
    • First observednet_configure_rpc
    • First observednet_create_rpc_event
    • First observednet_describe_blueprint_replication
    • First observednet_get_replication_graph_state
    • First observednet_set_actor_replicates
    • First observednet_set_component_replicates
    • First observednet_set_function_rpc
    • First observednet_set_owner_reference
    • First observednet_set_property_replicated
    • First observednet_set_replication_condition
    • First observednet_set_role_override
    • First observednet_validate_common_mistakes
    • First observednetwork_debug_replication
    • First observedniagara_add_empty_emitter
    • First observedniagara_add_mesh_renderer
    • First observedniagara_add_sprite_renderer
    • First observedniagara_apply_system_settings
    • First observedniagara_create_system
    • First observedniagara_describe_system
    • First observedniagara_find_systems
    • First observedniagara_get_effect_recipe
    • First observedniagara_profile_system
    • First observedniagara_set_fixed_bounds
    • First observedniagara_set_spawn_rate
    • First observedniagara_set_system_user_parameter
    • First observedniagara_validate_authoring_support
    • First observedonline_configure_default_subsystem
    • First observedonline_configure_eos_sessions
    • First observedonline_create_eos_artifact_config
    • First observedonline_inspect_config
    • First observedpcg_check_support
    • First observedpcg_create_graph_asset
    • First observedpcg_create_volume
    • First observedpcg_refresh_volume
    • First observedperception_add_component
    • First observedperception_bind_updated_event
    • First observedperception_configure_hearing
    • First observedperception_configure_sight
    • First observedperception_create_stimulus_source
    • First observedperception_describe_blueprint
    • First observedperformance_audit_gpu
    • First observedpie_capture_log
    • First observedpie_launch_session
    • First observedpie_simulate_input
    • First observedpie_stop_session
    • First observedping_unreal
    • First observedpixelstream_configure_plugin
    • First observedpixelstream_configure_streamer
    • First observedpixelstream_create_launch_profile
    • First observedpixelstream_inspect_config
    • First observedplace_navmesh_bounds_volume
    • First observedproject_find_assets
    • First observedproject_find_blueprint_by_parent
    • First observedproject_get_references
    • First observedproject_list_subsystems
    • First observedproject_trace_reference_chain
    • First observedreconstruct_blueprint_node
    • First observedrename_blueprint_comment_node
    • First observedrenderer_capture_viewmode
    • First observedrepair_behavior_tree
    • First observedretarget_single_animation
    • First observedrisk_evaluate_action
    • First observedsave_blueprint
    • First observedsc_get_changelist
    • First observedsc_get_provider_info
    • First observedsc_get_status
    • First observedscan_export_folder
    • First observedscan_project_assets
    • First observedsearch_bridge_commands
    • First observedsearch_knowledge_base
    • First observedserver_cancel_operation
    • First observedserver_lifecycle_status
    • First observedserver_list_operations
    • First observedserver_operation_status
    • First observedserver_protocol_contract
    • First observedserver_refresh_metadata
    • First observedserver_transport_diagnostics
    • First observedsession_create_blueprint_flow
    • First observedsession_find_blueprint_flow
    • First observedset_actor_property
    • First observedset_actor_transform
    • First observedset_animation_for_state
    • First observedset_behavior_tree_blackboard
    • First observedset_blackboard_value
    • First observedset_blueprint_ai_controller
    • First observedset_blueprint_parent_class
    • First observedset_blueprint_property
    • First observedset_blueprint_variable_default
    • First observedset_collision_settings
    • First observedset_component_parent_socket
    • First observedset_component_property
    • First observedset_game_mode_for_level
    • First observedset_ik_rig_retarget_root
    • First observedset_material_on_actor
    • First observedset_node_pin_value
    • First observedset_pawn_properties
    • First observedset_physics_properties
    • First observedset_sequencer_track
    • First observedset_skeletal_mesh_properties
    • First observedset_spawn_actor_class
    • First observedset_static_mesh_properties
    • First observedset_text_block_binding
    • First observedsetup_full_retargeting_pipeline
    • First observedsetup_full_save_load_system
    • First observedsetup_hit_material_swap
    • First observedsetup_navmesh
    • First observedshader_analyze_complexity
    • First observedshader_visualize_overdraw
    • First observedskill_audit_blueprint_health
    • First observedskill_compile_ide_companion_asset_lifecycle_manifest
    • First observedskill_compile_ide_companion_blocker_resolution
    • First observedskill_compile_ide_companion_dashboard
    • First observedskill_compile_ide_companion_editor_queue
    • First observedskill_compile_ide_companion_placeholder_manifest
    • First observedskill_compile_ide_companion_session
    • First observedskill_compile_ide_companion_status
    • First observedskill_compile_ide_companion_work_order
    • First observedskill_create_health_system
    • First observedskill_generate_city_district
    • First observedskill_generate_playable_slice
    • First observedskill_package_vertical_slice_report
    • First observedskill_plan_gameplay_mechanic
    • First observedskill_record_ide_companion_evidence
    • First observedskill_repair_broken_blueprint
    • First observedskill_resume_ide_companion_session
    • First observedsmartobject_add_slot
    • First observedsmartobject_create_definition
    • First observedsmartobject_inspect_definition
    • First observedspatial_add_asset_to_scene
    • First observedspatial_analyze_room
    • First observedspatial_apply_composition_plan
    • First observedspatial_assess_environment_coherence
    • First observedspatial_bind_generated_assets_to_composition
    • First observedspatial_catalog_project_assets
    • First observedspatial_compile_worldbuilding_readiness
    • First observedspatial_content_selection_context
    • First observedspatial_describe_actor
    • First observedspatial_infer_functional_zones
    • First observedspatial_infer_placement_policy
    • First observedspatial_infer_screenshot_scene_graph
    • First observedspatial_place_selected_assets
    • First observedspatial_plan_asset_scale_corrections
    • First observedspatial_plan_composition_iteration
    • First observedspatial_plan_interior_composition
    • First observedspatial_plan_interior_prop_program
    • First observedspatial_plan_layout_preflight_corrections
    • First observedspatial_plan_room_bounds_designation
    • First observedspatial_plan_screenshot_reconstruction
    • First observedspatial_plan_support_surface_anchors
    • First observedspatial_plan_worldbuilding_work_order
    • First observedspatial_preflight_candidate_clearance
    • First observedspatial_preflight_interior_layout
    • First observedspatial_preflight_screenshot_detections
    • First observedspatial_prepare_screenshot_crop_manifest
    • First observedspatial_prepare_screenshot_decomposition_request
    • First observedspatial_prepare_tripo_generation_batch
    • First observedspatial_proximity_map
    • First observedspatial_query_actors
    • First observedspatial_resolve_project_assets
    • First observedspatial_scene_overview
    • First observedspatial_select_actors
    • First observedspatial_surface_probe
    • First observedspatial_validate_placement
    • First observedspatial_view_context
    • First observedspawn_actor
    • First observedspawn_blueprint_actor
    • First observedstatetree_add_state
    • First observedstatetree_create
    • First observedstatetree_inspect
    • First observedtake_screenshot
    • First observedtexture_audit_memory
    • First observedtexture_generate_orm
    • First observedtool_contribution_contract
    • First observedue_describe_asset
    • First observedue_exec_progress
    • First observedue_exec_safe
    • First observedue_exec_transact
    • First observedue_find_assets_by_class
    • First observedue_list_editor_selection
    • First observedue_list_uclass_methods
    • First observedue_list_uclass_properties
    • First observedue_reflect_class
    • First observedue_summarize_operation_effects
    • First observedumg_add_widget_binding
    • First observedunbind_event_from_dispatcher
    • First observedvalidate_import_result
    • First observedvertex_paint_actor
    • First observedviewport_capture_screenshot
    • First observedviewport_compare_screenshot
    • First observedwidget_add_child
    • First observedwidget_get_children
    • First observedwidget_set_anchor
    • First observedwidget_set_property
    • First observedwire_play_sound_to_blueprint
    • First observedwp_create_data_layer
    • First observedwp_load_region
    • First observedwp_unload_region

TDQS

C2.8/5.0

Scored across 729 tools

Disambiguation1/5

Massive redundancy makes tool selection nearly impossible. Identical or near-identical operations exist under multiple names: add_branch_node vs add_blueprint_branch_node vs bp_add_node, compile_blueprint vs bp_compile vs compile_blueprint_and_report, exec_python vs ue_exec_safe vs ue_exec_transact, and net_set_function_rpc vs net_create_rpc_event. An agent cannot reliably distinguish dozens of overlapping groups.

Naming Consistency2/5

Individual sub-families are consistent (spatial_*, gen_*, net_*), but the Blueprint tooling alone alternates between add_blueprint_*_node, add_*_node, and bp_* prefixes for the same operations. Verbs like create/add/build/insert are used interchangeably, and parallel APIs (create_material vs mat_create_material vs material_create_master) break any single predictable pattern.

Tool Count1/5

729 tools is an extreme mismatch for any conceivable server scope, far beyond the 50+ threshold for a 1. Even a comprehensive Unreal Engine integration would be better served by 30-50 consolidated tools; this count makes tool discovery and selection itself the primary obstacle.

Completeness4/5

The surface covers nearly every Unreal domain: Blueprint graphs, AI, animation, materials, VFX, UI, networking, GAS, audio, world building, geometry, and generative pipelines, each with create/read/update plus validation and repair tools. Minor gaps exist (e.g., asset deletion for several asset types), but exec_python and generic bridge tools provide escape hatches.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for controlling Unreal Engine 5 from AI agents, providing 120+ commands for spawning actors, editing Blueprints, managing assets, and more via CLI or MCP.
    25 PyPI
    211
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that gives AI agents broad control over Unreal Engine 5.7, enabling actor/asset/level management, Blueprint and material creation, screenshots, automation, and arbitrary editor Python execution.
    35
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to control and query Unreal Engine 4.27.2 editor through MCP, supporting asset creation, level editing, and project inspection via Python remote execution.
    220 npm
    23
    MIT