Skip to main content
Glama

UEMCP

CI PyPI Python License: MIT

Drive Unreal Engine 5 with Claude. Nothing to install inside Unreal.

UEMCP is an open source MCP server by ATDev that connects Claude (Claude Code, Claude Desktop, or any MCP client) to a live Unreal Engine 5 editor. Spawn actors, build materials, author Blueprints, manage assets, fly the viewport camera, take screenshots, and run arbitrary editor Python, all from a conversation.

Why this one is different

Most Unreal MCP servers ship a C++ plugin you have to copy into your project and compile. UEMCP speaks Unreal's built-in Python remote execution protocol instead: the same multicast discovery and TCP command channel that ships with every copy of the engine. That means:

  • Zero install on the Unreal side. No plugin to build, no project files to modify, no engine version matrix to chase.

  • Works with vanilla UE 5.0 through 5.7, including Epic Games Launcher builds.

  • Structured results, not log scraping. Every tool runs inside an error-capturing harness in the editor and returns clean JSON, with real Python tracebacks when something fails.

  • Self-healing connection. Restart the editor mid-session and the next tool call reconnects automatically.

  • An escape hatch. ue_python gives Claude the full unreal module for anything the 38 dedicated tools do not cover.

Related MCP server: unreal-mcp

Quickstart

New here? The step-by-step getting started guide walks through everything below in detail, including the one gotcha that trips up Windows machines with a VPN.

1. Set up Unreal (one time, about 30 seconds)

  1. Open your project in Unreal Editor.

  2. Edit > Plugins, search for Python Editor Script Plugin, enable it, restart when prompted.

  3. Edit > Project Settings, search for Python, check Enable Remote Execution.

That is the entire Unreal-side setup.

2. Add the server to Claude

With uv installed:

Claude Code

claude mcp add unreal -- uvx uemcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "unreal": {
      "command": "uvx",
      "args": ["uemcp"]
    }
  }
}

pip, or from a clone of this repo

pip install uemcp && uemcp
# or
git clone https://github.com/ATDev-Inc/uemcp && cd uemcp && uv run uemcp

More detail, including pinning to one project when several editors are open: docs/setup.md.

3. Talk to your editor

"Spawn a point light 300 units up, make it warm orange at 8000 intensity, then screenshot the viewport."

"Find every static mesh asset with 'rock' in the name and scatter 20 of them in a rough circle around the origin."

"Create a BP_Collectible blueprint with a static mesh component and a sphere collision, set its mesh to the gold coin asset."

Tools

Group

Tools

Editor

ue_status, ue_python, ue_console_command, ue_project_info

Actors

ue_list_actors, ue_spawn_actor, ue_destroy_actor, ue_set_actor_transform, ue_set_actor_property, ue_get_actor, ue_batch_edit

Assets

ue_search_assets, ue_asset_info, ue_import_asset, ue_create_folder, ue_duplicate_asset, ue_delete_asset, ue_save_all

Asset libraries

ue_asset_providers, ue_search_sketchfab, ue_import_sketchfab

AI generation

ue_generate_model, ue_generation_status, ue_import_generated

Materials

ue_create_material, ue_create_material_instance, ue_assign_material

Blueprints

ue_create_blueprint, ue_add_component, ue_set_blueprint_default

Levels

ue_open_level, ue_new_level

Viewport

ue_set_camera, ue_get_camera, ue_focus_actor, ue_screenshot

Play

ue_play, ue_stop_play

Render

ue_render_sequence

Conventions: project content paths look like /Game/Props/SM_Chair, engine classes like /Script/Engine.PointLight. Distances are centimeters, rotations are [roll, pitch, yaw] in degrees, colors are [r, g, b] in 0..1.

Full parameter and return documentation for every tool: docs/tools.md.

How it works

Claude (MCP client)
   |  stdio (MCP)
   v
uemcp server (this package, plain Python)
   |  UDP multicast 239.0.0.1:6766  -> discovery ping/pong
   |  TCP command channel           -> JSON commands and results
   v
Unreal Editor (built-in Python remote execution)

Each tool builds a small Python snippet, wraps it in a harness that catches exceptions, runs it in the editor, and parses a sentinel-prefixed JSON line back out of the log output. The snippet builders are pure functions, so CI compiles every one of them without needing Unreal installed.

How it compares

UEMCP is infrastructure, not a product: an open MCP server that exposes a live UE5 editor to any MCP client, rather than an embedded in-editor agent with a bundled model. For the tradeoffs against embedded agents (and what we borrow from them), see docs/positioning.md.

Configuration

Everything works with defaults when the editor and server are on the same machine. Override with environment variables when needed:

Variable

Default

Purpose

UEMCP_PROJECT

(first found)

Prefer a specific project when several editors are open

UEMCP_MULTICAST_GROUP

239.0.0.1

Discovery multicast group

UEMCP_MULTICAST_PORT

6766

Discovery port

UEMCP_COMMAND_HOST

127.0.0.1

Host the editor connects back to

UEMCP_COMMAND_TIMEOUT

120

Per-command timeout in seconds

UEMCP_DISCOVERY_TIMEOUT

2

Discovery wait in seconds

UEMCP_DISCOVERY_ATTEMPTS

3

Discovery retries before giving up

UEMCP_EDITOR_CMD

(derived)

Path to UnrealEditor-Cmd for headless renders; defaults to the running editor's executable

uemcp --project MyGame is shorthand for UEMCP_PROJECT=MyGame.

Security notes

UEMCP executes Python inside your editor process, by design. Treat it like giving Claude the editor's Python console:

  • The remote execution protocol has no authentication. Keep the defaults (localhost command channel, multicast TTL 0) unless you fully control the network.

  • Tools can modify and delete project content. Use source control on your project. You should be doing that anyway.

  • Review what an agent did with ue_save_all withheld if you want a manual checkpoint before anything hits disk.

Documentation

Doc

What it covers

docs/getting-started.md

Friendly end-to-end walkthrough from zero to your first spawned actor

docs/setup.md

Detailed Unreal and client setup, multiple editors, remote machines

docs/tools.md

Full reference for all 40 tools: parameters, returns, examples

docs/architecture.md

The wire protocol, the snippet harness, and how to add a tool

docs/troubleshooting.md

Connection problems, firewalls, common tool errors

docs/cookbook.md

Prompt recipes: lighting rigs, greyboxing, asset audits

Development

git clone https://github.com/ATDev-Inc/uemcp
cd uemcp
uv sync
uv run pytest
uv run ruff check .

The test suite runs entirely without Unreal: protocol tests talk to a fake editor over real sockets, and every in-editor snippet is compile-checked.

Roadmap

  • More asset providers on the existing interface (Sketchfab catalog and Meshy text-to-3D ship today): image-to-3D generation, more generation backends, and Fab/Quixel Megascans

  • Sequencer tools (create level sequences, bind actors, render movies)

  • Niagara system spawning and parameter control

  • Landscape sculpting primitives

  • True PIE (play-in-editor) control with input injection

  • Asset thumbnails as MCP resources

Community

  • Contributing: CONTRIBUTING.md has a contribution ladder from docs fixes up to new tools. If you keep reaching for the same ue_python snippet, that is a tool waiting to be born, and a working snippet pasted into an issue is 80% of the work.

  • Bugs: use the issue templates. The in-editor traceback from the tool error is the most useful thing you can include.

  • Security: see SECURITY.md. Report vulnerabilities privately, not in public issues.

  • Releases: CHANGELOG.md and GitHub releases.

  • Conduct: CODE_OF_CONDUCT.md.

License

MIT. Copyright (c) 2026 ATDev.

Available Tools

31 tools
ue_add_componentC

Add a component to a Blueprint (StaticMeshComponent or a /Script class path).

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_pathYes
component_classYes
nameNo

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 disclosure. However, it fails to mention behavioral traits such as whether the component is added in-memory or requires saving, whether duplicates are allowed, or if the blueprint is modified immediately. The description is silent on these aspects, leaving the agent uninformed.

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

Conciseness3/5

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

The description is a single sentence, making it concise. However, it sacrifices necessary detail for brevity. It is front-loaded with the action and resource but lacks structured information. Every word earns its place, but additional context would improve usability 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 3 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, error conditions, or side effects. For a tool that modifies an asset, the description should disclose that the blueprint is altered and may require saving. The current description leaves significant gaps for effective use.

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. It provides a hint for component_class (StaticMeshComponent or /Script class path) but does not explain blueprint_path or name at all. The description adds minimal value beyond the parameter names, leaving the purpose of each parameter 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 description clearly states the action ('Add a component') and the target resource ('Blueprint'), with specific examples of component types (StaticMeshComponent or /Script class path). While it distinguishes this tool from siblings that perform different operations (e.g., creating blueprints), it could be more precise about the scope (e.g., existing Blueprint assets).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., blueprint must exist), when not to use it, or how it differs from sibling tools like ue_set_blueprint_default. The agent receives no contextual cues for proper invocation.

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

ue_asset_infoA

Inspect one asset: class, plus mesh LODs/materials or blueprint class when relevant.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

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 disclose behavioral traits. It states that the tool inspects an asset and returns certain data, which suggests a read-only operation. However, it does not mention error handling, required permissions, or any side effects.

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

Conciseness5/5

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

The description is a single sentence of 15 words, front-loading the core purpose. Every word is necessary, 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 tool with one parameter and no output schema, the description provides sufficient context to understand its basic function and output. However, it could mention potential return formats or constraints for 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 one parameter 'path' with no description, and schema description coverage is 0%. The description mentions 'one asset' but does not clarify the expected path format (e.g., content browser path, full object path). It adds minimal 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 verb 'Inspect' and the resource 'one asset', and lists specific information returned (class, mesh LODs/materials, or blueprint class). This distinguishes it from sibling tools that perform creation, deletion, or other actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 inspection but does not provide explicit guidance on when to use this tool instead of alternatives like ue_get_actor or ue_search_assets. No when-not 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.

ue_assign_materialC

Assign a material to the first mesh component of an actor.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
material_pathYes
slotNo

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 must convey behavior but only states the action. It does not disclose side effects (e.g., replacement of existing material, reversibility), error cases (no mesh component), or the role of the 'slot' 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 extremely concise (one sentence, 14 words). However, it could be improved by adding parameter information without becoming overly 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 three parameters and no output schema or annotations, the description is insufficient. It fails to explain parameter details, return values, or error conditions, making it incomplete for an effective agent 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?

Schema description coverage is 0% and the description adds no meaning beyond the names 'label', 'material_path', and 'slot'. No details on format, constraints, or purpose of 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 action ('assign'), resource ('material'), and target ('first mesh component of an actor'). It effectively differentiates from sibling tools like ue_create_material, which focus on creation rather than assignment.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites (e.g., actor must have a mesh component). The description lacks context for appropriate usage scenarios.

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

ue_console_commandB

Execute an Unreal console command (for example stat fps or r.ScreenPercentage 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

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 should disclose behavioral traits. It only states execution but lacks information on return values, error handling, side effects, or safety implications.

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

Conciseness4/5

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

The description is one sentence with examples, no redundant information. It is front-loaded and 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 simplicity of the tool (single parameter, no output schema), the description is adequate but lacks details on return values and behavioral context. It is 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 coverage is 0%, so the description must compensate. It provides examples but does not explain the 'command' parameter's format, allowed values, or constraints beyond being a string.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'Execute an Unreal console command' with concrete examples. It distinguishes the tool from siblings which deal with assets, actors, levels, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 any Unreal console command but provides no guidance on when to use it vs alternatives, nor any exclusions or best practices.

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

ue_create_blueprintC

Create a Blueprint asset from a parent class path or parent Blueprint asset path.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderYes
nameYes
parent_classNo/Script/Engine.Actor

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so the description should fully disclose behavior. It only states the action (create) without revealing side effects, permissions, or whether the asset is saved automatically. Minimal behavioral context beyond the basic 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 a single sentence that directly states the purpose without unnecessary words. It is concise but could benefit from better structure or additional 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?

Given the lack of annotations, output schema, and only three parameters, the description is too minimal. It does not cover expected behavior, return values, error conditions, or lifecycle implications of creating an asset.

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% (no parameter descriptions). The description references parent class/path but does not explain `folder` or `name` parameters, nor their formats or constraints. Adds only marginal meaning to the 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 clearly states the tool creates a Blueprint asset and mentions the key input (parent class/path). It is specific to the verb and resource, but does not explicitly distinguish from sibling tools like `ue_create_material`.

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 (e.g., `ue_spawn_actor` for placing actors, or `ue_create_material` for materials). No exclusions or prerequisites mentioned.

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

ue_create_folderB

Create a content browser folder, for example /Game/Levels/Greybox.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

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 fully disclose behavior. It fails to mention what happens if the folder already exists, permission requirements, or whether parent directories are auto-created, leaving critical gaps for a create 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?

Single sentence with an example is efficient and front-loaded. No unnecessary words, but could incorporate more details without sacrificing brevity.

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 (one parameter, no output schema), the description covers basic purpose and a parameter hint. However, it lacks completeness on error handling and edge cases, making it 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 coverage is 0%, and the description only gives an example path ('/Game/Levels/Greybox'), hinting at the format but not specifying required structure, allowed characters, or restrictions. The parameter is minimally defined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 clearly states 'Create a content browser folder' and provides a concrete example '/Game/Levels/Greybox', making the action and resource unambiguous and distinguishing it from sibling asset 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?

No explicit guidance on when to use this tool versus alternatives like ue_create_blueprint or ue_create_material. The description relies solely on the tool name and siblings to imply context, but lacks direct usage cues.

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

ue_create_materialC

Create a simple constant-based material. base_color and emissive are [r, g, b] 0..1.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderYes
nameYes
base_colorNo
metallicNo
roughnessNo
emissiveNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It only states creation but omits side effects, requirements (e.g., folder must exist?), or defaults for null parameters. Insufficient for safe invocation.

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?

Extremely concise (one sentence) but lacks essential details. Not verbose, but missing critical usability information makes it under-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 6 parameters, no annotations, no output schema, the description is too sparse. Does not explain return values, constant behavior, or folder path implications. Incomplete for effective use.

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

Parameters3/5

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

Schema has 0% description coverage. Description adds meaning for base_color and emissive (format [r,g,b] 0..1) but ignores folder, name, metallic, roughness. Partial improvement over 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 'Create a simple constant-based material,' specifying the purpose and distinguishing it from material instance creation (sibling). The constraint on base_color and emissive format adds 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?

No guidance on when to use this tool vs alternatives like ue_create_material_instance. No prerequisites or exclusions mentioned. The agent is left uninformed about selection criteria.

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

ue_create_material_instanceC

Create a material instance of a parent material and set its parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderYes
nameYes
parent_pathYes
scalar_paramsNo
vector_paramsNo
texture_paramsNo

TDQS

C2.3/5.0
Behavior1/5

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

No annotations provided, and the description does not disclose behavioral traits such as whether existing instances are overwritten, error handling, or side effects. It only states the action 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.

Conciseness3/5

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

The description is very short, which is concise, but it lacks necessary detail to be effective. It is not overly verbose, but under-specification reduces its 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?

Given no annotations, no output schema, and sibling tools, the description is incomplete. It does not explain return values, error conditions, or behavior for invalid inputs, leaving agents with insufficient 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?

The input schema has 0% description coverage, and the description only mentions 'set its parameters' without explaining the format or expected keys for scalar_params, vector_params, or texture_params. Agents cannot infer correct 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 clearly states it creates a material instance and sets its parameters, distinguishing it from sibling tools like ue_create_material (creates parent) and ue_assign_material (assigns to actor). However, it does not explicitly differentiate from other instance 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?

No guidance on when to use this tool versus alternatives, nor prerequisites (e.g., parent_path must be a valid material). The description lacks context for appropriate use.

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

ue_delete_assetA

Delete an asset from the project. Fails if other assets still reference it.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

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 behavioral burden. It explicitly states that deletion fails if other assets reference it, which is a key behavioral trait. This adds value beyond the schema. However, it does not disclose if the operation is reversible or if there is a confirmation prompt, leaving some 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 two sentences, front-loaded with the primary action and immediate constraint. Every word is meaningful 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?

Given the tool's simplicity (one required param, no output schema), the description covers the core behavior but omits success behavior (e.g., confirmation message) and any post-deletion effects. It is minimally complete but leaves the agent guessing on what to expect after 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?

Schema description coverage is 0%, and the single required parameter 'path' is not explained in the description. The description does not specify the path format (relative vs absolute), asset type, or scope. This fails to compensate for the low schema coverage, leaving the agent without guidance on how to provide the 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 clearly states the action ('Delete an asset') and provides a distinguishing constraint ('Fails if other assets still reference it'). It is a specific verb+resource pair and stands out from sibling tools like ue_duplicate_asset or ue_destroy_actor by focusing on asset deletion with a reference check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 an asset is no longer needed, and mentions a failure condition (if referenced). However, it does not explicitly state when to use this tool versus alternatives like ue_destroy_actor (for actors) or when to avoid it (e.g., if the asset is referenced). No guidance on prerequisites or context.

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

ue_destroy_actorB

Delete the actor with the given outliner label from the open level.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes

TDQS

B3.3/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 burden. It only states 'Delete' without disclosing behavioral details like permanence, authorization needs, or effects on other 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?

The description is a single, concise sentence that communicates the essential purpose without unnecessary words. It is front-loaded and 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 simple destructive tool with one parameter, the description is adequate but lacks details on error handling, return values, or prerequisites like the level being open.

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 clarifies that the 'label' parameter refers to the 'outliner label', adding meaning beyond the schema. However, no format or constraints are provided, and schema coverage is 0%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 (Delete), the resource (actor), and the context (from the open level). It is specific and distinguishes from sibling tools like ue_spawn_actor or ue_list_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 on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description only implies usage for deletion without additional context.

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

ue_duplicate_assetB

Duplicate an asset to a new content path.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes
destinationYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It does not disclose behavioral traits like whether overwriting occurs, asset type limitations, or 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?

Single sentence, no superfluous information. Efficient and to the point.

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 required string params, no output schema). The description is minimally adequate but lacks critical details like overwrite behavior, which affects 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?

Schema description coverage is 0%. Parameter names ('source', 'destination') are self-explanatory but the description adds no additional meaning, such as required path formats or 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 clearly states the action (duplicate), the resource (asset), and the outcome (to a new content path). It is distinct from sibling tools like delete, create, or import.

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. No prerequisites, exclusions, or contextual hints provided.

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

ue_focus_actorC

Select an actor and point the viewport camera at it.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes

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 fully bears the burden of disclosing behavioral traits. It only states the basic action (select and point camera), lacking details on destructiveness, permissions, or side effects (e.g., does it change viewport settings permanently?). 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 a single sentence that directly states the tool's purpose, with no extraneous words. It is front-loaded and efficient, though it could be slightly more structured with additional 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 tool with one required parameter and no output schema, the description should fully cover parameter usage and behavior. It omits explanation of the 'label' parameter and provides no information about success/failure conditions or side effects. This leaves significant gaps for an agent.

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

Parameters1/5

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

The description does not explain the single required parameter 'label' beyond its existence. Since schema description coverage is 0% and the parameter is just a string, the description adds no meaning—it does not clarify what the label refers to (actor name? tag?) or any 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 specific action: selecting an actor and pointing the viewport camera at it. This distinguishes it from sibling tools like 'ue_get_actor' (retrieve) and 'ue_set_camera' (set camera transform). It provides a clear verb-resource pair 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?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. Users must infer from the sibling context, but no explicit when-to-use or when-not-to-use information is given.

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

ue_get_actorA

Get an actor's transform, class, and component list by its outliner label.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes

TDQS

A3.5/5.0
Behavior3/5

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

The description discloses that the tool returns transform, class, and component list, indicating a read operation. However, it does not cover error behavior (e.g., missing actor) or any side effects. With no annotations, this is basic 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 a single sentence of 13 words, with no filler. It is succinct and front-loaded, stating the purpose immediately.

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 lists the three data items returned but does not specify the output format (e.g., JSON structure) or error handling. Given no output schema, more detail would be beneficial for a complete understanding.

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 adds context that the 'label' parameter refers to the outliner label, which is helpful. However, schema description coverage is 0%, and the description does not explain expected format, case sensitivity, or how to retrieve the label. It adds some meaning but not enough to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 specifies the verb 'Get' and the resource 'actor's transform, class, and component list', and identifies the lookup method 'by its outliner label'. This distinguishes it from siblings like 'list_actors' or 'set_actor_transform'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical use cases, 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.

ue_get_cameraA

Get the editor viewport camera's location and rotation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

The description discloses the output (location and rotation) but lacks additional behavioral context such as coordinate systems, units, or whether it affects the editor state. Since no annotations are provided, the description carries 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.

Conciseness5/5

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

The description is a single efficient sentence with no wasted words. Every word is necessary 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?

Given the simplicity (0 parameters, no output schema), the description is largely complete. It could optionally mention the coordinate system or specify 'active' camera, but not strictly required.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100%. The description adds meaning by explaining what the tool retrieves, which is adequate 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 clearly states the verb 'Get' and the specific resource 'editor viewport camera's location and rotation'. It is precise and distinct from sibling tool 'ue_set_camera' which sets the camera.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The simplicity implies it is for reading current camera state, but no exclusions or context are provided.

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

ue_import_assetC

Import a file from disk (FBX, OBJ, PNG, WAV, ...) into the project content folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
destinationNo/Game/Imported

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It does not mention overwrite behavior, permission requirements, file size limits, or any side effects like automatic conversion. The description is insufficient for an agent to understand the tool's full 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 a single concise sentence that is front-loaded with the core action. However, it sacrifices necessary detail for brevity, earning a 4 rather than 5.

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

Completeness2/5

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

Given the tool's complexity (importing external files into a game engine) and the lack of output schema, the description omits return values, error handling, and confirmation of successful import. It leaves significant gaps for an AI 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 should add significant parameter context. It only lists example file formats in the description text but does not correlate them with the 'file_path' parameter or explain 'destination' path format or allowed 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 verb 'Import', the resource 'file from disk', and the destination 'project content folder' with examples of supported formats (FBX, OBJ, PNG, WAV). It effectively distinguishes the tool from siblings like ue_create_blueprint or ue_delete_asset by focusing on external file import.

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, prerequisites (e.g., file existence), or when not to use it. The description only states what it does without contextual usage advice.

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

ue_list_actorsA

List actors in the open level, optionally filtered by class or label substring.

ParametersJSON Schema
NameRequiredDescriptionDefault
filter_classNo
name_containsNo
limitNo

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 fully disclose behavioral traits. It only states it lists actors, missing details on read-only nature, side effects, or performance implications.

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

Conciseness5/5

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

A single, concise sentence that is front-loaded and contains no fluff. Every word 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 list tool with no output schema, the description is adequate but lacks details on return format, ordering, default behavior, or the limit parameter. More context 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?

The description mentions filtering by class or label substring, which partially explains two parameters (filter_class, name_contains), but ignores the 'limit' parameter. With 0% schema coverage, it adds some value but is 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 clearly states the tool lists actors in the open level with optional filtering, using a specific verb and resource. It distinguishes from siblings like ue_get_actor (single actor) and ue_focus_actor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 listing actors with filters but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like ue_get_actor for a single actor.

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

ue_new_levelB

Create and open a new level, optionally copied from a template level asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
templateNo

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 full burden but only mentions the dual action (create and open) and optional template. It does not disclose side effects like overwriting existing files, permissions, or impact on the current level.

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

Conciseness5/5

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

The description is a single, concise sentence that efficiently conveys the tool's core functionality without extraneous information.

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

Completeness2/5

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

Given the lack of annotations, output schema, and parameter details, the description is insufficient for an agent to understand return values, error conditions, or whether previous state is preserved.

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 detail about the 'path' or 'template' parameters. The template is vaguely mentioned, but no format, constraints, or examples are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 ('Create and open a new level') and its optional template functionality, distinguishing it from sibling tools like ue_open_level which opens existing levels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 use this tool versus alternatives. It is implied for creating new levels, but no exclusion criteria or comparisons to similar tools (e.g., ue_open_level) are provided.

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

ue_open_levelB

Open a level by content path, for example /Game/Maps/MainLevel.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

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 only says 'Open a level' without disclosing side effects like closing the current level, saving changes, or whether it reloads an already open level.

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

Conciseness5/5

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

One sentence with an example, efficiently conveying the essential information. 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 simple one-parameter tool with no output schema, the description provides an adequate overview. However, it lacks behavioral context regarding state changes, which is important for a level-opening 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 single parameter 'path' has no schema description (0% coverage), but the description adds a concrete example '/Game/Maps/MainLevel', clarifying the expected format. This adds 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 verb 'Open' and the resource 'level' with an example path. It distinguishes from siblings like 'ue_new_level' implicitly, but does not explicitly differentiate.

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 (e.g., 'ue_new_level') nor any conditions or exclusions. It simply states what it does without context.

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

ue_playA

Start simulating the open level in the editor viewport.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations, description carries full burden. Only states that it starts simulation, omitting any side effects, prerequisites, or assumptions about editor state. 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.

Conciseness5/5

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

Single sentence, front-loaded and concise. Every word adds 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 no parameters or output schema, the description adequately conveys the tool's action. However, noting return behavior or additional context 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?

No parameters, so schema coverage is 100%. Description does not need to add param information. Baseline for zero-param tool is 4.

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

Purpose5/5

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

Clear verb ('start'), resource ('simulating the open level'), and context ('in the editor viewport'). Distinguishes from sibling ue_stop_play.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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/why or alternative guidance. Implies a level must be open, but does not state when to use versus ue_open_level or ue_stop_play.

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

ue_project_infoA

Get engine version, project paths, and the currently open level.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 burden. It discloses that the tool returns engine version, project paths, and the currently open level. However, it does not mention preconditions (e.g., requires an open project), error cases, or side effects. For a simple getter, this 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 a single concise sentence. It front-loads the verb and lists the retrieved items without any filler. Every word is 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?

For a simple tool with no parameters and no output schema, the description covers the main return values. It could be improved by mentioning formats or types, but it is sufficiently complete for an agent to understand what the tool returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 schema coverage is 100% (trivially). The description adds meaning by specifying exactly what information is retrieved, which goes beyond the empty schema. Baseline for 0 params is 4, and the description fulfills this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'Get' and lists specific resources: engine version, project paths, and currently open level. This differentiates it from sibling tools that perform actions on assets (e.g., ue_open_level, ue_get_actor) by focusing on project-level metadata retrieval.

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 prerequisites, context, or cases where other tools 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.

ue_pythonA

Run arbitrary Python inside the Unreal Editor (full unreal module access).

This is the escape hatch for anything the dedicated tools do not cover. Use print() for output you want back.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

A4.4/5.0
Behavior3/5

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

Describes the tool as an escape hatch with full module access, implying potential for side effects. No annotations provided, so description carries burden; could mention destructive capabilities 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?

Two sentences, front-loaded with purpose, no waste. Every sentence adds 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 no output schema, description covers purpose, usage, and output mechanism. Could mention return value behavior but complete enough.

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

Parameters4/5

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

Adds meaning to the code parameter by stating it's arbitrary Python and that print() provides output. Schema has 0% description coverage, so description compensates well, though could clarify execution 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?

Clearly states it runs arbitrary Python in Unreal Editor with full unreal module access. Distinguishes from sibling tools by being the generic escape hatch.

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 it's for when dedicated tools don't cover, and advises to use print() for output. Provides clear when-to-use guidance.

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

ue_save_allA

Save all dirty packages: the open level and any modified assets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 burden. It discloses that only unsaved changes (dirty packages) are saved and specifies scope (open level, modified assets). However, it omits details on whether the operation is blocking, may fail, or has side effects, leaving some behavioral ambiguity.

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

Conciseness5/5

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

A single sentence of 11 words conveys the tool's purpose and scope efficiently. No redundant words or details. Front-loaded with the core action 'Save all dirty packages'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 no parameters and no output schema, the description adequately covers what it does. It could mention return behavior or failure modes, but for a simple save operation, the information provided is sufficient for an agent to understand its effect.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 schema coverage is 100%. The baseline for 0 parameters is 4. The description does not add parameter-specific information, but none is needed. It still provides behavioral context beyond 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 clearly states the tool saves 'dirty packages' and specifies it saves the open level and modified assets. This verb-resource combination is distinct from siblings like ue_delete_asset or ue_new_level, making 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?

No guidance is provided on when to use this tool versus alternatives. While siblings don't include other save tools, the description lacks context on prerequisites or situations where using 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.

ue_screenshotA

Take a screenshot of the editor viewport and return it as an image.

Only works when the MCP server runs on the same machine as the editor.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNo
heightNo

TDQS

A3.5/5.0
Behavior4/5

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

Given no annotations, the description discloses the critical behavioral constraint (same machine requirement) and the output type (image). For a simple read-only tool, this is sufficient.

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

Conciseness5/5

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

Two concise sentences, front-loaded with the core action, no redundant content. Every sentence adds 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?

No output schema provided and the description does not specify the image format (e.g., base64, PNG). Parameter semantics are missing, leaving gaps for accurate 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?

Schema description coverage is 0% and the description does not explain the width and height parameters. The agent is left to infer their purpose from defaults and parameter names, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 the tool takes a screenshot of the editor viewport and returns it as an image. This is a specific verb-resource combination that distinguishes it from sibling tools like ue_get_camera (camera info) or ue_console_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?

Provides one key condition: only works when MCP server runs on same machine as editor. However, it does not explicitly state when to use versus alternatives, nor does it mention when not to use.

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

ue_search_assetsA

Search project assets by name substring and/or class (StaticMesh, Material, ...).

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNo/Game
queryNo
class_filterNo
limitNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description only states the basic function. It does not disclose behavioral traits such as whether the operation is read-only, performance implications, or error handling, which is insufficient for a tool with no 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 a single sentence that is front-loaded with the verb and key details. Every word contributes meaning, with no waste.

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 basic purpose but lacks details on return format, sorting, or handling of large result sets. For a tool with 4 parameters and no output schema, the context is minimally adequate.

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 adds meaning for the 'query' and 'class_filter' parameters by explaining they filter by name substring and class. However, it does not explain the 'root' and 'limit' parameters, so it partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 (search), the resource (project assets), and the filtering criteria (name substring and/or class). It effectively distinguishes from sibling tools like ue_asset_info (info on a specific asset) and ue_list_actors (list 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 lacks explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or which sibling tools are more appropriate for different query needs.

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

ue_set_actor_propertyB

Set an editor property on an actor (snake_case name, for example intensity).

Lists of 3 or 4 numbers are coerced to Vector or LinearColor when needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
property_nameYes
valueYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description partially compensates by noting that lists of 3 or 4 numbers are coerced to Vector or LinearColor. However, it omits other behavioral details like whether the change is undoable, if the actor must be in a selected state, or if the property change persists.

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

Conciseness5/5

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

The description is extremely concise with two sentences. The first sentence immediately conveys the main action, and the second adds a useful detail. No redundant 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?

For a tool that modifies an actor property in Unreal Engine, the description lacks crucial context: prerequisites (actor existence), result (success/failure), side effects (e.g., transient vs. persistent change), and any assumptions about the editor state. Given no output schema, these gaps are 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 explain all parameters. It only provides an example for property_name and hints at value coercion, but does not clarify the meaning of 'label' or the exact format expected for property_name (e.g., full path vs. simple 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 the tool sets an editor property on an actor, with a concrete example ('intensity'). This clearly communicates the action and resource. However, it does not explicitly differentiate from sibling tools like ue_set_actor_transform, which could cause 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 guidance is provided on when to use this tool versus alternatives, such as when to use ue_set_actor_transform or other property setters. There are no prerequisites, exclusions, or contextual hints.

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

ue_set_actor_transformC

Move, rotate, or scale an actor by its outliner label. Omitted parts are unchanged.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
locationNo
rotationNo
scaleNo

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose coordinate systems, local vs world space, whether transformations are immediate, or error handling for missing labels. Lacks detail beyond basic function.

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?

Single sentence is concise and front-loaded, but too brief for a tool with 4 parameters and no annotations. More structure would improve 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?

No output schema and no annotations; description omits return values, error cases, and parameter details. Incomplete for the tool's complexity.

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 should explain parameter formats. It only mentions concept names and default behavior (unchanged), but not array structure 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?

Description clearly states the verb (move, rotate, or scale) and resource (actor by outliner label). It also specifies that omitted parts are unchanged, providing precise 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 guidance on when to use this tool versus alternatives like ue_set_actor_property. No prerequisites or conditions for use are mentioned.

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

ue_set_blueprint_defaultB

Set a class default value on a Blueprint and recompile it.

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprint_pathYes
property_nameYes
valueYes

TDQS

B3.1/5.0
Behavior3/5

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

The description discloses that the tool both sets a value and recompiles the Blueprint, which is a significant behavioral trait. However, no annotations are provided, and the description lacks details on side effects, failure conditions, or 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?

A single sentence that directly states the tool's purpose without any extraneous words. Highly 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?

Given no output schema, no annotations, and three required parameters, the description is too terse. It does not explain return values, error handling, or how to specify the value. The agent lacks sufficient context 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?

Schema description coverage is 0%, and the description provides no additional meaning for any of the three parameters (blueprint_path, property_name, value). The schema only gives names and types, leaving the agent to guess formats and 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 the verb 'Set' and the resource 'class default value on a Blueprint', and mentions the key action 'recompile'. It distinguishes from sibling tools like ue_set_actor_property which sets instance values.

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 like ue_set_actor_property or ue_create_blueprint. The description implies it's for class defaults, but no when-not or alternative naming.

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

ue_set_cameraA

Move the editor viewport camera. rotation is [roll, pitch, yaw] in degrees.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYes
rotationYes

TDQS

A3.5/5.0
Behavior3/5

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

The description indicates that this is a mutation (moving camera) and specifies rotation order and units. However, no annotations exist, so it carries full burden. It does not disclose whether the camera movement is instantaneous, animated, or requires a viewport. No error conditions or side effects mentioned.

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

Conciseness5/5

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

Extremely concise: two sentences, no fluff. First sentence states the action, second clarifies rotation format. 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?

No output schema, so description should explain what the user gets back (e.g., success flag). It does not. It also lacks prerequisites (e.g., viewport must be active). For a simple camera move, it is adequate but not thorough. Sibling tools like ue_get_camera or ue_set_actor_transform might require more 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 description must compensate. It adds meaning for 'rotation' (roll, pitch, yaw in degrees) but says nothing about 'location' (units, coordinate system, or format). Only partially compensates for the undocumented 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 'Move the editor viewport camera' which is a specific verb-resource pair. It distinguishes from siblings like ue_get_camera (get state) and ue_set_actor_transform (set actor transform). It also specifies rotation format.

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. Does not mention any prerequisites, exclusions, or context for use. For example, when to use this over ue_focus_actor or ue_set_actor_transform is not indicated.

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

ue_spawn_actorB

Spawn an actor from an engine class (/Script/Engine.PointLight) or an asset (/Game/...).

location is [x, y, z] in centimeters; rotation is [roll, pitch, yaw] in degrees.

ParametersJSON Schema
NameRequiredDescriptionDefault
class_pathYes
locationNo
rotationNo
scaleNo
labelNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, description carries full burden. It adds location and rotation units but fails to disclose side effects (e.g., creation of new actor, potential conflicts), permissions, 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.

Conciseness5/5

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

Extremely concise: two sentences conveying essential purpose and parameter units. No wasted words; 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 5 parameters (1 required) and no output schema, description omits critical details like scale format, label purpose, and any follow-up actions. Not sufficient for correct invocation without additional knowledge.

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%. Description explains format for location and rotation (e.g., [x,y,z] cm) but leaves class_path, scale, and label unexplained, missing opportunity to add meaning for required 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?

Description clearly states the tool spawns an actor from an engine class or asset path, providing specific examples. It distinguishes from sibling tools like ue_destroy_actor or ue_get_actor by focusing on spawning.

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 (e.g., ue_add_component, ue_create_blueprint). The description lacks usage context or exclusion criteria.

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

ue_statusA

Discover running Unreal Editor instances and report connection state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 behavioral traits, but it only states the tool discovers instances and reports state. It does not clarify if the tool is read-only, requires a running editor, or what happens when no instances 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 a single, front-loaded sentence that conveys the core purpose without redundancy. Every word contributes meaning.

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

Completeness3/5

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

Given the tool's simplicity (no parameters, no output schema), the description is minimally adequate but lacks details on the return format or what 'connection state' entails. More context 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?

The tool has zero parameters, so the input schema is complete. The description adds no parameter details, but with no parameters, it is effectively sufficient. Baseline 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 the tool's function: discovering running Unreal Editor instances and reporting connection state. It uses a specific verb-resource combination and is distinct from sibling tools that focus on asset manipulation, actor spawning, etc.

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 other status-checking tools or when prerequisites apply. The description offers no context for appropriate usage.

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

ue_stop_playA

Stop the active simulate/play-in-editor session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 full burden. It states the main action but does not disclose potential side effects, error handling (e.g., if no active session), or whether it is safe to call repeatedly.

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

Conciseness5/5

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

One sentence with no wasted words. The action and resource are front-loaded, making it 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 tool with no parameters and no output schema, the description is sufficient for an agent to understand the basic function. It could be slightly improved by noting the presumed state, but it is 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?

There are no parameters, so the description is not required to add parameter information. The baseline for zero parameters is 4, and the description fulfills this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'stop' and identifies the resource as 'active simulate/play-in-editor session', which clearly distinguishes it from sibling tools like ue_play that start a session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 the tool should be used when there is an active session. It does not explicitly state when not to use or alternatives, but the purpose is straightforward and minimal guidance is needed.

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

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, targeting specific Unreal Editor resources and actions. Verbs like add, assign, create, delete, spawn, etc., are uniquely paired with nouns, and there is no semantic overlap between tools.

Naming Consistency5/5

All tools follow the ue_verb_noun or ue_noun_verb pattern consistently. The naming convention is uniform, with verbs in imperative form and nouns identifying the target resource, making it easy to predict tool behavior from its name.

Tool Count4/5

31 tools is on the higher side, but the scope of Unreal Editor operations justifies the count. Tools cover asset management, level editing, actor manipulation, materials, and more, with the ue_python escape hatch reducing the need for additional specialized tools.

Completeness4/5

The tool surface covers most common editor workflows: CRUD for assets and actors, level operations, material assignment, camera control, and project info. Minor gaps like texture creation are mitigated by import_asset and the ue_python escape hatch.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Enables AI assistants to control Unreal Engine via Remote Control API for game development automation, including asset management, actor control, level editing, animation, physics, visual effects, and cinematics creation through natural language.
    1
    295
    855
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Controls Unreal Engine 5 editor from AI coding assistants, enabling 280 commands across 13 categories for materials, blueprints, Niagara VFX, and more.
    100
    38
    Mozilla Public 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Bridges Claude AI to a live Unreal Engine 5 editor session, enabling natural language control of scene inspection, modification, logging, source search, console commands, and C++ class scaffolding.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ATDev-Inc/uemcp'

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