Skip to main content
Glama

Unity MCP Server AI-Powered Unity Editor & Hub Control

The most comprehensive Model Context Protocol (MCP) server for Unity game development. Connect Claude, Cursor, Windsurf, or any MCP-compatible AI assistant to Unity Editor and Unity Hub with 288 tools across 30+ categories. Built and maintained by AnkleBreaker Studio.

AnkleBreaker Unity MCP turns your AI assistant into a full Unity co-pilot — create scenes, manipulate GameObjects, manage components, run builds, profile performance, edit Shader Graphs, control Amplify Shader Editor, sculpt terrain, bake NavMesh, manage animations, run multiplayer playmode scenarios, and much more — all without leaving your AI chat. Works with Claude Desktop, Claude Cowork, Cursor, Windsurf, and any tool that supports the Model Context Protocol.

Neon Brick Breaker — Built from scratch by AI in under 5 minutes

Claude creates the entire game: scene setup, neon materials with bloom post-processing, brick grid layout, game scripts, VFX, and UI — all through Unity MCP commands.

3D Medieval Village — AI-generated terrain, houses, and environment

From an empty scene to a fully decorated village: terrain sculpting, material creation, procedural house building via C# editor scripts, trees, fences, and pathways.

3D Castle — Complete level with FPS walkthrough

AI builds a multi-room castle with courtyard, throne room, armory, and guard room. Adjusts lighting, spawns the player, and runs an FPS walkthrough to verify the result.

How It Works — AI → MCP Server → Unity Plugin → Unity Editor

The Model Context Protocol connects your AI assistant to Unity through a lightweight bridge. Commands flow from your AI chat directly into the editor in real-time.

Features

288 tools covering the full Unity workflow:

Category

Tools

Unity Hub

List/install editors, manage modules, set install paths

Scenes

Open, save, create scenes, get full hierarchy tree with pagination

GameObjects

Create (primitives/empty), delete, duplicate, reparent, activate/deactivate, transform (world/local)

Components

Add, remove, get/set any serialized property, wire object references, batch wire

Assets

List, import, delete, search, create prefabs, create & assign materials

Scripts

Create, read, update C# scripts

Builds

Multi-platform builds (Windows, macOS, Linux, Android, iOS, WebGL)

Console & Compilation

Read/clear Unity console logs (errors, warnings, info); get C# compilation errors via CompilationPipeline (independent of console buffer)

Testing

Run EditMode/PlayMode tests, poll results, list available tests via Unity Test Runner API

Play Mode

Play, pause, stop

Editor

Execute menu items, run C# code, get editor state, undo/redo

Project

Project info, packages (list/add/remove/search), render pipeline, build settings

Animation

List clips & controllers, get parameters, play animations

Prefab

Open/close prefab mode, get overrides, apply/revert changes

Physics

Raycasts, sphere/box casts, overlap tests, physics settings

Lighting

Manage lights, environment, skybox, lightmap baking, reflection probes

Audio

AudioSources, AudioListeners, AudioMixers, play/stop, mixer params

Terrain

Create/modify terrains, paint heightmaps/textures, manage terrain layers, trees, details

Navigation

NavMesh baking, agents, obstacles, off-mesh links

Particles

Particle system creation, inspection, module editing

UI

Canvas, UI elements, layout groups, event system

Tags & Layers

List/add/remove tags, assign tags & layers

Selection

Get/set editor selection, find by name/tag/component/layer/tag

Graphics

Scene and game view capture (inline images for visual inspection)

Input Actions

Action maps, actions, bindings (Input System package)

Assembly Defs

List, inspect, create, update .asmdef files

ScriptableObjects

Create, inspect, modify ScriptableObject assets

Constraints

Position, rotation, scale, aim, parent constraints

LOD

LOD group management and configuration

Profiler

Start/stop profiling, stats, deep profiles, save profiler data

Frame Debugger

Enable/disable, draw call list & details, render targets

Memory Profiler

Memory breakdown, top consumers, snapshots (com.unity.memoryprofiler)

Shader Graph

List, inspect, create, open Shader Graphs & Sub Graphs; VFX Graphs

Amplify Shader Editor

Full graph manipulation — create, inspect, add/remove/connect/disconnect/duplicate nodes, set properties, templates, save/close (if installed)

MPPM Scenarios

List, activate, start, stop multiplayer playmode scenarios; get status & player info

Multi-Instance

Discover and switch between multiple running Unity Editor instances

Multi-Agent

List active agents, get agent action logs, queue monitoring

SpriteAtlas

Create, inspect, add/remove sprites, configure settings, delete, list SpriteAtlases

UMA (Unity Multipurpose Avatar)

Create slots, overlays, wardrobe recipes from FBX; equip/unequip items on DCA; browse/rebuild Global Library

Project Context

Auto-inject project-specific docs and guidelines for AI agents

Related MCP server: Unity MCP Server

Architecture

Claude / AI Assistant ←→ MCP Server (this repo) ←→ Unity Editor Plugin (HTTP bridge)
                                ↕
                          Unity Hub CLI

This server communicates with:

  • Unity Hub via its CLI (supports both modern --headless and legacy -- --headless syntax)

  • Unity Editor via the companion unity-mcp-plugin which runs an HTTP API inside the editor

288 Tools Across 30+ Categories

Scene management, GameObjects, components, physics, terrain, Shader Graph, Amplify Shader Editor, profiling, animation, NavMesh, builds, multiplayer, and more.

Two-Tier Tool System

To avoid overwhelming MCP clients with 288 tools, the server uses a two-tier architecture:

  • Core tools (~70) are always exposed directly

  • Advanced tools (~130+) are accessed via a single unity_advanced_tool proxy with lazy loading

This keeps the tool count manageable for clients like Claude Desktop and Cowork while still providing access to every Unity feature. Use unity_list_advanced_tools to discover all advanced tools by category.

Multi-Instance Support

The server automatically discovers all running Unity Editor instances on startup. If only one instance is found, it auto-connects. If multiple instances are running (e.g., main editor + ParrelSync clones), it prompts you to select which one to work with.

Port Resilience — The server includes a multi-layer protection system for reliable multi-project workflows:

  • Port Identity Validation — When restoring a saved connection, the server verifies the instance identity (project name + path) matches the expected target. If Unity restarts and a different project grabs the port, the server detects this and re-discovers the correct instance.

  • Compile-Time Resilience — During long Unity compiles (when the editor is unresponsive), the server checks the shared instance registry. If the registry entry is fresh (updated within the last 5 minutes via heartbeat), the connection is preserved instead of dropped.

  • Crash Detection — The plugin sends a heartbeat every 30 seconds to the instance registry. If Unity crashes and the heartbeat stops, the server detects the stale registry entry (>5 minutes old) and clears it, allowing proper re-discovery.

  • Port Affinity — The plugin remembers its last-used port via EditorPrefs and reclaims it on restart, minimizing port swaps across editor restarts.

Quick Start

1. Install the Unity Plugin

In Unity: Window > Package Manager > + > Add package from git URL:

https://github.com/AnkleBreaker-Studio/unity-mcp-plugin.git

2. Install this MCP Server

git clone https://github.com/AnkleBreaker-Studio/unity-mcp-server.git
cd unity-mcp-server
npm install

3. Add to Claude Desktop

Open Claude Desktop > Settings > Developer > Edit Config, and add:

{
  "mcpServers": {
    "unity": {
      "command": "node",
      "args": ["C:/path/to/unity-mcp-server/src/index.js"],
      "env": {
        "UNITY_HUB_PATH": "C:\\Program Files\\Unity Hub\\Unity Hub.exe",
        "UNITY_BRIDGE_PORT": "7890"
      }
    }
  }
}

Restart Claude Desktop. Done!

4. Try It

  • "List my installed Unity editors"

  • "Show me the scene hierarchy"

  • "Create a red cube at position (0, 2, 0) and add a Rigidbody"

  • "Profile my scene and show the top memory consumers"

  • "List all Shader Graphs in my project"

  • "Build my project for Windows"

  • "List and start my MPPM multiplayer scenarios"

  • "Capture a screenshot of my scene view"

  • "Show me the active agent sessions"

Configuration

Environment Variable

Default

Description

UNITY_HUB_PATH

C:\Program Files\Unity Hub\Unity Hub.exe

Unity Hub executable path

UNITY_BRIDGE_HOST

127.0.0.1

Editor bridge host

UNITY_BRIDGE_PORT

7890

Editor bridge port (auto-discovered when using multi-instance)

UNITY_BRIDGE_TIMEOUT

30000

Request timeout in ms

UNITY_PORT_RANGE_START

7890

Start of port scan range for multi-instance discovery

UNITY_PORT_RANGE_END

7899

End of port scan range

UNITY_REGISTRY_STALENESS_TIMEOUT

300000

Registry entry staleness timeout in ms (crash detection)

UNITY_RESPONSE_SOFT_LIMIT

2097152

Response size soft limit in bytes (warning)

UNITY_RESPONSE_HARD_LIMIT

4194304

Response size hard limit in bytes (truncation)

UNITY_MCP_DEBUG

false

Enable debug logging for troubleshooting

The Unity plugin also has its own settings accessible via the Dashboard (Window > MCP Dashboard) for port, auto-start, and per-category feature toggles.

Optional Package Support

Some tools activate automatically when their packages are detected in the Unity project:

Package / Asset

Features Unlocked

com.unity.memoryprofiler

Memory snapshot capture via MemoryProfiler API

com.unity.shadergraph

Shader Graph creation, inspection, opening

com.unity.visualeffectgraph

VFX Graph listing and opening

com.unity.inputsystem

Input Action map and binding inspection

com.unity.multiplayer.playmode

MPPM scenario listing, activation, start/stop, player info

Amplify Shader Editor (Asset Store)

Amplify shader listing, inspection, opening

UMA 2 (Asset Store)

UMA SlotDataAsset/OverlayDataAsset creation, WardrobeRecipe pipeline, Global Library management, DCA wardrobe equip/unequip

Features for uninstalled packages return helpful messages explaining what to install.

Requirements

  • Node.js 18+

  • Unity Hub (for Hub tools)

  • Unity Editor with unity-mcp-plugin installed (for Editor tools)

Troubleshooting

"Connection failed" errors — Make sure Unity Editor is open and the plugin is installed. Check the Unity Console for [MCP Bridge] Server started on port 7890.

"Unity Hub not found" — Update UNITY_HUB_PATH in your config to match your installation.

"Category disabled" errors — A feature category may be toggled off. Open Window > MCP Dashboard in Unity to check category settings.

Port conflicts — Change UNITY_BRIDGE_PORT in your Claude config and update the port in Unity's MCP Dashboard settings.

Why AnkleBreaker Unity MCP?

AnkleBreaker Unity MCP is the most comprehensive MCP integration for Unity, purpose-built to leverage the full power of Claude Cowork and other AI assistants. Here's how it compares to alternatives:

Feature Comparison

Feature

AnkleBreaker MCP

Bezi

Coplay MCP

Unity AI

Total Tools

288

~30

34

Limited (built-in)

Feature Categories

30+

~5

~5

N/A

Non-Blocking Editor

✅ Full background operation

❌ Freezes Unity during tasks

Open Source

✅ AnkleBreaker Open License

❌ Proprietary

✅ MIT License

❌ Proprietary

Claude Cowork Optimized

✅ Two-tier lazy loading

❌ Not MCP-based

⚠️ Basic

❌ Not MCP-based

Multi-Instance Support

✅ Auto-discovery

Multi-Agent Support

✅ Session tracking + queuing

Unity Hub Control

✅ Install editors & modules

Scene Hierarchy

✅ Full tree + pagination

⚠️ Limited

⚠️ Basic

⚠️ Limited

Physics Tools

✅ Raycasts, overlap, settings

Terrain Tools

✅ Full terrain pipeline

Shader Graph

✅ Create, inspect, open

Profiling & Debugging

✅ Profiler + Frame Debugger + Memory

⚠️ Basic

Animation System

✅ Controllers, clips, parameters

⚠️ Basic

⚠️ Basic

⚠️ Basic

NavMesh / Navigation

✅ Bake, agents, obstacles

Particle Systems

✅ Full module editing

MPPM Multiplayer

✅ Scenarios, start/stop

Visual Inspection

✅ Scene + Game view capture

⚠️ Limited

Play Mode Resilient

✅ Survives domain reload

N/A

Port Resilience

✅ Identity validation + crash detection

N/A

Project Context

✅ Custom docs for AI agents

⚠️ Built-in only

Cost Comparison

AnkleBreaker Unity MCP is completely free and open source. The prices below reflect only the cost of the AI assistant (Claude) itself — the MCP plugin and server are $0.

Solution

Monthly Cost

What You Get

AnkleBreaker MCP (free) + Claude Pro

$20/mo

288 tools, full Unity control, open source — MCP is free, price is Claude only

AnkleBreaker MCP (free) + Claude Max 5x

$100/mo

Same + 5x usage for heavy workflows — MCP is free, price is Claude only

AnkleBreaker MCP (free) + Claude Max 20x

$200/mo

Same + 20x usage for teams/studios — MCP is free, price is Claude only

Bezi Pro

$20/mo

~30 tools, 800 credits/mo, freezes Unity

Bezi Advanced

$60/mo

~30 tools, 2400 credits/mo, freezes Unity

Bezi Team

$200/mo

3 seats, 8000 credits, still freezes Unity

Unity AI

Included with Unity Pro/Enterprise

Limited AI tools, Unity Points system, no MCP

Coplay MCP

Free (beta)

34 tools, basic categories

Key Advantages

vs. Bezi: Bezi runs as a proprietary Unity plugin with its own credit-based billing — $20–$200/mo on top of your AI subscription. It has historically suffered from freezing the Unity Editor during AI tasks, blocking your workflow. AnkleBreaker MCP is completely free and open source, runs entirely in the background with zero editor impact, and offers 8x more tools — the only cost is your existing Claude subscription.

vs. Coplay MCP: Coplay MCP provides 34 tools across ~5 categories. AnkleBreaker MCP delivers 288 tools across 30+ categories including advanced features like physics raycasts, terrain editing, shader graph management, profiling, NavMesh, particle systems, and MPPM multiplayer — none of which exist in Coplay. Our two-tier lazy loading system is specifically optimized for Claude Cowork's tool limits.

vs. Unity AI: Unity AI (successor to Muse) is built into Unity 6.2+ but limited to Unity's own AI models and a credit-based "Unity Points" system. It cannot be used with Claude or any external AI assistant, has no MCP support, and offers a fraction of the automation capabilities. AnkleBreaker MCP works with any MCP-compatible AI while giving you full control over which AI models you use.

Support the Project

If Unity MCP helps your workflow, consider supporting its development! Your support helps fund new features, bug fixes, documentation, and more open-source game dev tools.

Sponsor tiers include priority feature requests — your ideas get bumped up the roadmap! Check out the tiers on GitHub Sponsors or Patreon.

What's New in v2.28.2

  • Codex CLI compatibility — Two diagnostic console.debug(...) calls in the bridge were writing to stdout, corrupting the MCP JSON-RPC framing. Strict clients like Codex CLI closed the transport as soon as they hit the non-JSON line; the bug was invisible on Claude Desktop / Claude Code which tolerate the framing violation. Both call sites now log to stderr.

What's New in v2.28.0

  • npm auto-publish — A GitHub Action now automatically publishes to npm whenever a new GitHub release is created. Contributed by @vatanaksoytezer in #8.

  • npm package renamed — Package renamed from unity-mcp-server to anklebreaker-unity-mcp to avoid name conflict on npm. Install via npx anklebreaker-unity-mcp@latest.

  • SpriteAtlas tools — 7 new tools for Unity SpriteAtlas management: create, inspect, add/remove sprites, configure packing & texture settings, delete, and list SpriteAtlases. Contributed by @zaferdace. Registered as advanced tools accessible via unity_advanced_tool.

  • UTF-8 encoding fix — Fixed corrupted characters in unity-editor-bridge.js comments and section headers.

What's New in v2.27.0

  • UMA (Unity Multipurpose Avatar) integration — 13 new tools for the complete UMA asset pipeline. Create SlotDataAssets, OverlayDataAssets, and WardrobeRecipes directly from FBX files, equip/unequip wardrobe items on DynamicCharacterAvatar, browse and manage the UMA Global Library, verify recipes for missing references, and more. Requires UMA 2 (available on the Asset Store). Registered as advanced tools accessible via unity_advanced_tool.

What's New in v2.26.0

  • Compilation error detection — New unity_get_compilation_errors tool retrieves C# compilation errors and warnings directly from Unity's CompilationPipeline API. Unlike unity_console_log, this is independent of the console log buffer — not affected by console clear, Play Mode log flooding, or buffer overflow. Supports filtering by severity (error, warning, all) and count limit. Registered as a core tool (always directly accessible, not behind unity_advanced_tool).

What's New in v2.25.0

  • Parallel-safe instance routing — When multiple AI agents (e.g. Claude Cowork tasks) share the same MCP process, each agent can now include a port parameter in every unity_* tool call to guarantee routing to the correct Unity Editor instance. This prevents cross-agent contamination where one task's unity_select_instance could redirect another task's commands to the wrong project.

  • Per-request port override — A new stateless routing mechanism bypasses the shared per-agent state entirely. The port parameter is extracted by middleware before the tool handler runs, used for routing, then stripped from the args. This is safe because MCP stdio transport processes requests sequentially.

  • Schema injection — The optional port parameter is automatically injected into every unity_* tool schema (except unity_list_instances, unity_select_instance, and unity_hub_*), so AI assistants see it as a legitimate parameter and pass it consistently.

  • Enhanced select_instance responseunity_select_instance now returns explicit routing instructions telling the AI to include port in all subsequent calls.

Frequently Asked Questions

What is Unity MCP? Unity MCP (Model Context Protocol) is an open-source integration that connects AI assistants like Claude, Cursor, and Windsurf to the Unity Editor and Unity Hub. It allows AI to directly control Unity — creating scenes, placing objects, writing scripts, running builds, profiling, and more — through a standardized protocol.

How does AnkleBreaker Unity MCP compare to other Unity AI tools? AnkleBreaker Unity MCP offers 288 tools across 30+ categories, making it the most comprehensive Unity MCP integration available. Competitors like Bezi (~30 tools) and Coplay MCP (34 tools) cover a fraction of Unity's features. Unlike Bezi, AnkleBreaker MCP is free, open source, and doesn't freeze the Unity Editor during AI operations.

Does it work with Claude Desktop / Claude Cowork? Yes. AnkleBreaker Unity MCP is purpose-built for Claude Desktop and Claude Cowork. It uses a two-tier lazy loading system to stay within MCP client tool limits while exposing all 281 tools on demand.

Does it work with Cursor, Windsurf, or other MCP clients? Yes. Any AI tool that supports the Model Context Protocol can connect to this server. This includes Cursor, Windsurf, Claude Desktop, Claude Cowork, and any other MCP-compatible client.

What Unity versions are supported? Unity 2021.3 LTS and newer, including Unity 2022.3 LTS and Unity 6. The plugin is installed via Unity Package Manager (UPM).

Is it free? Yes. Both the MCP server and the Unity plugin are completely free and open source under the AnkleBreaker Open License. The only cost is your AI assistant subscription (e.g., Claude Pro at $20/month).

Can multiple AI agents use it simultaneously? Yes. The server supports multi-agent operation with session tracking, action logging, and queued execution to prevent conflicts. It also supports multiple Unity Editor instances running side-by-side.

Does it support Amplify Shader Editor? Yes. If Amplify Shader Editor is installed in your project, 23 additional tools are unlocked for full shader graph manipulation — creating nodes, connecting them, setting properties, using templates, and more. Projects without Amplify work perfectly; the tools gracefully report that ASE is not installed.


Unity MCP, Unity MCP Server, Unity MCP Plugin, Unity AI, AI game development, AI Unity Editor, Claude Unity, Cursor Unity, Windsurf Unity, Model Context Protocol Unity, MCP server Unity, Unity automation, AI-assisted game development, Unity Editor AI control, Unity Hub AI, Unity build automation, Unity scene management AI, Unity GameObject AI, Unity component automation, Shader Graph AI, Amplify Shader Editor AI, Unity terrain AI, Unity NavMesh AI, Unity physics AI, Unity profiler AI, Unity animation AI, MPPM multiplayer AI, Unity MCP integration, free Unity AI tools, open source Unity AI, AnkleBreaker Studio, AnkleBreaker MCP, Unity MCP bridge, Unity Editor plugin MCP, UPM MCP package, AI co-pilot Unity, Unity game dev AI assistant

License

AnkleBreaker Open License v1.0 — see LICENSE

This license requires: (1) including the copyright notice, (2) displaying "Made with AnkleBreaker MCP" (or "Powered by AnkleBreaker MCP") attribution in any product built with it (personal/educational use is exempt), and (3) reselling the tool is forbidden — you may not sell, sublicense, or commercially distribute this software or derivatives of it. See the full LICENSE for details.

Available Tools

80 tools
unity_advanced_toolA

Execute an advanced Unity tool by name (269 cached + plugin lazy-loaded; discover names via unity_list_advanced_tools search=/category=, parameters via tool=).

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
toolYesThe tool name to execute (e.g. "unity_animation_create_controller", "unity_shadergraph_create")
paramsNoParameters to pass to the tool. Use unity_list_advanced_tools to see required parameters.

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description bears full burden. It mentions caching and lazy loading but fails to disclose potential destructive actions, required permissions, or error behavior. The generic executor nature introduces risk without warning.

Agents need to know what a tool does to the world before calling it. Descriptions 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 packs essential information. It is front-loaded with the action and resource. Slightly ambiguous phrasing ('parameters via tool=') costs a point.

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

Completeness2/5

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

Despite the complexity and lack of output schema, the description omits return value, error handling, and safety warnings. The 'advanced' concept remains undefined, and caching details are unclear.

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

Parameters4/5

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

Schema coverage is 100%, providing baseline of 3. The description adds value by instructing how to obtain tool names and parameter structures via unity_list_advanced_tools, which is not in the schema.

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

Purpose5/5

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

The description clearly states the tool executes an advanced Unity tool by name, with specific instructions on discovering tool names via unity_list_advanced_tools. This differentiates it from sibling tools that are specific tool names.

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

Usage Guidelines4/5

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

The description explicitly tells how to discover tool names and parameters via unity_list_advanced_tools. It implies using this tool for advanced tools not covered by dedicated MCP functions, but does not state when not to use it.

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

unity_agent_logA

Get the action log for a specific agent, showing the last 100 actions with timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
agentIdYesThe agent ID to get logs for

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool returns actions with timestamps and a limit of 100, but does not mention whether it is read-only, any side effects, authentication requirements, or error states. Adequate but minimal.

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

Conciseness5/5

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

A single sentence that is front-loaded with the action and resource, containing no unnecessary words. Every part 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?

With no output schema, the description partially explains the return (last 100 actions with timestamps) but lacks details on format (e.g., JSON structure), error handling, or pagination. For a simple retrieval tool, it is adequate but not comprehensive.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'action log for a specific agent', and specifies the scope 'last 100 actions with timestamps'. This distinguishes it from sibling tools like unity_agents_list which lists agents, not logs.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., needing an agent ID from other tools), and no conditions for when not to use it. The schema hint about including port when multiple instances is embedded in parameter description but not highlighted.

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

unity_agents_listA

List all active agent sessions connected to the AB Unity MCP bridge. Shows each agent's ID, connection time, last activity, current action, total actions count, queued/completed request counts, and average response time.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool lists active sessions and shows specific fields, but does not describe behavior under edge cases (e.g., no agents, bridge disconnection) or side effects. Acceptable for a simple list tool.

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

Conciseness5/5

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

Two sentences, succinct and front-loaded. No redundant information; 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 list tool with one optional parameter and no output schema, the description adequately details the output fields. Minor omission: could clarify output format (JSON). Overall sufficient for 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 coverage is 100% with a clear description for the 'port' parameter. The tool description does not add further meaning to parameters, meeting the baseline expectation of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 all active agent sessions connected to the AB Unity MCP bridge, specifying the verb 'list' and the resource 'active agent sessions'. It also lists the fields shown, making the purpose distinct from siblings like 'unity_agent_log'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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., unity_agent_log). There is no mention of prerequisites, context, or exclusions, leaving the agent without decision support.

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

unity_asset_create_prefabB

Create a prefab from an existing GameObject in the scene.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
savePathYesWhere to save the prefab (e.g. 'Assets/Prefabs/MyPrefab.prefab')
gameObjectPathYesPath of the source GameObject in the hierarchy

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. However, it only states the basic action without disclosing side effects like overwriting existing prefabs, validation of input paths, or potential errors. This is insufficient.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is concise but could include more detail 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?

No output schema is provided, and the description does not mention return values or success/failure indicators. Given the tool's simplicity, more context on what the tool returns would enhance completeness.

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

Parameters3/5

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

Schema coverage is 100% as all parameters have descriptions. The description adds no extra meaning beyond the schema, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Create a prefab') and the source resource ('existing GameObject in the scene'). It uniquely identifies this tool from siblings like unity_asset_instantiate_prefab, which does the reverse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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, prerequisites (e.g., scene must contain the GameObject), or alternatives among sibling tools. It lacks any contextual usage information.

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

unity_asset_deleteA

Delete an asset — to the OS trash by default (NOT undoable via unity_undo_last). Deleting a FOLDER is recursive and refuses without recursive:true.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAsset path relative to project root (e.g. 'Assets/Scripts/MyScript.cs')
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
permanentNoHard-delete instead of OS trash. Default false.
recursiveNoRequired to delete a FOLDER and its contents. Default false refuses, reporting the asset count.

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries full burden and effectively discloses key behaviors: default to OS trash, undo implications, and folder deletion requiring recursive=true.

Agents need to know what a tool does to the world before 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 the core action and a critical caveat, no unnecessary or redundant content.

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

Completeness4/5

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

Covers main operation and edge cases, but missing mention of return values or success feedback. Still adequate given the simplicity of delete operations.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds context for permanent (trash vs hard delete) and recursive (folder behavior), going beyond the schema's descriptions.

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

Purpose4/5

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

The description clearly states the tool deletes an asset, defaults to OS trash, and is not undoable via unity_undo_last. It also clarifies folder deletion behavior. However, it does not explicitly distinguish this from sibling delete tools like unity_gameobject_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 over alternatives, no prerequisites mentioned, and no examples of 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.

unity_asset_importB

Import an external file into the Unity project as an asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
overwriteNoReplace an existing asset at the destination (default false).
sourcePathYesAbsolute path to the source file on disk
destinationPathYesDestination path inside Assets/ folder

TDQS

B3.1/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 action. It fails to disclose potential side effects, required permissions, or conditions like file overwriting (handled via parameter but not described as a 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, clear sentence with no unnecessary words. It is appropriately concise for a simple operation.

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, the description does not explain what the tool returns (e.g., success status or imported asset). The minimal details may leave an agent uncertain about outcomes.

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

Parameters3/5

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

Schema coverage is 100% with good parameter descriptions. The tool description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states the action (Import) and the resource (external file into Unity project as an asset). It distinguishes itself from sibling tools like unity_asset_list or unity_asset_delete by specifying the import operation.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. The description does not mention prerequisites or scenarios where this tool is inappropriate, leaving the agent to guess.

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

unity_asset_instantiate_prefabC

Instantiate a prefab into the current scene.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName for the instantiated object
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
parentNoParent GameObject path (optional)
positionNo
rotationNo
prefabPathYesPath to the prefab asset (e.g. 'Assets/Prefabs/Enemy.prefab')

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 only states the action, omitting details like required permissions, potential side effects, return values, or that the prefab must exist. The port parameter hints at multi-instance handling but is not explained.

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

Conciseness4/5

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

The description is a single sentence, efficiently conveying the core action. However, for a tool with six parameters, it could be organized with more structure (e.g., brief parameter intent) without adding much length.

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

Completeness1/5

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

Given the tool has 6 parameters, no output schema, and no annotations, the minimal description is severely incomplete. It does not explain prerequisites, return values, error conditions, or how parameters like position/rotation work.

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 67%, with some parameters (position, rotation) lacking schema descriptions. The tool description adds no parameter information beyond the schema, missing the chance to explain the nested objects or the purpose of port.

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

Purpose5/5

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

The description 'Instantiate a prefab into the current scene' uses a specific verb (Instantiate) and resource (prefab) with destination (current scene), clearly distinguishing it from siblings like unity_gameobject_create or unity_asset_create_prefab.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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, such as when to instantiate vs create an empty GameObject, nor any exclusions or prerequisites.

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

unity_asset_listC

List assets in the project. Can filter by path, type, and search term.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
typeNoAsset type filter: Script, Scene, Prefab, Material, Texture, AudioClip, AnimationClip, Shader, Font, Mesh, Model
folderNoFolder path relative to Assets/ (default: 'Assets')
searchNoSearch query string
recursiveNoSearch recursively in subfolders (default: true)
maxResultsNoMaximum assets to return (default: 500). Use lower values for large projects.

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only mentions filtering capability but omits details like read-only nature, pagination, sorting, or performance implications for large projects.

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

Conciseness3/5

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

The description is concise (one sentence) but lacks structure and fails to front-load key details. It is appropriately sized but sacrifices completeness for brevity.

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

Completeness2/5

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

Given 6 parameters, no output schema, and no annotations, the description is incomplete. It does not mention default behaviors (e.g., recursive=true, maxResults=500) or output format, leaving the agent with gaps in 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?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal meaning beyond the schema, merely summarizing filter options. Parameter semantics are adequately covered by the schema.

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

Purpose4/5

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

The description clearly states the tool lists assets and can filter by path, type, and search term. However, it does not differentiate from sibling tools like unity_search_assets, which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 unity_search_by_name, unity_search_assets, or other search tools. The description lacks 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.

unity_buildB

Start a build of the Unity project for a target platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
scenesNoScene paths to include (default: scenes in build settings)
targetYesBuild target platform
outputPathYesOutput path for the build
developmentBuildNoEnable development build (default: false)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the build overwrites existing output, requires specific permissions, or has side effects like locking the editor. The description is too brief to convey important behavioral context for a build 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 concise sentence. It is front-loaded with the core action. However, it could be improved by including a brief note on required setup or typical use cases without adding much length.

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

Completeness2/5

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

Given the tool's complexity (5 parameters, no output schema, no annotations), the description is incomplete. It does not explain the return value or error behavior, nor does it mention that the output path must exist or that scenes list is optional. More context is needed for an AI agent to use this tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter has a description in the schema. However, the tool description itself adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate as the schema does the work.

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

Purpose5/5

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

Description clearly states the tool starts a build for a target platform. It uses specific verb 'start a build' and identifies the resource as 'Unity project'. This distinguishes it from sibling tools which are mainly for selection, editing, or querying, not initiating builds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 provided on when to use this tool versus alternatives. There is no mention of prerequisites like ensuring the project is open or that a Unity instance is selected. No exclusions or alternative tools are suggested.

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

unity_component_addA

Add a component to a GameObject. Supports built-in types (Rigidbody, BoxCollider, AudioSource, Light, Camera, etc.) and custom scripts.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
componentTypeYesFull type name, e.g. 'Rigidbody', 'BoxCollider', 'MyNamespace.MyScript'
gameObjectPathYesPath or name of the target GameObject

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description bears responsibility. It mentions support for both built-in and custom scripts, but does not disclose what happens if the component already exists, side effects (e.g., triggering lifecycle events), or any runtime restrictions.

Agents need to know what a tool does to the world before 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 that is concise and front-loaded with the main purpose. However, it could be slightly more structured without becoming verbose.

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

Completeness4/5

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

For a simple add-component operation with complete schema coverage and no output schema, the description is adequate. It lists supported types but misses edge cases or error conditions.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds examples for componentType (e.g., 'Rigidbody', 'MyNamespace.MyScript') and clarifies gameObjectPath as path or name, but mostly reiterates schema info.

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

Purpose5/5

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

The description clearly states 'Add a component to a GameObject' with specific verb and resource, and lists examples of supported types (built-in and custom scripts). This distinguishes it from sibling tools like unity_component_remove.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 indication of when to use this tool versus alternatives, such as when a component already exists or prerequisites like the GameObject needing to exist. Usage is implied but not guided.

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

unity_component_batch_wireA

Wire multiple object references in one call (e.g. a manager to all its panels). Each entry: target GameObject, property, reference to assign.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
referencesYesArray of reference assignments to perform

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided. Description only states function 'Wire multiple object references' without disclosing side effects, error handling, or whether individual failures abort the batch. Lacks behavioral depth.

Agents need to know what a tool does to the world before 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 plus a clarifying example. No wasted words; information is front-loaded and concise.

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, and description does not explain return value or behavior on partial failure. For a batch operation, more context would be helpful.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. Description adds a high-level summary of entry structure but no new meaning beyond what the schema provides for each parameter.

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

Purpose5/5

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

Description clearly states verb (wire), resource (multiple object references), and provides a concrete example (manager to panels). It distinguishes from siblings like unity_component_set_reference which handles single references.

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

Usage Guidelines3/5

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

Description gives an example but no explicit guidance on when to use this tool vs alternatives (e.g., unity_component_set_reference). Context clues from sibling list suggest batch vs single, but no direct usage conditions.

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

unity_component_get_propertiesB

Get all serialized properties of a component on a GameObject.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
componentTypeYesComponent type name
gameObjectPathYesPath or name of the target GameObject

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided; description indicates a read operation but fails to specify what 'serialized properties' includes or potential side effects. Lacks detail on limitations 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.

Conciseness4/5

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

Single sentence is efficient and front-loaded. Could include more detail without being 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?

No output schema, so description should detail return format. Does not explain what 'serialized properties' entails. Incomplete for a tool with 3 parameters.

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 covers all parameters with descriptions, so baseline is 3. Description adds no additional meaning beyond schema, e.g., explaining 'path or name' semantics for gameObjectPath.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'Get', the resource 'serialized properties of a component', and the target 'on a GameObject'. It distinguishes from sibling tools like unity_component_get_referenceable which focuses on references.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 unity_component_get_referenceable. Does not explain prerequisites or context for optional port parameter.

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

unity_component_get_referenceableA

Discover what objects can be assigned to an ObjectReference property. Returns matching scene objects and project assets filtered by the expected type. Useful before wiring references to know what's available.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoTarget GameObject path or name
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
instanceIdNoTarget GameObject instance ID
maxResultsNoMaximum results to return (default: 50)
propertyNameYesObjectReference property name to inspect
componentTypeNoComponent type containing the property

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It implies read-only behavior through 'Discover' and 'Returns', but does not explicitly state no side effects or permissions required. Adequate but could be more transparent.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no redundant words. Highly concise and well-structured.

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

Completeness4/5

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

The description is complete for its purpose, explaining what it returns and when to use it. It lacks guidance on optional parameters, but the schema covers those. Overall sufficient given 6 parameters and no output schema.

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

Parameters3/5

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

Schema coverage is 100%, baseline 3. The description does not add meaning beyond the schema, merely referencing 'ObjectReference property' and 'expected type' without elaborating on parameters like path or instanceId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'Discover' and identifies the resource as 'objects assignable to an ObjectReference property'. It clearly distinguishes from sibling tools like unity_component_set_reference by stating it is for discovery before wiring.

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

Usage Guidelines4/5

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

The description explicitly states 'Useful before wiring references to know what's available', providing a clear use case. However, it does not mention when not to use it or name alternative tools, leaving some implicit guidance.

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

unity_component_removeB

Remove a component from a GameObject.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
indexNoIndex if multiple components of same type (default: 0)
componentTypeYesType name of the component to remove
gameObjectPathYesPath or name of the target GameObject

TDQS

B3/5.0
Behavior1/5

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

No annotations are provided, and the description only states the operation without disclosing side effects, error conditions, or requirements (e.g., what if component not 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?

Single sentence with no wasted words. Efficient and to the point.

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

Completeness2/5

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

Despite good schema coverage and conciseness, the description lacks information about return values, failure modes, or how to determine the component index, making it incomplete for a tool in a complex ecosystem.

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 covers 100% of parameters with descriptions; the tool description adds no additional meaning. Baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb 'Remove' and resource 'component from a GameObject', clearly distinguishing it from sibling tools like unity_component_add.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as unity_component_set_property or unity_gameobject_delete. No exclusions or context provided.

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

unity_component_set_propertyA

Set a property value on a component. Supports floats, ints, strings, bools, vectors, colors, and object references. For ObjectReference properties, pass value as: an asset path string, a scene object name string, null to clear, or an object with {assetPath}, {instanceId}, or {gameObject, componentType}.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
valueYesValue to set. ObjectReference accepts: asset path, scene object name, null, or {assetPath?, instanceId?, gameObject?, componentType?}
propertyNameYesName of the property to set
componentTypeYesComponent type name
gameObjectPathYesPath or name of target GameObject

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description must disclose behavior. It covers supported value types and ObjectReference formats but omits side effects, error handling, or whether modifications are immediate/persistent.

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

Conciseness5/5

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

Three sentences: purpose, supported types, and complex parameter guidance. Front-loaded and no unnecessary 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?

Covers key inputs and value types but lacks information on return value (none specified), error conditions, or how to discover valid property names. Adequate but not comprehensive given 5 parameters and no output schema.

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

Parameters4/5

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

Schema coverage is 100% with brief descriptions. The description adds significant value for the 'value' parameter, detailing ObjectReference formats (asset path, scene object, null, structured object), which goes 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?

Clearly states it sets a property value on a component, lists supported types, and distinguishes ObjectReference handling from sibling tools like unity_component_set_reference.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as unity_component_set_reference or unity_set_object_reference for ObjectReference properties. The description does not mention prerequisites or context.

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

unity_component_set_referenceA

Wire an object reference on a component property. Resolves by asset path, scene GameObject name, component type, or instance ID (richer than set_property for ObjectReference fields).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path or name of the target GameObject
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
clearNoSet to true to clear/null the reference
assetPathNoAsset path to assign (e.g. 'Assets/Materials/MyMat.mat', 'Assets/Prefabs/Enemy.prefab')
instanceIdNoInstance ID of the target GameObject (alternative to path)
propertyNameYesName of the ObjectReference property to set
componentTypeNoComponent type containing the property (optional — will auto-search all components)
referenceGameObjectNoName or hierarchy path of a scene GameObject to assign
referenceInstanceIdNoInstance ID of the object to assign (64-bit-safe string)
referenceComponentTypeNoWhen referencing a scene object, get a specific component instead of the GameObject itself (e.g. 'Camera', 'AudioSource')

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that it resolves references via multiple methods and includes a clear parameter for nullifying references. However, it does not describe error handling (e.g., what happens if the path or instance ID is invalid), potential side effects, or permission requirements.

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

Conciseness5/5

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

The description is two sentences: the first states the core action, the second lists the resolution methods and key differentiator. Every word serves a purpose, and the most important information is front-loaded. No wasted text.

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

Completeness3/5

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

Given the tool has 10 parameters and no output schema or annotations, the description covers the main purpose and resolution methods but omits important context such as return values (likely void), error behavior, and usage prerequisites (e.g., valid Unity instance). It is adequate but leaves gaps for a complex tool.

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

Parameters3/5

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

Schema coverage is 100% with each parameter described in the schema. The description adds value by summarizing the resolution methods (asset path, scene name, component type, instance ID) and contrasting with set_property, but it does not provide additional semantic details beyond what the schema already offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'Wire an object reference on a component property' and clearly states it resolves by asset path, scene GameObject name, component type, or instance ID. It explicitly distinguishes itself from the sibling tool set_property for ObjectReference fields, making its unique purpose clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 indicates this tool is for setting ObjectReference fields and is 'richer than set_property', which guides when to use it. However, it does not explicitly exclude cases where other tools (e.g., set_transform) would be more appropriate, nor does it mention prerequisites like having a valid Unity instance selected.

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

unity_console_clearA

Clear the Unity console log.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. 'Clear' implies destruction of console log content, which is transparent. However, it does not disclose potential side effects (e.g., irreversible loss of log data) or mention that it operates on a specific Unity instance via the port parameter. The effect is adequately communicated for this simple action.

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

Conciseness5/5

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

A single sentence, no wasted words. Perfectly concise for a simple, well-understood operation. Every word serves a purpose.

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

Completeness3/5

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

The description is minimal but adequate for a straightforward clear action. It lacks details about prerequisites (e.g., need for a connected Unity instance), but the port parameter in the schema fills that gap. For a tool with no output schema and low complexity, it is moderately complete.

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

Parameters3/5

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

The input schema already covers the port parameter with a full description. The tool description adds no further explanation about parameters or their usage. With 100% schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description 'Clear the Unity console log' uses a specific verb ('Clear') and identifies the exact resource ('Unity console log'). It is unambiguous and distinguishes from siblings like unity_console_log (which adds a log entry) and unity_get_compilation_errors (which reads errors).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 or any prerequisites. There is no mention of typical use cases (e.g., clearing before tests), when not to use it, or relationship to the port parameter. Users must infer from context.

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

unity_console_logB

Get recent Unity console log messages (errors, warnings, info).

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
typeNoFilter: 'error', 'warning', 'info', or 'all' (default: 'all')
countNoNumber of recent messages to retrieve (default: 50)
maxStackFramesNoFrames kept per retained trace (default: 6)
includeStackTraceNoTraces to keep: 'errors' (default, error-like entries only, trimmed), 'all', 'none'.

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 full burden. It does not disclose behavioral traits such as whether the tool polls the Unity instance, if it has side effects, or how 'recent' is defined. The bare description lacks necessary context for an agent to anticipate behavior.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the core purpose, and contains no unnecessary words. It is maximally concise.

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 5 parameters and no output schema or annotations, the description is too minimal. It does not explain the output format, how 'recent' is determined, or any limitations. A more complete description would improve usability.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; it simply restates the purpose. The parameters are well-documented in the schema itself.

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

Purpose5/5

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

The description uses the specific verb 'Get' and clearly identifies the resource as 'recent Unity console log messages (errors, warnings, info)'. This directly states what the tool does and differentiates it from sibling tools like unity_console_clear or unity_agent_log.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 preconditions 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.

unity_editor_pingA

Check if the Unity Editor bridge is running and responsive. Returns editor version, project name, and connection status.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations are absent, so description bears full burden. It clearly states read-like behavior (ping) and lists returned fields (version, project name, connection status). Could disclose potential side effects like logging or timeout behavior, but overall transparent for a health-check tool.

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

Conciseness5/5

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

Two concise sentences, front-loaded with purpose, zero filler. 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?

For a simple ping with one optional parameter and no output schema, the description sufficiently explains behavior and return data. No output schema means agents must infer format, but listed fields compensate. No critical gaps given tool complexity.

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

Parameters4/5

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

Schema covers 100% of parameters. Description adds usage context: 'Always include it when multiple instances run' – a meaningful hint beyond schema's description of 'Unity instance port'. This guidance helps agents decide when to supply the optional 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 uses specific verb 'Check if...running and responsive' and identifies resource (Unity Editor bridge). It clearly distinguishes from sibling tools like unity_editor_state which likely provides more detailed state, not just a ping.

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

Usage Guidelines3/5

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

Description implies usage for checking bridge responsiveness but does not explicitly state when to use this tool vs alternatives (e.g., unity_editor_state). No when-not-to-use guidance or prerequisites provided.

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

unity_editor_stateB

Get the current Unity Editor state: play mode, compilation status, active scene, project path.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

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 is the sole source of behavioral info. It indicates a read operation without side effects, which is appropriate. However, it does not disclose potential performance impact, authentication, or response format beyond the listed fields.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the action and resources. 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?

Given the tool's simplicity (no output schema, one optional param), the description covers the core functionality. However, it omits what the returned state format looks like, which an agent might need for parsing.

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

Parameters3/5

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

Schema coverage is 100% as the only parameter 'port' is fully described in the schema. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'current Unity Editor state' and lists specific aspects (play mode, compilation status, active scene, project path). It distinguishes from siblings by aggregating multiple state elements, though it does not explicitly differentiate from individual getter tools.

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

Usage Guidelines2/5

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

The description provides minimal usage guidance via the port parameter note ('Always include it when multiple instances run'). It lacks when-to-use context, exclusions, or comparison to alternative tools for retrieving similar state.

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

unity_execute_codeA

Execute arbitrary C# code inside the Unity Editor. The code runs in the editor context with access to all Unity APIs. Useful for one-off operations, queries, and automation. Return values are serialized to JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesC# code to execute. Must be a valid method body. Access UnityEngine and UnityEditor namespaces. Use 'return' to send data back.
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It notes editor context, Unity API access, and JSON serialization, but omits potential side effects, error handling, or security 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?

The description is very concise with no wasted words. Each sentence provides essential information, and the key action is front-loaded.

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

Completeness3/5

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

Given the complexity of arbitrary code execution, the description is adequate but lacks details on error handling, execution time limits, and how the return value is used. No output schema is provided.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying that code must be a method body, that 'return' sends data back, and mentions namespace access. This goes beyond the schema.

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

Purpose5/5

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

The description clearly states the tool executes arbitrary C# code in the Unity Editor, with access to all Unity APIs. It is distinct from all sibling tools, which are specific operations.

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

Usage Guidelines3/5

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

The description mentions usefulness for one-off operations, queries, and automation, but does not explicitly exclude scenarios or reference alternatives. Guidance is implied but not explicit.

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

unity_execute_menu_itemA

Execute a Unity Editor menu command by its path (e.g. 'File/Save', 'GameObject/3D Object/Cube', 'Window/General/Console').

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
menuPathYesFull menu path (e.g. 'Edit/Project Settings...')

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the action 'execute' but does not disclose side effects (e.g., changes to the editor state), permissions required, error handling (e.g., invalid menu path), or whether the operation is blocking. 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.

Conciseness5/5

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

The description is a single sentence with three well-chosen examples. Every word serves a purpose, and the action is front-loaded. No extraneous information.

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

Completeness4/5

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

Given the tool's simplicity (two parameters, one required, no output schema), the description covers the core functionality. It lacks details on return values or error conditions, but for a command execution tool, the basic behavior is adequately described. Minor gaps prevent a 5.

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

Parameters3/5

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

Schema coverage is 100% for both parameters. The description adds value by providing examples of valid menuPath values, which goes beyond the schema's simple description. However, it does not elaborate on the port parameter (already described in schema) or any format constraints, so the addition is marginal.

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

Purpose5/5

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

The description clearly states the tool executes a Unity Editor menu command, with specific verb 'Execute' and resource 'Unity Editor menu command', and provides concrete examples of menu paths. This distinctly differentiates it from sibling tools like 'unity_select_instance' or 'unity_scene_open'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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. While the purpose is clear, it lacks guidance on when not to use it (e.g., if the menu path doesn't exist) or prerequisites. The context of sibling tools implies it's for arbitrary menu commands, but no direct comparisons are made.

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

unity_gameobject_createB

Create a new GameObject in the scene. Can specify primitive type (Cube, Sphere, Capsule, Cylinder, Plane, Quad), parent, and initial transform.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new GameObject
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
scaleNo
parentNoPath or name of parent GameObject (optional)
positionNo
rotationNo
primitiveTypeNoOptional primitive: Cube, Sphere, Capsule, Cylinder, Plane, Quad, Empty

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It states that the tool creates a GameObject and allows specifying primitive type, parent, and transform, but lacks details on side effects (e.g., name uniqueness handling, default values, whether creation is in the current scene). The return value is not mentioned, which is a gap.

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

Conciseness5/5

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

The description is a single sentence of 25 words that immediately states the core action and key capabilities. Every word is necessary, and no fluff is present.

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

Completeness2/5

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

Given the tool's complexity (7 parameters, nested objects, no output schema, no annotations), the description is too brief. It does not explain the behavior of optional transform parameters (e.g., world vs local), implications of omitting parameters, or what the tool returns. For a creation tool, this is incomplete.

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

Parameters3/5

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

Schema coverage is 57%, with descriptions for name, port, parent, and primitiveType. The description adds collective context for transform (position, rotation, scale) but does not provide additional constraints, units, or default behavior beyond what the schema already conveys. Baseline 3 is appropriate.

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

Purpose5/5

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

The description explicitly states 'Create a new GameObject in the scene', which is a specific verb and resource. It further distinguishes from sibling tools by mentioning optional parameters like primitive type, parent, and transform, making the creation intent clear.

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

Usage Guidelines3/5

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

The description implies usage when a new GameObject is needed but does not provide explicit guidance on when to use this tool versus alternatives such as unity_gameobject_instantiate_prefab or other creation methods. No exclusions or conditions are mentioned.

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

unity_gameobject_deleteA

Delete a GameObject by path or name. Refuses if its runtime mesh is shared by other objects (ProBuilder clones) — reports sharedWith; pass force:true to override.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path or name of the GameObject to delete
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
forceNoDelete even when the runtime mesh is shared by other objects (ProBuilder clones). Default false.
instanceIdNoInstance ID (alternative to path)

TDQS

A4.2/5.0
Behavior4/5

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

Discloses key behavior: refusal on shared mesh, reports 'sharedWith', and force override. Without annotations, this adequately covers behavioral traits, though it omits details on reversibility 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?

Two sentences with no wasted words. Front-loads primary purpose, then adds a crucial behavioral note. Highly concise and structured.

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

Completeness4/5

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

Covers unique behavior (shared mesh) for a moderate-complexity tool with 4 params and no output schema. Lacks details on consequences like undo, but sufficient for common use.

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

Parameters4/5

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

Schema covers all parameters (100% coverage). Description adds context about force parameter's role in overriding shared-mesh refusal, going beyond the schema's basic definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'delete a GameObject by path or name', specifying the verb and resource. Distinguishes from siblings as the only deletion tool among many Unity tools.

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

Usage Guidelines3/5

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

Provides condition for when tool refuses (shared mesh), but does not explicitly state when to use versus alternatives like disabling or other operations. Lacks explicit when-not-to-use guidance.

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

unity_gameobject_duplicateB

Duplicate a GameObject with all its children and components.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path or name of the GameObject to duplicate
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
newNameNoName for the duplicate (default: original name + ' (Copy)')
instanceIdNoInstance ID (alternative to path)

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 carry all behavioral disclosure. It only says 'duplicate' without explaining the resulting object's position, hierarchy, naming, or side effects. The description is too minimal for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions 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 8 words, very concise. It front-loads the main action. However, it could include a bit more context 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?

For a duplication tool with 4 parameters and no output schema, the description is incomplete. It doesn't mention what the tool returns, how it handles errors, or the impact on the scene hierarchy. More detail is needed.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter already has a description. The tool description adds no additional semantics beyond what is in the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('duplicate'), the resource ('GameObject'), and the scope ('all its children and components'). This distinguishes it from sibling tools like unity_gameobject_create or unity_gameobject_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 (e.g., duplicate vs create vs instantiate prefab). No prerequisites or limitations are mentioned.

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

unity_gameobject_infoA

Get detailed info about a specific GameObject: transform, components, children, active state, tags, layer.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path or name
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
instanceIdNoInstance ID (alternative to path)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the tool is read-only (get info) and lists retrieved fields, but does not mention prerequisites (e.g., running Unity instance with the GameObject), error behavior, or performance impact. Lacks depth for a read operation.

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

Conciseness4/5

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

Single sentence listing key info types is concise and front-loaded with the verb 'Get'. Some structure (e.g., bullet points for returned data) could improve readability, but current length is appropriate for the tool's simplicity.

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 names returned data types but lacks full specificity (e.g., structure of transform or components). With no output schema, the agent must infer return format. Missing error conditions or hints about required inputs (path vs instanceId). Adequate but not thorough.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions (path, port, instanceId). The description does not add additional meaning beyond the schema; it merely references 'detailed info' without elaborating on parameter usage or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'Get detailed info about a specific GameObject' and lists specific data included (transform, components, children, active state, tags, layer). It uses a specific verb and resource, distinguishing it from sibling tools like unity_gameobject_set_active or unity_scene_hierarchy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 detailed GameObject info is needed but provides no explicit guidance on when to prefer this tool over similar info tools (e.g., unity_scene_info, unity_scene_hierarchy) or when not to use it. There are no exclusions or context cues.

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

unity_gameobject_reparentB

Move a GameObject under a new parent in the hierarchy.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path or name of the GameObject to move
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
newParentNoPath of the new parent (empty string for scene root)
instanceIdNoInstance ID (alternative to path)
worldPositionStaysNoMaintain world position after reparenting (default: true)

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 full burden. It only states the basic action, but does not disclose optional behaviors like the effect of 'worldPositionStays', undo behavior, or what happens to child objects.

Agents need to know what a tool does to the world before 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, concise sentence (9 words) that front-loads the verb and object. No wasted words.

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

Completeness2/5

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

For a tool with 5 parameters (including alternative identifiers) and no output schema, the description is too brief. Missing explanations of parameter interactions, defaults (worldPositionStays default true), and the distinction between path and instanceId.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning or context 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 action ('Move') and the resource ('GameObject under a new parent'). It is specific and distinguishes from sibling tools like unity_gameobject_delete or unity_gameobject_set_active.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 (e.g., GameObject must exist, parent must exist), and no examples of typical use cases.

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

unity_gameobject_set_activeB

Set a GameObject active or inactive.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path or name of the GameObject
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
activeYesWhether the GameObject should be active
instanceIdNoInstance ID (alternative to path)

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 only states the basic function without mentioning side effects (e.g., children deactivation), error conditions (e.g., missing GameObject), or whether it's immediate. 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, clear sentence with no wasted words. It could slightly expand on usage context without losing conciseness, but as is, it's 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 boolean toggle tool, the description is adequate but lacks full context. It doesn't mention return values (none implied) or that the operation is immediate. Additional hints about GameObject identification would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter. The description adds no extra meaning beyond what the schema provides, meeting the baseline for high coverage.

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

Purpose5/5

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

The description clearly states the action ('Set') and the resource ('GameObject active or inactive'), which is specific and distinguishes it from sibling tools like unity_gameobject_delete or unity_gameobject_info.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., unity_gameobject_info to check state, or other modification tools). The description lacks context on prerequisites 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.

unity_gameobject_set_transformC

Set the transform (position, rotation, scale) of a GameObject.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path or name
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
localNoIf true, set local transform instead of world (default: false)
scaleNo
positionNo
rotationNo
instanceIdNoInstance ID (alternative)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility. It only says 'Set the transform' without disclosing consequences (e.g., permanent modification, coordinate system defaults, or potential errors). This lack of transparency limits informed usage.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is front-loaded with the core action, but the extreme brevity sacrifices informative 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 output schema and a brief description, the tool's behavior is under-explained. Users need context about coordinate systems, instance handling, and error states, which are not covered.

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 'position, rotation, scale', matching three nested object parameters, but adds no detail beyond the parameter names. Schema coverage is 57% (some parameters like path have descriptions), so the description provides marginal additional meaning.

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

Purpose4/5

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

The description clearly states the verb 'Set' and resource 'transform (position, rotation, scale) of a GameObject', making the purpose clear. However, it does not distinguish from related sibling tools like unity_gameobject_set_active or unity_gameobject_create, though the operation is distinct.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description omits prerequisites such as needing an active Unity instance or a valid GameObject path, which are hinted at by the schema but not explicitly stated.

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

unity_get_compilation_errorsA

Get C# compilation errors/warnings via CompilationPipeline — independent of the console buffer (survives console clear and log flooding). Prefer this over unity_console_log for compile issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
countNoMax number of entries to retrieve (default: 50)
severityNoFilter: 'error', 'warning', or 'all' (default: 'all')

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses a key behavioral trait: independence from the console buffer (survives clear and log flooding). This goes beyond what a typical read operation would imply. However, it does not describe potential side effects, permissions, or performance impact, which would justify a higher score.

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

Conciseness5/5

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

The description is two sentences, front-loading the core purpose and key differentiator. Every word adds value, with no redundancy or filler.

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

Completeness4/5

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

The description explains what the tool returns (compilation errors/warnings) and its advantage. For a simple retrieval tool without an output schema, this is sufficient. It could be enhanced by briefly noting the structure of returned errors, but the independence from console buffer adds significant 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 coverage is 100% and each parameter has clear descriptions. The tool description adds minimal extra detail beyond the schema (only mentions port context). With high schema coverage, the baseline is 3, and the description does not elevate it further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 clear verb-resource pair ('Get C# compilation errors/warnings') and immediately distinguishes itself from the sibling tool `unity_console_log` by stating it is independent of the console buffer and preferable for compile issues.

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

Usage Guidelines4/5

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

The description explicitly says 'Prefer this over unity_console_log for compile issues', providing a direct alternative and usage context. However, it does not explicitly state when not to use it (e.g., for non-compile log messages), which would make it a 5.

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

unity_get_project_contextA

Get the project docs/guidelines the team prepared for AI agents (from Assets/MCP/Context/). No args = all context; pass a category for one document. Call early in a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
categoryNoOptional: specific context category to fetch (e.g. 'ProjectGuidelines', 'Architecture', 'GameDesign', 'NetworkingGuidelines', 'NetworkingCSP', or any custom category). Omit to get all available context.

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior. It mentions the source path but not whether the tool is read-only, error behavior, or response format. The behavioral disclosure is minimal but not misleading.

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

Conciseness5/5

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

The description is two concise sentences: the first states the overall purpose, the second explains usage. No unnecessary words; every part contributes.

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

Completeness4/5

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

The tool is simple (fetching context documents) and the description covers source path and usage. However, without an output schema, it would benefit from mentioning the return format (e.g., plain text or structured). Still, it is fairly complete for its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 already covers both parameters with descriptions. The description adds value by clarifying that no args returns all context and passing a category fetches one document, which is not explicit in the schema.

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

Purpose5/5

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

The description clearly states it retrieves project docs/guidelines for AI agents from a specific path (Assets/MCP/Context/). No other sibling tools perform this function, so it is well-distinguished.

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

Usage Guidelines4/5

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

The description explicitly says 'No args = all context; pass a category for one document' and advises to 'Call early in a session.' This provides clear when-to-use guidance, though it doesn't mention alternatives or 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.

unity_graphics_game_captureA

Capture the Game View camera as an inline image. Returns base64 PNG that Claude can see directly. Use to see what the player sees.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
widthNoImage width in pixels (default: 512)
heightNoImage height in pixels (default: 512)
cameraNameNoName of camera to use (default: Camera.main / MainCamera tag)

TDQS

A3.9/5.0
Behavior4/5

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

Discloses output format (base64 PNG), that Claude can see it directly, and that it captures the Game View camera. No side effects or permissions mentioned, but given no annotations, this is adequate transparency.

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

Conciseness5/5

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

Two concise sentences: first states action and output, second gives use case. No extraneous information, front-loaded with the essential purpose.

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

Completeness4/5

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

Given no output schema, the description adequately explains the return value (base64 PNG). Input is fully covered by schema. The tool is simple, so this is sufficient.

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

Parameters4/5

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

Schema already describes all 4 parameters with coverage 100%. The description adds extra guidance for the port parameter ('Always include it when multiple instances run') and implies default values for width, height, and cameraName, which adds value beyond the schema.

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

Purpose4/5

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

Clearly states it captures the Game View camera and returns a base64 PNG that can be displayed inline. It distinguishes from scene capture (sibling unity_graphics_scene_capture) by specifying 'Game View', but does not explicitly differentiate from unity_screenshot_game which may have similar purpose.

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

Usage Guidelines3/5

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

Provides the use case 'Use to see what the player sees.' This gives clear context but does not specify when not to use or compare to alternatives like unity_screenshot_game or unity_graphics_scene_capture.

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

unity_graphics_scene_captureB

Capture the current Scene View as an inline image. Returns base64 PNG that Claude can see directly. Use to visually inspect the scene layout.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
widthNoImage width in pixels (default: 512)
heightNoImage height in pixels (default: 512)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states the tool captures and returns an image, but does not mention potential side effects (e.g., if it modifies the scene), required conditions (e.g., a valid scene view), or authentication needs. For a simple read-like operation, the description is minimally adequate but lacks depth.

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

Conciseness5/5

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

Two sentences, no filler. The first sentence states the primary action and output format; the second adds a use case. Information is front-loaded and every sentence adds value.

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

Completeness3/5

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

Given the tool has 3 parameters (one optional) and no output schema or annotations, the description explains the return format (base64 PNG) and a common use case. However, it omits details about default dimensions (covered only in schema), error conditions, and requirements for a connected Unity instance. It is sufficient for a simple tool but could be more complete.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all three parameters (port, width, height) with descriptions including default values. The tool description adds no extra meaning beyond the schema, earning a baseline score of 3.

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

Purpose5/5

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

The description clearly states it captures the Scene View as an inline image and returns a base64 PNG for direct viewing. The name and description together uniquely identify the tool's purpose among siblings like unity_screenshot_scene and unity_graphics_game_capture.

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

Usage Guidelines2/5

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

The description provides a brief use case ('visually inspect the scene layout') but does not differentiate from sibling tools such as unity_screenshot_scene, which may capture the same view. It lacks explicit when-to-use vs when-not-to-use guidance or alternative tool references.

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

unity_hub_available_releasesA

List Unity Editor versions available for download from Unity Hub.

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 present, so the description carries the full burden of behavioral disclosure. It correctly states the tool lists versions available for download, implying a read-only operation with no side effects. No additional behavioral traits (e.g., rate limits, authentication) are mentioned, but the simplicity of the tool makes this acceptable.

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

Conciseness5/5

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

The description is a single, clear sentence that conveys the tool's purpose without any extraneous information. It is perfectly concise and well-structured.

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

Completeness4/5

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

For a simple list tool with no parameters and no output schema, the description provides the essential information. It might be improved by briefly noting that the output is a list of version strings or similar, but it is sufficiently complete for its complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 input schema coverage is 100% by default. According to guidelines, baseline is 4 for 0 parameters. The description does not add any parameter information because none is needed. This is adequate.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'List Unity Editor versions available for download from Unity Hub.' It uses a specific verb ('List') and resource ('Unity Editor versions'), and distinguishes from sibling tools like unity_hub_list_editors by specifying 'available for download', which implies this is about remote versions, not installed ones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 unity_hub_list_editors (which likely lists installed editors) or other hub-related tools. The description does not mention any prerequisites, context, or exclusions.

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

unity_hub_get_install_pathA

Get the current default installation path for Unity Editors.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond being a read operation. It does not mention edge cases (e.g., what if no path is set) or return value details. The description is too minimal to adequately inform the agent of behavior.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the verb and resource. Every word is necessary, and there is no redundancy.

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

Completeness3/5

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

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but lacks details about the return value format or potential errors. It is minimally complete for a trivial getter.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is 100%. Per guidelines, baseline is 4. The description does not add parameter semantics as none exist, which 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 verb 'Get', the resource 'current default installation path', and the scope 'for Unity Editors'. It distinguishes itself from siblings like 'unity_hub_set_install_path' by indicating it is a getter operation.

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives. However, due to its simple nature (0 parameters, clear purpose), usage can be inferred. Lacks explicit exclusions or alternative recommendations.

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

unity_hub_install_editorB

Install a specific Unity Editor version. Optionally include platform modules (android, ios, webgl, linux, macos, windows-il2cpp).

ParametersJSON Schema
NameRequiredDescriptionDefault
modulesNoOptional modules to install: android, android-sdk-ndk-tools, android-open-jdk, ios, webgl, linux-il2cpp, mac-il2cpp, windows-il2cpp, etc.
versionYesUnity version to install (e.g. '2022.3.20f1', '6000.3.7f1')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and the description only states the action without disclosing behavioral traits like download time, required internet, or overwrite behavior. The description could add value by noting these aspects.

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

Conciseness5/5

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

Two short sentences with no extraneous information. Every word contributes to clarity.

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

Completeness3/5

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

Given the simple input schema and no output schema, the description is adequate but could mention expected outcomes or error handling (e.g., version not found).

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

Parameters3/5

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

Schema coverage is 100%, so the description adds minimal extra meaning beyond listing example modules. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Install') and resource ('Unity Editor version'), and clearly distinguishes from sibling tools like unity_hub_available_releases and unity_hub_install_modules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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., unity_hub_install_modules). Missing prerequisites such as Unity Hub being installed or administrative rights.

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

unity_hub_install_modulesA

Install additional platform modules to an already-installed Unity Editor version.

ParametersJSON Schema
NameRequiredDescriptionDefault
modulesYesModules to add: android, ios, webgl, etc.
versionYesTarget Unity version

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It does not mention whether the operation is destructive, requires network access, can be undone, or any side effects, leaving significant gaps for an install action.

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

Conciseness5/5

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

The description is a single, focused sentence with no extraneous words, effectively front-loading the core action and context.

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

Completeness3/5

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

Given the simple 2-parameter input and no output schema, the description is minimally adequate. However, it lacks details on error handling, specific platform module options, or verification steps, which would be beneficial for a complete 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 coverage is 100% so baseline is 3. The description adds slight value by including example module names (android, ios, webgl) beyond the schema's generic description, but does not provide new meaning for the version parameter.

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

Purpose5/5

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

The description clearly states the verb 'Install' and the resource 'additional platform modules' to an already-installed Unity Editor version, which distinguishes it from sibling tools like unity_hub_install_editor or unity_hub_list_editors.

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

Usage Guidelines3/5

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

The description implicitly states the prerequisite that the editor must already be installed, but does not explicitly provide when-not-to-use guidance or contrast with alternative tools like unity_hub_install_editor for initial installation.

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

unity_hub_list_editorsA

List all Unity Editor versions currently installed via Unity Hub, including their installation paths.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so the description carries the burden. It describes a read-only listing without side effects, which is appropriate for a simple tool. Could explicitly mention no modifications, but it's clear enough.

Agents need to know what a tool does to the world before calling it. Descriptions 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 (12 words) with no fluff. Every word adds value, clearly stating the action and result.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 output schema, the description mentions installation paths, which is useful. For a simple list tool, it's sufficiently complete, though it could hint at the output format (e.g., list of version and path objects).

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 in the input schema, so the baseline is 4. The description correctly communicates that no inputs are needed, aligning with 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 lists installed Unity Editor versions with installation paths. It uses a specific verb (List) and resource (Unity Editor versions), distinguishing it from siblings like unity_hub_install_editor or unity_hub_available_releases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 vs alternatives (e.g., unity_hub_get_install_path for a specific path, unity_hub_available_releases for available versions). Usage is implied but not clarified.

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

unity_hub_set_install_pathB

Set the default installation directory for Unity Editors.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesNew installation directory path

TDQS

B3.1/5.0
Behavior2/5

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

The description lacks behavioral details beyond the name. It does not disclose whether the path is validated, if it persists permanently, or if it overrides existing settings. No annotations are provided to compensate.

Agents need to know what a tool does to the world before calling it. Descriptions 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 without unnecessary words. It is concise but could be slightly expanded to include important caveats without breaking conciseness.

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

Completeness2/5

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

For a simple tool with one parameter and no output schema, the description should explain side effects or return values. It does not mention whether the tool returns success/failure or any confirmation, leaving it incomplete.

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

Parameters3/5

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

Schema coverage is 100% with the 'path' parameter described as 'New installation directory path'. The description adds no additional meaning beyond the schema, achieving the baseline score.

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

Purpose5/5

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

The description clearly states the verb 'Set' and the resource 'default installation directory for Unity Editors', distinguishing it from sibling tools like unity_hub_get_install_path or unity_hub_install_editor.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites such as admin rights or that it should be called before installing editors.

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

unity_list_advanced_toolsA

Discover advanced Unity tools (execute them via unity_advanced_tool) without loading full schemas: search=keywords → matching tools; category=name → its tools with parameter names; tool=name → that tool's full parameter schema; no args → all category names with counts (e.g. animation, terrain, shadergraph, probuilder, uma, physics, lighting, ui, …).

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
toolNoExact tool name → its full parameter schema.
searchNoKeywords, e.g. "terrain raise". Every word must match a tool's name, category, or description.
categoryNoCategory name → its tools with brief + parameter names.
includeSchemasNoWith category: full schemas for every tool (large — prefer tool= for one).

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It clearly describes the behavior: what each mode returns (matching tools, tools with parameter names, full schema, category counts) and implies it is lightweight by saying 'without loading full schemas'. It does not mention side effects or destructive actions, but as a read-only discovery tool, that 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?

The description is a single sentence that efficiently conveys all modes and outcomes. It is front-loaded with the main purpose ('Discover advanced Unity tools') and uses semicolons to organize different usage patterns. There is no redundancy or wasted words.

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

Completeness5/5

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

Despite having no output schema, the description fully explains what to expect from each mode: matching tools, tools with parameter names, full parameter schema, or category names with counts. It even provides example categories. This is complete for a tool of moderate complexity with 5 parameters and multiple modes.

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

Parameters4/5

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

Schema coverage is 100% with parameter descriptions, but the description adds significant value by explaining how the parameters combine into modes (e.g., search keywords matching, category listing tools with briefs, tool returning full schema). This goes beyond the schema's individual parameter descriptions.

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

Purpose5/5

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

The description clearly states the tool discovers advanced Unity tools and explains the different modes (search, category, tool, no args). It also distinguishes from the sibling unity_advanced_tool by noting that tools are executed via that tool. This provides a specific verb and resource, leaving no ambiguity.

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

Usage Guidelines4/5

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

The description explains when to use each mode: search for keywords, category for tools list, tool for full schema, no args for categories. It also advises against using includeSchemas with category for full schemas and recommends tool= for one. However, it does not explicitly state when not to use this tool or compare it to other listing tools, though few exist.

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

unity_list_instancesA

List running Unity Editor instances (name, port, version, clone flag, pluginVersion). With multiple instances, select one with unity_select_instance next.

ParametersJSON Schema
NameRequiredDescriptionDefault
refreshNoAccepted for compatibility. Discovery always performs a fresh registry read + port scan.

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided; description mentions 'always performs a fresh registry read + port scan', which is behavioral. However, it does not explicitly state it is read-only or has no side effects, leaving some ambiguity.

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

Conciseness5/5

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

Two concise sentences with no wasted words. Front-loaded with the action and key details.

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

Completeness4/5

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

Given no output schema, the description lists returned fields in parentheses. It provides sufficient context for a simple list operation, though a bit more structure could help.

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

Parameters4/5

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

Schema coverage is 100%. The description adds context to the 'refresh' parameter beyond the schema, explaining it is accepted for compatibility but not needed. This adds meaningful value.

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

Purpose4/5

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

Description explicitly states it lists running Unity Editor instances with specific fields (name, port, etc.). It does not differentiate from sibling tools, but the purpose is clear and specific.

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

Usage Guidelines4/5

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

Provides context for use: when multiple instances are running, it suggests using unity_select_instance next. Lacks explicit exclusions or alternatives, but guidance is helpful.

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

unity_material_createC

Create a new material asset with a specified shader and properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesSave path (e.g. 'Assets/Materials/MyMat.mat')
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
colorNo
shaderNoShader name (e.g. 'Standard', 'Universal Render Pipeline/Lit')
overwriteNoReplace an existing material (default false).
propertiesNoAdditional shader properties as key-value pairs

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description must carry behavioral transparency but only states the basic creation action. It does not disclose side effects (e.g., file system changes, asset database refresh), error scenarios, or what happens with the 'overwrite' parameter (though schema hints at it). No contradictions with annotations as none exist.

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

Conciseness5/5

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

The description is a single sentence of 10 words, front-loading the core purpose without extraneous detail. Every word earns its place, and the structure is direct and efficient.

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

Completeness2/5

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

Despite having 6 parameters (including nested objects) and no output schema, the description is extremely brief. It lacks information about return values, defaults, error conditions, and the effect of the 'overwrite' parameter. The agent would need to infer too much from the schema alone.

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

Parameters3/5

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

Schema description coverage is 83% (5 of 6 parameters described), so baseline is 3. The description adds 'with a specified shader and properties' which partially rephrases the schema descriptions for 'shader' and 'properties', but does not clarify path, color, overwrite, or port semantics beyond the schema. Minimal value added.

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

Purpose4/5

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

The description clearly states the action ('Create'), the resource ('new material asset'), and the specific context ('with a specified shader and properties'). It distinguishes this tool from the many sibling asset tools by focusing on material creation, though it does not explicitly differentiate from similar tools like unity_asset_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, such as modifying an existing material or importing a material. There are no usage prerequisites, not-conditions, or references to other tools, leaving the agent to infer suitability.

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

unity_packages_addA

Add/install a Unity package by identifier (e.g. 'com.unity.cinemachine' or 'com.unity.cinemachine@3.0.0').

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
identifierYesPackage identifier, e.g. 'com.unity.cinemachine@3.0.0'

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavior. It only indicates installation, omitting side effects (e.g., dependency resolution, potential version conflicts), error handling, 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?

Single sentence, front-loaded with verb and resource, no fluff. Every word serves a purpose.

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

Completeness3/5

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

The description covers the basic operation but lacks details about output (e.g., success/failure indication), potential failures, or prerequisites like having Unity running. Acceptable for a simple tool but could be more informative.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds value by providing an example format for the 'identifier' parameter, aiding proper usage. It does not elaborate on 'port' beyond the schema.

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

Purpose5/5

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

The description clearly states the tool adds/installs a Unity package by identifier, with an explicit example. This distinguishes it from sibling tools like unity_packages_remove, unity_packages_list, 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 on when to use this tool versus alternatives such as unity_packages_search or unity_packages_info. No prerequisites or context (e.g., must have Unity instance selected) are mentioned.

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

unity_packages_infoA

Get detailed info about an installed package including versions and dependencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name, e.g. 'com.unity.cinemachine'
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It correctly indicates a non-destructive read operation ('Get detailed info'). However, it lacks details on response structure, potential errors, or any additional behavioral traits beyond the basic read nature.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words. It front-loads the purpose and includes key output elements ('versions and dependencies').

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

Completeness3/5

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

While the description mentions 'detailed info', it is vague about what exactly is returned (e.g., metadata besides versions and dependencies). Given the absence of an output schema, more specificity would help. The description is adequate but not complete.

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

Parameters3/5

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

The input schema already provides clear descriptions for both parameters (name with example, port with usage note). The tool description does not add new semantic information beyond what the schema offers. With 100% schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'detailed info about an installed package', explicitly mentioning 'versions and dependencies'. This distinguishes it from siblings like unity_packages_list (which lists packages) and unity_packages_search (which searches for packages).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 used when needing detailed package information, but it does not provide explicit guidance on when to use this tool versus alternatives like unity_packages_list or unity_packages_search. No exclusions or context are given.

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

unity_packages_listA

List all installed Unity packages with their name, version, source, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility. It describes a read operation but does not mention safety, side effects, or required permissions, leaving behavioral gaps.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no unnecessary words. It efficiently communicates the tool's action and output.

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 one optional parameter and no output schema, the description covers the basics but lacks usage guidelines and behavioral context, making it minimally 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?

The single parameter 'port' includes a description explaining its purpose ('Unity instance port') and a usage guideline ('Always include it when multiple instances run'), adding value beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'installed Unity packages', along with the specific fields returned (name, version, source, status). This distinguishes it from sibling tools like unity_packages_add or unity_packages_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 like unity_packages_search or unity_packages_info. The description does not address prerequisites or context for use.

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

unity_packages_removeC

Remove/uninstall a Unity package by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name, e.g. 'com.unity.cinemachine'
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

C2.9/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 action but does not disclose consequences (e.g., irreversibility, dependency impact, recompilation triggering). For a destructive tool, more transparency is needed.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. It is efficient but could include one more sentence with behavioral context without being 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 tool is destructive (removes a package) and has no output schema, the description lacks critical context such as post-removal effects, success indicators, or safety warnings. It feels incomplete for safe usage.

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

Parameters3/5

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

The input schema covers both parameters with descriptions (100% coverage), so the description adds no additional meaning. Baseline score is appropriate as the schema already documents the parameters adequately.

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

Purpose4/5

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

The description clearly states the verb 'Remove/uninstall' and the resource 'Unity package', and specifies 'by name' which aligns with the required parameter. It distinguishes from sibling package tools (list, add, search, info) by indicating removal, but could be more explicit about it being an installed package.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives (e.g., unity_packages_list to verify installation first), no prerequisites, and no mention of when not to use (e.g., if package is required by others).

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

unity_play_modeB

Control Unity Editor play mode: enter play, pause, or stop.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
actionYesPlay mode action

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states the basic function, omitting effects on editor state, required permissions, or potential side effects. This leaves agents unaware of the tool's impact.

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

Conciseness5/5

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

The description is a single concise sentence that immediately conveys the purpose. No extraneous words or repetition.

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

Completeness3/5

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

For a simple control tool with 2 parameters and no output schema, the description is adequate but lacks context about return values or state changes. It could mention that it alters the editor's play mode state.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The main description adds no further parameter context beyond the schema. Baseline 3 applies as schema does the heavy lifting.

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

Purpose5/5

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

The description clearly identifies the tool's purpose: controlling Unity Editor play mode with specific actions (play, pause, stop). It is distinct from sibling tools, which cover different aspects of Unity Editor interaction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 like unity_editor_state. There is no mention of prerequisites, such as checking if the editor is open, or excluding scenarios.

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

unity_prefab_infoA

Get detailed prefab information: overrides, variant status, added/removed components. Works on both prefab assets and scene instances.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path of a prefab instance in the scene
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
assetPathNoAsset path of the prefab (e.g. 'Assets/Prefabs/Player.prefab')
instanceIdNoInstance ID of a prefab instance

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It describes what information is retrieved but does not explicitly state that the operation is read-only or non-destructive. While implied, explicit disclosure would improve transparency.

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

Conciseness5/5

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

Two sentences, front-loaded with key information. No redundant words. Every sentence earns its place.

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

Completeness3/5

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

The description covers the tool's purpose and scope but lacks details about return format or error conditions. Given the simple nature and full schema coverage, it is adequate but not fully complete.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds context about working on both asset and scene instances, but this is already hinted by the parameter descriptions. No additional 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 'Get' and the resource 'prefab information' with specific details (overrides, variant status, added/removed components). It also specifies it works on both prefab assets and scene instances, distinguishing it from sibling info tools like unity_gameobject_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 prefab-specific information but does not explicitly state when to use this tool versus alternatives like unity_gameobject_info. No when-not or alternative scenarios are provided, leaving some ambiguity.

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

unity_project_infoA

Get project information: name, path, Unity version, render pipeline, packages, build settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It implies read-only behavior by stating 'Get project information,' but does not explicitly disclose that it is non-destructive or requires a running project. The description is adequate but not enhanced beyond the obvious.

Agents need to know what a tool does to the world before calling it. Descriptions 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 immediately states the purpose. No wasted words.

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

Completeness4/5

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

Given no output schema and simple input, the description lists the returned fields (name, path, Unity version, etc.), which is sufficient for the agent to understand the tool's output. Slightly incomplete by not mentioning the format or structure of the response.

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

Parameters3/5

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

Schema description coverage is 100% (the 'port' parameter is documented in the schema). The tool description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 resource 'project information,' and it lists specific fields (name, path, Unity version, etc.), distinguishing it from sibling tools like unity_scene_info or unity_get_project_context.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; it does not mention prerequisites, exclusions, or comparison with sibling tools. The context shows many similar tools, but the description lacks usage context.

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

unity_queue_infoA

Get the current state of the multi-agent request queue: total queued requests, active agents, per-agent queue depths, and completed cache size. Useful for monitoring when multiple agents are working on the same Unity project.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool returns queue state data, implying a read-only operation. However, it lacks details on potential side effects, performance implications, or access requirements.

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

Conciseness5/5

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

Two sentences, no fluff. Every word contributes to clarity and purpose.

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

Completeness4/5

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

The description enumerates the data elements returned, which is helpful given no output schema. It is complete enough for a simple monitoring tool, but could further specify the structure or format.

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

Parameters4/5

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

Schema coverage is 100% with the port parameter described. The description adds value by advising to include the port when multiple instances run, giving practical usage context beyond the schema.

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

Purpose5/5

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

The description clearly states the tool gets the current state of the multi-agent request queue and lists the data elements (total queued requests, active agents, per-agent queue depths, completed cache size). It distinguishes itself from sibling tools like unity_agents_list which likely lists agents without queue depth.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 notes it is useful for monitoring when multiple agents are working on the same Unity project, providing a clear usage context. However, it does not explicitly contrast with alternatives like unity_agents_list or provide when-not-to-use guidance.

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

unity_redoA

Redo the last undone operation in Unity Editor.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.8/5.0
Behavior3/5

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

The description states the basic behavior but provides no additional traits (e.g., safety, side effects, failure cases). Without annotations, it only covers the obvious redo action.

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

Conciseness5/5

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

One concise sentence (9 words) that is front-loaded and contains no superfluous information.

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

Completeness4/5

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

For a simple redo tool, the description is mostly adequate. It could mention prerequisites (e.g., need a prior undo) or return value, but is otherwise sufficient given the tool's simplicity.

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

Parameters3/5

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

Schema coverage is 100% with a clear description of the port parameter. The tool description adds nothing beyond the schema, so baseline score applies.

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

Purpose5/5

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

The description 'Redo the last undone operation in Unity Editor' uses a specific verb (Redo) and resource (last undone operation), clearly distinguishing it from siblings like unity_undo and unity_undo_history.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The description implies usage after an undo, but does not mention alternatives or prerequisites like requiring an existing undo history.

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

unity_renderer_set_materialC

Assign a material to a GameObject's renderer.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
materialPathYesPath to the material asset
materialIndexNoMaterial slot index (default: 0)
gameObjectPathYesPath to the target GameObject

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Assign a material', but does not mention side effects like overwriting existing materials, what happens if the slot is invalid, or if it works on multiple renderers. It lacks transparency.

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

Conciseness4/5

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

Single sentence that is direct and to the point. No unnecessary words. However, it is very brief and could benefit from more detail without being 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 4 parameters (2 required), no output schema, and no annotations, the description is insufficient. It does not explain return values, error cases, or whether the operation is idempotent. It leaves critical context unknown.

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

Parameters3/5

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

Schema coverage is 100% with each parameter having a description. The tool description does not add additional meaning beyond what the schema provides, so baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Assign' and the resource 'material to a GameObject's renderer'. It is specific and matches the tool name. However, it does not differentiate from sibling tools like unity_material_create which creates materials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 (e.g., GameObject must have a Renderer), and no conditions where it should not be used.

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

unity_scene_hierarchyA

Get the hierarchy tree of all GameObjects in the active scene, including their components and children. Dense by default: per-node fields at their default value (active=true, tag=Untagged, layer=Default, origin position, Transform) are omitted — an absent field means the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
verboseNoEmit every per-node field even at default values (the pre-2.37 shape).
maxDepthNoMaximum depth to traverse (default: 10)
maxNodesNoMaximum total nodes to return (default: 5000). Use lower values for very large scenes to avoid timeouts.
parentPathNoOnly return hierarchy under this GameObject path (e.g. 'Canvas/Panel'). Useful for exploring specific subtrees in large scenes.

TDQS

A4.3/5.0
Behavior4/5

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

Discloses dense output (omitting default values) and timeout mitigation via maxNodes. No annotations, so description carries burden; additional details like performance or empty scene behavior could improve transparency.

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

Conciseness5/5

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

Two sentences: first states purpose, second explains density. Every sentence adds value, no fluff, 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?

Covers key aspects: hierarchy tree, components, children, dense output, parameter hints. Lacks explicit return format (tree structure), but sufficient given no output schema.

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

Parameters5/5

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

Adds significant meaning beyond schema: explains 'dense by default' for verbose, timeout avoidance for maxNodes, and subtree exploration for parentPath. Schema coverage is 100%, but description enriches.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'Get the hierarchy tree of all GameObjects in the active scene, including their components and children,' with a specific verb and resource. It distinguishes from siblings like unity_scene_info and unity_gameobject_info.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The description implies usage for exploring hierarchy and handling large scenes via maxDepth and maxNodes, but does not mention alternatives.

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

unity_scene_infoB

Get information about the currently open scene(s), including name, path, dirty state, and root game objects.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states 'Get information' implying a read-only operation, but does not clarify potential side effects, performance impact, or whether it requires an active scene. The description lacks transparency about error conditions or data volume.

Agents need to know what a tool does to the world before 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 is front-loaded with the core purpose and lists specific output fields. No redundant or unnecessary information.

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

Completeness3/5

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

Given the simplicity (one optional param, no output schema, no annotations), the description covers the basic purpose. However, it lacks details on return format (list vs. single scene), error handling, or when multiple scenes are open. It is adequate but could be more complete.

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

Parameters3/5

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

Schema_description_coverage is 100% for the single optional 'port' parameter, which already has a detailed description in the schema. The tool description adds no additional parameter semantics beyond what the schema provides. Baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'information about the currently open scene(s)', listing specific data fields (name, path, dirty state, root game objects). It is distinct from siblings like unity_scene_hierarchy which focuses on hierarchy structure, though not explicitly differentiated.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., unity_scene_stats, unity_scene_hierarchy). There is no mention of prerequisites, when-not to use, or selection criteria among sibling scene tools.

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

unity_scene_newA

Create a new empty scene (REPLACES the current one). Refuses if any loaded scene has unsaved changes — pass saveFirst or discardUnsavedChanges.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
saveFirstNoSave all modified scenes first.
discardUnsavedChangesNoProceed and LOSE unsaved changes.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description discloses the destructive 'REPLACES' behavior and the refusal condition. However, it omits details like whether the old scene is recoverable (undo), return value, or any side effects beyond replacement.

Agents need to know what a tool does to the world before 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, no redundancy. First sentence covers core purpose and destructive nature, second covers conditional behavior and resolution options. Every word serves a purpose.

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

Completeness4/5

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

Covers the essential for a low-complexity tool: action, destructive aspect, refusal condition, and how to handle unsaved changes. Could add more about irreversibility or undo support for a destructive action.

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

Parameters3/5

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

Schema coverage is 100% so description adds minimal extra value. It reiterates the purpose of saveFirst and discardUnsavedChanges from the refusal context, but does not enrich port parameter meaning.

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

Purpose5/5

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

Clearly states 'Create a new empty scene (REPLACES the current one)', specifying the verb, resource, and the key behavioral distinction of replacement. Distinguishes from sibling tools like unity_scene_open and unity_scene_save.

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

Usage Guidelines4/5

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

Gives explicit context for when the tool refuses (unsaved changes) and how to proceed (saveFirst or discardUnsavedChanges). Does not explicitly mention alternatives but implies using saveFirst requires prior save tool usage.

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

unity_scene_openA

Open a scene by its asset path (relative to Assets/). Refuses if any loaded scene has unsaved changes — pass saveFirst or discardUnsavedChanges.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesScene asset path, e.g. 'Assets/Scenes/MainScene.unity'
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
saveFirstNoSave all modified scenes before switching.
discardUnsavedChangesNoProceed and LOSE unsaved changes.

TDQS

A4.4/5.0
Behavior4/5

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

Discloses key behavior: refuses if unsaved changes, and provides two ways to proceed. Since no annotations exist, the description adequately covers behavioral traits.

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

Conciseness5/5

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

Two sentences, front-loaded with action, no superfluous words. Every sentence adds necessary information.

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

Completeness4/5

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

Given no output schema and 4 parameters, the description covers key behavior and parameter roles. Could optionally mention response or error scenarios, but adequate for use.

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

Parameters4/5

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

Schema already describes each parameter fully (100% coverage). The description adds value by explaining the effect of saveFirst and discardUnsavedChanges beyond their names.

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

Purpose5/5

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

Clearly states the tool opens a scene by asset path with specific behavior regarding unsaved changes. Distinct from other scene-related tools like save, new, etc.

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

Usage Guidelines4/5

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

Provides clear context for when to use the tool (open a scene) and the two options for handling unsaved changes. Does not explicitly mention when not to use, but it's well implied.

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

unity_scene_saveA

Save the current scene. A never-saved scene requires path (saving without one would open Unity's interactive Save dialog).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoAsset path to save to, e.g. 'Assets/Scenes/MyScene.unity'. Required for a scene that has never been saved; also acts as Save-As.
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: requiring path for unsaved scenes, triggering a dialog if omitted, and the Save-As behavior via path. It does not mention overwriting behavior or confirmation, which is acceptable for an asset-saving operation, but additional details on side effects would improve transparency.

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

Conciseness5/5

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

The description is two sentences long, with the first stating the core purpose and the second adding a critical nuance. No filler or redundancy; every word earns its place. This is a model of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 output schema and no annotations, the description covers the essential use cases: normal save and first-time save with path. It does not describe success feedback or error scenarios, but for a straightforward save operation, this is adequate. Missing information about overwriting or confirmation is a minor gap.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds meaningful context for the path parameter by explaining its mandatory use for never-saved scenes and its Save-As behavior, going beyond the schema's generic 'Asset path to save to.' The port parameter is not elaborated, but its purpose is clear from the schema.

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

Purpose5/5

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

The description starts with a clear verb and resource: 'Save the current scene.' It immediately distinguishes this tool from siblings like unity_scene_open or unity_scene_new by focusing on saving. The additional detail about never-saved scenes requiring path or triggering a dialog further clarifies its specific role.

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

Usage Guidelines4/5

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

The description explicitly states when to use the path parameter: for a never-saved scene, and notes that omitting it for such a scene opens an interactive dialog. It does not, however, contrast this tool with alternatives (e.g., when to use Save As vs overwriting), though no direct sibling for saving exists in the list. The guidance is clear but could be more comprehensive.

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

unity_scene_statsA

Get comprehensive scene statistics: total objects, vertices, triangles, lights, cameras, colliders, and top component types.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the returned data (stats) but does not mention side effects, permissions, read-only nature, or performance implications. The description is minimally adequate but lacks depth.

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

Conciseness5/5

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

The description is a single sentence with no filler. It front-loads the main purpose and lists specific items, making it efficient and easy to parse.

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

Completeness5/5

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

Given the tool's low complexity (one optional parameter, no output schema), the description provides a complete picture of what the tool returns. No additional context is necessary for an agent to use it correctly.

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

Parameters3/5

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

The input schema covers 100% of parameters, and the schema description for 'port' is already clear. The tool description does not add any new meaning beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Get') and resource ('comprehensive scene statistics') and lists the specific data items (objects, vertices, triangles, etc.). This clearly distinguishes it from sibling tools like unity_scene_info or unity_scene_hierarchy, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 retrieving scene statistics but does not provide explicit guidance on when to use it versus alternatives like unity_scene_info or unity_scene_hierarchy. No exclusions or when-not-to-use scenarios are mentioned.

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

unity_screenshot_editor_windowA

Capture a specific Editor window (Inspector, Project, Console, custom) to a PNG file via Win32 PrintWindow — works even when occluded, no focus steal. USE ONLY ON EXPLICIT USER REQUEST — never proactively or for your own inspection. WINDOWS EDITOR ONLY: on macOS/Linux it returns { success:false, platform } — do not retry, tell the user it's unavailable there. For game/scene views use unity_screenshot_game / unity_screenshot_scene (cross-platform).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoSave path ending in .png (default: Assets/Screenshots/EditorWindow_<time>.png).
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
windowYesEditorWindow type FullName (e.g. 'UnityEditor.InspectorWindow'), simple type name, or tab title.
maxDimensionNoMax pixels per side (default 8192, clamped to GPU max).

TDQS

A4.5/5.0
Behavior4/5

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

Discloses platform constraint, underlying method (Win32 PrintWindow), and behavior when occluded. No annotations provided, so description carries burden. Lacks details on permissions or side effects but sufficient for screenshot tool.

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

Conciseness5/5

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

Concise, front-loaded with key action, then usage restrictions and alternatives. Every sentence adds value; no waste.

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

Completeness5/5

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

With 4 parameters, no output schema, no annotations, the description fully addresses purpose, constraints, platform, and sibling differentiation. Complete for agent decision-making.

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 covers all 4 parameters with descriptions (100% coverage). Description does not add extra semantics beyond schema. Baseline 3 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?

Clearly states the tool captures a Unity Editor window to PNG using Win32 PrintWindow, with specific details like working when occluded and no focus steal. Explicitly distinguishes from siblings for game/scene screenshots.

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?

Clearly states to use only on explicit user request, not proactively. Explains Windows-only limitation and tells agent to inform user on other platforms. Points to cross-platform alternatives.

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

unity_screenshot_gameA

Capture a screenshot of the Game View. The screenshot is saved on the next frame render.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoSave path (default: Assets/Screenshots/GameView_timestamp.png)
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
superSizeNoResolution multiplier (1 = normal, 2 = 2x, 4 = 4x)

TDQS

A3.6/5.0
Behavior3/5

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

The note 'saved on the next frame render' reveals a timing detail, but with no annotations, the description lacks disclosure on behavioral aspects such as file overwrite policy, required permissions, or whether the tool blocks execution. This is mediocre transparency for a capture tool.

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

Conciseness5/5

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

The description is concise, consisting of only two sentences with no redundancy. The first sentence front-loads the primary action and resource, making it immediately scannable and informative.

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

Completeness4/5

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

Given the tool's simplicity (no output schema, 3 well-documented params), the description covers the essential purpose and a key behavioral aspect (timing). It could mention file format or overwrite behavior, but it is largely complete for an agent to understand and invoke the tool.

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

Parameters3/5

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

All three parameters (path, port, superSize) are already described in the input schema with clear defaults and context (e.g., port references unity_select_instance). The description adds no extra meaning beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 captures a screenshot of the Game View, a specific resource. It distinguishes from sibling tools like unity_screenshot_scene and unity_screenshot_editor_window by specifying 'Game View', making the purpose unambiguous.

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

Usage 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 over alternatives like unity_screenshot_scene or unity_graphics_game_capture. It does not mention prerequisites, exclusions, or context where this tool is preferred.

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

unity_screenshot_sceneA

Capture a screenshot of the Scene View camera. Returns immediately with the saved file path.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoSave path (default: Assets/Screenshots/SceneView_timestamp.png)
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
widthNoImage width (default: 1920)
heightNoImage height (default: 1080)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description adds minimal behavioral detail: it states the tool is non-blocking ('Returns immediately') and provides the output (file path). It does not disclose error behavior, overwrite policy, 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?

Two efficient sentences with no filler. The core action and output are front-loaded. 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?

For a straightforward capture tool with optional parameters, the description explains the essential behavior and return. It omits potential details like overwrite behavior or file format, but remains sufficient for typical use.

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

Parameters3/5

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

The input schema already covers all 4 parameters with descriptions (including defaults). The description adds only the port hint about multiple instances, which is helpful but not transformative. Baseline 3 is appropriate given 100% schema coverage.

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

Purpose5/5

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

The description clearly states the action ('Capture a screenshot'), the specific target ('Scene View camera'), and the output ('Returns immediately with the saved file path'). It distinguishes from sibling tools like unity_screenshot_game and unity_screenshot_editor_window.

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

Usage Guidelines4/5

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

The description provides relevant context (returns immediately, port hint for multiple instances) but does not explicitly caution against misuse or compare with alternative screenshot tools for specific needs.

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

unity_script_createB

Create a new C# script file in the project with the given content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAsset path for the script (e.g. 'Assets/Scripts/PlayerController.cs')
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
contentYesFull C# source code content
classNameNoClass name (defaults to filename without extension)
overwriteNoReplace an existing script (default false). Use unity_script_update to edit.

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It does not mention what happens if the file exists, whether it triggers compilation, or any side effects. The overwrite behavior is only hinted in the parameter description, not the main text.

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, which is concise but omits important behavioral details. It lacks structure and fails to front-load critical usage 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?

For a tool with 5 parameters, no output schema, and no annotations, the description is too minimal. It does not explain expected outcomes, error conditions, or prerequisites like requiring an existing script path.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional semantic value beyond what the schema already provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (Create), the resource (a C# script file), and the context (in the project with given content). It effectively distinguishes from sibling tools like unity_script_update or unity_script_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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. The schema has a note about using unity_script_update for editing, but the main description lacks explicit usage context.

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

unity_script_readB

Read the contents of a C# script file from the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAsset path of the script
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It only states 'Read contents' without detailing behavior like return format, error handling (e.g., missing file), or any side effects. This is minimal disclosure.

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

Conciseness4/5

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

Single sentence is concise and front-loaded. No superfluous information. However, for a simple tool it is acceptable, but it could be slightly expanded.

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, so description should explain what is returned (e.g., script content as string). It fails to mention return format or error conditions. Incomplete for a new user.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. Description adds no additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

Description clearly states verb 'Read' and resource 'C# script file', distinguishing it from sibling tools like unity_script_create and unity_script_update.

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

Usage Guidelines3/5

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

Description implies usage (reading scripts) but does not explicitly state when to use vs. alternatives or provide 'when not to use' guidance. It is adequate but lacks explicit differentiation.

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

unity_script_updateB

Update the contents of an existing C# script file.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAsset path of the script
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
contentYesNew full C# source code content

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Update' without specifying that the script file is overwritten, saved, or that recompilation may be triggered. There is no mention of required permissions 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.

Conciseness4/5

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

The description is a single, concise sentence that is front-loaded. However, it could include slightly more context without becoming verbose, such as mentioning that the content replaces the entire file.

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 three parameters and no output schema or annotations, the description is too sparse. It lacks guidance on when to use the optional 'port' parameter and does not explain the return behavior or error conditions.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it simply restates the tool's purpose without elaborating on 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 ('Update'), the resource ('existing C# script file'), and distinguishes it from sibling tools like unity_script_create (create new) and unity_script_read (read).

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

Usage Guidelines2/5

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

No usage guidelines provided. The description does not indicate when to use this tool vs alternatives, such as unity_script_create for new scripts or when a script does not exist. No prerequisites or context are mentioned.

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

unity_search_assetsA

Search for assets in the project by name, type, and folder. Uses Unity's AssetDatabase search.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
typeNoAsset type filter (e.g. 'Material', 'Texture2D', 'Prefab', 'Scene', 'AnimationClip', 'ScriptableObject')
queryNoSearch query (asset name)
folderNoFolder to search in (e.g. 'Assets/Prefabs')
maxResultsNoMaximum results to return (default: 100)

TDQS

A3.5/5.0
Behavior2/5

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

Lacks behavioral details beyond 'Uses Unity's AssetDatabase search.' No annotations provided; description does not disclose read-only nature, performance, or return format.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no redundant information.

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

Completeness3/5

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

Adequate for a basic search tool but incomplete: no output schema, return values not hinted, and maxResults behavior not explained.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. Description adds no significant meaning beyond parameter names and types.

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

Purpose5/5

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

Clearly states 'Search for assets in the project by name, type, and folder.' Identifies the verb and resource, and distinguishes from sibling tools that focus on specific search criteria.

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

Usage Guidelines3/5

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

Implied usage from description but no explicit guidance on when to use this tool versus alternatives like unity_search_by_name or unity_search_by_component.

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

unity_search_by_componentB

Find all GameObjects in the scene that have a specific component type. Returns their paths and instance IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
limitNoMaximum results to return (default: 500). Use lower values on large scenes.
componentTypeYesComponent type name (e.g. 'Rigidbody', 'Camera', 'AudioSource', 'MyScript')
includeInactiveNoInclude inactive GameObjects (default: false)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose whether the tool is read-only, destructive, or its safety profile. It only states return values (paths and instance IDs) but lacks behavioral context such as permissions 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?

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the core purpose.

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

Completeness2/5

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

Given the presence of multiple sibling search tools and 4 parameters, the description is too brief. It does not mention scope (e.g., only current scene) or performance considerations (e.g., use limit on large scenes) that are vital for correct usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The tool description adds no additional meaning beyond what the schema provides, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'Find' and the resource 'GameObjects in the scene' with a specific component type. It is distinct from sibling search tools like unity_search_by_layer or unity_search_by_name.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It does not mention that other tools exist for searching by layer, tag, or name, nor does it provide context about prerequisites or limitations.

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

unity_search_by_layerB

Find all GameObjects on a specific layer.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
layerYesLayer name or index (e.g. 'UI', 'Water', '5')
limitNoMaximum results to return (default: 500).

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only states the basic function, omitting any behavioral traits such as performance implications, side effects (e.g., does it modify the scene?), or return format. This leaves the agent uninformed about important behavioral aspects.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. It is appropriately concise, but could be more informative without sacrificing brevity. The structure is good, but the content is minimal.

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 and no output schema or annotations, the description is too minimal. It fails to explain what the tool returns, how to interpret results, or any edge cases. An agent needs more context to use it effectively.

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

Parameters3/5

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

Schema coverage is 100%, so the input schema already documents all parameters. The description adds nothing beyond the schema, as it does not provide additional meaning or clarification for the parameters. Baseline score of 3 is appropriate given high coverage.

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

Purpose5/5

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

The description 'Find all GameObjects on a specific layer' uses a specific verb ('Find') and resource ('GameObjects on a specific layer'). It clearly distinguishes from sibling tools like unity_search_by_component, unity_search_by_tag, and unity_search_by_name, which search by different criteria.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 description implies usage for layer-based searches, but does not provide when-not-to-use or mention alternative tools. Without such context, an AI agent may not select it correctly among similar search tools.

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

unity_search_by_nameB

Find all GameObjects whose name contains a pattern. Supports substring matching or regex.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName pattern to search for
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
limitNoMaximum results to return (default: 500).
regexNoUse regex matching instead of substring (default: false)
includeInactiveNoInclude inactive GameObjects (default: false)

TDQS

B3.2/5.0
Behavior2/5

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

Without annotations, the description carries full burden but only mentions 'substring matching or regex' capabilities. No information about whether the search is read-only, performance implications, or what the return data includes (e.g., object references vs. names).

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

Conciseness4/5

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

Two short, front-loaded sentences with no superfluous content. However, could incorporate more context (e.g., usage notes) without becoming verbose.

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

Completeness3/5

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

The description is adequate for a simple search but lacks completeness: no mention of the port parameter's necessity for multi-instance scenarios, no explanation of return format (GameObject names, paths, or references), and no integration hints with sibling tools. Output schema absent, so description could compensate.

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

Parameters3/5

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

Schema coverage is 100% with all parameters described. The description echoes regex support but adds no additional semantics beyond the schema. Baseline of 3 applies as no extra value is provided.

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

Purpose5/5

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

The description clearly states 'Find all GameObjects whose name contains a pattern' which specifies the action and resource. It also mentions substring and regex support, immediately differentiating it from sibling search tools like unity_search_by_layer or unity_search_by_component.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 the many sibling search tools (by layer, component, tag, etc.). The description implicitly indicates it's for name-based search, but does not explicitly state alternatives or conditions for use.

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

unity_search_by_tagB

Find all GameObjects with a specific tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYesTag name (e.g. 'Player', 'Enemy', 'MainCamera')
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
limitNoMaximum results to return (default: 500).

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Describes read operation but does not disclose return format, performance implications, or any limitations. Minimal behavioral context.

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

Conciseness5/5

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

Single, front-loaded sentence with no wasted words. Efficiently conveys core purpose.

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

Completeness3/5

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

Simple tool with clear schema, but lacks output schema or description of return values. Could note features like default limit or result handling.

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

Parameters3/5

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

Schema has 100% description coverage with examples for tag (e.g., 'Player') and context for port. Description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

Description explicitly states 'Find all GameObjects with a specific tag' - a specific verb ('Find') and resource ('GameObjects by tag'). Clearly distinguishes from siblings like unity_search_by_layer and unity_search_by_name.

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

Usage 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 (e.g., unity_search_by_name, unity_search_by_component). No conditions or exclusions mentioned.

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

unity_search_missing_referencesB

Find all missing/broken object references and missing scripts in the scene. Essential for cleanup and debugging.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
limitNoMaximum results to return (default: 500).
scopeNo'scene' (default) or 'assets'

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only, whether it modifies the scene, or any side effects. The phrase 'Essential for cleanup' implies it might be safe but lacks explicit detail.

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

Conciseness5/5

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

Two sentences with no wasted words. The main purpose is front-loaded. Every sentence serves a purpose.

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

Completeness2/5

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

The description is incomplete for a search tool with no output schema. It does not explain the return format (e.g., list of references, object paths). The optional parameters are documented in schema but the description adds no context about typical usage or results.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. The description adds no extra meaning beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 'find' and the resource 'missing/broken object references and missing scripts in the scene'. It distinguishes itself from sibling search tools like unity_search_by_name or unity_search_by_layer by focusing on broken references.

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

Usage Guidelines3/5

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

The description mentions 'Essential for cleanup and debugging', giving context but no explicit when-to-use or when-not-to-use guidance. It does not differentiate usage from other search tools like unity_search_by_component or unity_search_assets.

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

unity_select_instanceA

Select the Unity Editor instance this session targets; subsequent unity_* calls route there. Identify it by projectName (stable) or port (dynamic — can change across editor restarts). PARALLEL SAFETY: after selecting, include port on every unity_* call when multiple agents share this MCP process.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort of the instance to select (from unity_list_instances).
projectNameNoProject name to select (stable across restarts, unlike ports).

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that selecting affects subsequent calls and that port can change across restarts, but does not mention side effects like overriding previous selections or error states if the instance is not found. The parallel safety tip adds useful context.

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

Conciseness5/5

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

The description is two sentences plus a concise parallel safety note, all front-loaded. Every sentence serves a distinct purpose: stating the tool's role, identifying methods, and a critical safety warning. No unnecessary words.

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

Completeness3/5

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

Given no output schema and no annotations, the description adequately explains the tool's impact on subsequent calls but lacks details on return values, error handling, or prerequisites (e.g., using unity_list_instances first). The large sibling set implies dependencies that are not explicitly addressed.

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

Parameters4/5

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

Schema coverage is 100% with both parameters described. The description adds value by clarifying the stability contrast ('projectName stable, port dynamic'), which is implied but not as explicitly stated in the schema descriptions. This helps agents choose between the two identifiers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 that 'Select the Unity Editor instance this session targets; subsequent unity_* calls route there.' It uses the specific verb 'Select' and resource 'Unity Editor instance', and distinguishes this selector from sibling tools like unity_list_instances which list instances.

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

Usage Guidelines4/5

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

The description explains the two identification methods (projectName stable, port dynamic) and includes a parallel safety note advising to include port on every unity_* call when multiple agents share the process. However, it does not explicitly state when to use this tool versus alternatives or mention prerequisites like calling unity_list_instances first.

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

unity_selection_find_by_typeB

Find all GameObjects in the scene that have a specific component type (e.g. 'Rigidbody', 'Camera', 'Light', 'AudioSource', or custom scripts).

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
typeNameYesComponent type name (e.g. 'Rigidbody', 'Camera', 'MyScript')

TDQS

B3.3/5.0
Behavior3/5

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

The description indicates a read-only search operation with no side effects, which is appropriate. However, it does not disclose whether it includes inactive objects, searches recursively, or handles performance implications. Since no annotations are provided, the description carries the full burden but falls short of comprehensive transparency.

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

Conciseness5/5

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

The description is a single, clear sentence with no unnecessary words. It efficiently communicates the core functionality and includes relevant examples.

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 absence of an output schema, the description adequately explains the tool's purpose but omits important details like whether the search covers the entire scene hierarchy, whether inactive GameObjects are included, and what the return format is. These gaps reduce completeness for a search tool.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds example type names ('Rigidbody', 'Camera') but does not provide additional semantic meaning beyond what the schema already conveys. It does not explain the 'port' parameter's purpose, which is described in the schema.

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

Purpose4/5

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

The description clearly states the tool finds all GameObjects with a specific component type, using a specific verb and resource. It provides examples to clarify what 'component type' means. However, it does not explicitly distinguish from sibling tools like unity_search_by_component, which might have similar functionality.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as unity_search_by_component or unity_search_by_name. There is no mention of when not to use it or prerequisites, leaving the agent without context for selection.

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

unity_selection_focus_scene_viewA

Control the Scene View camera: frame a GameObject, set pivot/rotation/zoom, toggle orthographic.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoGameObject to frame in scene view
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
sizeNoScene view zoom (camera distance)
positionNoScene view pivot position
rotationNoScene view rotation (euler angles)
instanceIdNoInstance ID of GameObject to frame
orthographicNoToggle orthographic/perspective

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only lists actions without disclosing side effects, error cases (e.g., invalid path), or whether it modifies selection state.

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

Conciseness5/5

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

Single sentence with clear list of actions, front-loaded and concise with no redundant information.

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

Completeness3/5

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

Covers main capabilities but lacks details on return values, prerequisites, or behavior when multiple parameters conflict. Adequate but not exhaustive for a tool with 7 parameters and no output schema.

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

Parameters4/5

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

Despite 100% schema coverage, the description adds meaningful context by mapping 'frame a GameObject' to path/instanceId parameters and listing actions (pivot, rotation, zoom, orthographic) that correspond to parameters.

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

Purpose5/5

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

The description clearly states the tool controls the Scene View camera and lists specific actions (frame, set pivot/rotation/zoom, toggle orthographic), distinguishing it from siblings like unity_scene_info or unity_selection_set.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., unity_selection_set for selection, other camera tools). 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.

unity_selection_getA

Get the currently selected GameObjects in the Unity Editor.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states what the tool does but does not disclose return format, side effects, or permissions. For a read-only query, it is minimally adequate but not rich.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words. It front-loads the core purpose.

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

Completeness3/5

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

Given the simplicity of the tool and absence of output schema, the description is adequate but does not explain the nature of the returned GameObjects (e.g., list of names or references) or edge cases like empty selection.

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

Parameters3/5

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

Schema coverage is 100% and the port parameter is well-described in the schema. The description adds no additional parameter meaning beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships 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 (Get), the resource (currently selected GameObjects), and the context (in the Unity Editor). It distinguishes from siblings like unity_selection_set which modifies selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 unity_selection_set or unity_selection_find_by_type. The context does not specify prerequisites or conditions.

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

unity_selection_setC

Set the editor selection to specific GameObjects.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoSingle GameObject path to select
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
pathsNoMultiple GameObject paths to select
instanceIdNoInstance ID of GameObject to select

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the selection replaces or extends the current selection, nor any error conditions or side effects. Minimal behavioral insight.

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

Conciseness5/5

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

Single sentence, no unnecessary words, front-loaded with the core action. Efficient and direct.

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 4 optional parameters and no output schema, the description is too brief. Missing details on selection behavior (replace vs. add), valid path formats, and typical use cases.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The tool description adds no extra meaning beyond the schema; it does not clarify how the parameters interact (e.g., priority among path, paths, instanceId).

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

Purpose4/5

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

Description clearly states the action (set) and the resource (editor selection) and target (specific GameObjects). It is functional but does not differentiate from sibling selection tools like unity_selection_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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., unity_selection_get or other selection tools). No context on prerequisites like needing an active Unity instance.

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

unity_set_object_referenceA

[LEGACY] Set an object reference on a component. Prefer unity_component_set_reference (richer resolution).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoHierarchy path of the target GameObject
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
instanceIdNoInstance ID (alternative to path)
propertyNameYesName of the ObjectReference property to set
componentTypeNoComponent type name (optional - will search all components)
referencePathNoAsset path of the reference (for assets like prefabs, materials, textures)
referenceGameObjectNoName/path of a GameObject in the scene (for scene references)

TDQS

A3.6/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 mentions it is legacy. It does not disclose side effects, error behaviors, or resolution differences beyond calling the alternative 'richer'.

Agents need to know what a tool does to the world before calling it. Descriptions 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 (one sentence) with no wasted words. It includes a legacy marker and a recommendation for an alternative.

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

Completeness2/5

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

Given 7 parameters and no output schema or annotations, the description is too sparse. It lacks guidance on parameter interactions, required combinations, or typical workflows.

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

Parameters3/5

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

The schema has 100% coverage with descriptions for all 7 parameters, so the baseline is 3. The tool description adds no parameter-level information, but the schema sufficiently explains 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 what the tool does ('Set an object reference on a component') and distinguishes it from the preferred sibling 'unity_component_set_reference' by labeling it legacy.

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

Usage Guidelines4/5

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

The description explicitly recommends preferring the alternative tool, but does not clarify when this legacy tool should be used (e.g., fallback or compatibility scenarios).

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

unity_undoA

Undo the single most recent step on Unity's global undo stack (Ctrl+Z). To revert a specific MCP action, prefer unity_undo_last.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.

TDQS

A4.1/5.0
Behavior4/5

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

Describes operating on Unity's global undo stack and being equivalent to Ctrl+Z. With no annotations, this provides useful behavioral context. Could mention what happens when no steps are available.

Agents need to know what a tool does to the world before 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 with the core action front-loaded. No unnecessary 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?

Lacks explanation of return values or error behavior (e.g., what happens if undo stack is empty). Given the tool simplicity, it is adequate but not comprehensive.

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

Parameters3/5

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

Schema coverage is 100% and the port parameter is fully described in the schema. The description does not add extra meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

Clearly states it undoes the single most recent step on Unity's global undo stack, mimicking Ctrl+Z. Distinguishes from sibling tool unity_undo_last which reverts specific MCP actions.

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

Usage Guidelines4/5

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

Explicitly says to prefer unity_undo_last for reverting a specific MCP action, providing a clear alternative. However, it does not mention prerequisites or error cases like empty undo stack.

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

unity_undo_historyA

List recent MCP actions with undo state: per-agent attribution, whether each is still undoable, target, and the current undo group. Use it to decide what unity_undo_last reverts or to pick an agentId.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
countNoMax actions to return, newest first (default 20).
agentIdNoOptional: only show actions from this agent.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It clearly describes the tool's behavior as a read-only listing of undo history, detailing the data returned. It does not mention any side effects or limitations, but the lack of annotations is mitigated by the explicit description of output fields.

Agents need to know what a tool does to the world before calling it. Descriptions 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 with no wasted words. It is front-loaded with the core functionality and immediately follows with actionable usage guidance. 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 listing tool with no output schema and no annotations, the description covers the main aspects: what is listed (recent undo actions), key fields, and how to use it. It could be more complete by mentioning ordering (newest first, as implied by the 'count' parameter) but is sufficient for an agent to understand the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema: the 'port' parameter's usage hint is already in the schema description, and the 'agentId' usage is slightly amplified. It does not introduce new parameter semantics.

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

Purpose5/5

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

The description clearly states it lists recent MCP actions with undo state, specifying the exact information returned (per-agent attribution, undoability, target, undo group). It explicitly differentiates from the sibling tool unity_undo_last by stating its purpose is to decide what that tool reverts.

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

Usage Guidelines4/5

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

The description provides clear usage context: 'Use it to decide what unity_undo_last reverts or to pick an agentId.' This tells the agent when to use this tool. However, it does not explicitly mention when not to use it or list alternative tools beyond unity_undo_last, leaving room for improvement.

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

unity_undo_lastA

Revert the most recent undoable MCP action as a whole (create/edit/boolean, not one internal step — each write runs in its own named undo group). With agentId, targets that agent's most recent action. Unity's undo is LINEAR: reverting an action also reverts anything newer stacked on it, so this refuses to cascade and lists what would be affected unless force:true. (execute-code and reads are never targets.)

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
forceNoAlso revert newer actions stacked on top of the target (Unity's linear undo). Default false.
agentIdNoOptional: revert this agent's most recent action instead of the global newest (see unity_undo_history for ids).

TDQS

A4.8/5.0
Behavior5/5

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

No annotations are provided, so the description fully bears the burden of transparency. It discloses the linear undo nature, the default refusal to cascade, and the effect of the force parameter. It also clarifies that reads and execute-code are never undo targets, giving the agent a comprehensive understanding of the tool's behavior.

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

Conciseness5/5

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

The description is two sentences with parenthetical clarifications, efficiently conveying all necessary information without waste. It front-loads the main action and then details conditions and exceptions, making it easy for the agent to scan and understand.

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

Completeness4/5

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

The description is thorough for a simple undo tool: it covers purpose, parameters, behavioral quirks, and references related tools. However, it does not explicitly describe the return value or confirmation message, and no output schema exists. This minor gap prevents a perfect score.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds meaningful context beyond the schema: the port parameter gets a usage hint ('Always include it when multiple instances run'), force is explained in terms of linear undo, and agentId is linked to unity_undo_history. This extra value elevates it above the baseline of 3.

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

Purpose5/5

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

The description clearly states it reverts the most recent undoable MCP action as a whole, distinguishing from individual steps and sibling tools like unity_undo_history and unity_redo. It specifies that execute-code and reads are never targets, making the purpose precise and unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool (revert most recent action) and how it behaves with linear undo (refuses to cascade unless force:true). It also explains using agentId to target a specific agent's action and references unity_undo_history for agent ids, offering clear usage context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 74 tool updatesv2.35.6
    • Changedunity_advanced_tool1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_agent_log1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_agents_list1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_asset_create_prefab1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_asset_delete3 fields changed
      • addedInput schema / properties / permanent
        Added value: +{
        +  "description": "Hard-delete instead of OS trash. Default false.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • addedInput schema / properties / recursive
        Added value: +{
        +  "description": "Required to delete a FOLDER and its contents. Default false refuses, reporting the asset count.",
        +  "type": "boolean"
        +}
    • Changedunity_asset_import2 fields changed
      • addedInput schema / properties / overwrite
        Added value: +{
        +  "description": "Replace an existing asset at the destination (default false).",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_asset_instantiate_prefab1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_asset_list1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_build1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_component_add1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_component_batch_wire3 fields changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • changedInput schema / properties / references / items / properties / referenceInstanceId / description
        Previous value: -"Instance ID to assign"New value: +"Instance ID to assign (64-bit-safe string)"
      • changedInput schema / properties / references / items / properties / referenceInstanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_component_get_properties1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_component_get_referenceable1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_component_remove1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_component_set_property3 fields changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • changedInput schema / properties / value / description
        Previous value: -"Value to set (type depends on property). For ObjectReference: string asset path, string scene object name, null, or {assetPath?, instanceId?, gameObject?, componentType?}"New value: +"Value to set. ObjectReference accepts: asset path, scene object name, null, or {assetPath?, instanceId?, gameObject?, componentType?}"
      • addedInput schema / properties / value / type
        Added value: +[
        +  "string",
        +  "number",
        +  "boolean",
        +  "object",
        +  "array",
        +  "null"
        +]
    • Changedunity_component_set_reference3 fields changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • changedInput schema / properties / referenceInstanceId / description
        Previous value: -"Instance ID of the object to assign"New value: +"Instance ID of the object to assign (64-bit-safe string)"
      • changedInput schema / properties / referenceInstanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_console_clear1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_console_log3 fields changed
      • addedInput schema / properties / includeStackTrace
        Added value: +{
        +  "description": "Traces to keep: 'errors' (default, error-like entries only, trimmed), 'all', 'none'.",
        +  "enum": [
        +    "errors",
        +    "all",
        +    "none"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / maxStackFrames
        Added value: +{
        +  "description": "Frames kept per retained trace (default: 6)",
        +  "type": "number"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_editor_ping1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_editor_state1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_execute_code1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_execute_menu_item1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_gameobject_create1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_gameobject_delete2 fields changed
      • addedInput schema / properties / force
        Added value: +{
        +  "description": "Delete even when the runtime mesh is shared by other objects (ProBuilder clones). Default false.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_gameobject_duplicate1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_gameobject_info1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_gameobject_reparent1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_gameobject_set_active1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_gameobject_set_transform1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_get_compilation_errors1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_get_project_context1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_graphics_game_capture1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_graphics_scene_capture1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_list_advanced_tools5 fields changed
      • changedInput schema / properties / category / description
        Previous value: -"Filter by category name (e.g. \"animation\", \"prefab\", \"shadergraph\"). Omit for full list."New value: +"Category name → its tools with brief + parameter names."
      • addedInput schema / properties / includeSchemas
        Added value: +{
        +  "description": "With category: full schemas for every tool (large — prefer tool= for one).",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • addedInput schema / properties / search
        Added value: +{
        +  "description": "Keywords, e.g. \"terrain raise\". Every word must match a tool's name, category, or description.",
        +  "type": "string"
        +}
      • addedInput schema / properties / tool
        Added value: +{
        +  "description": "Exact tool name → its full parameter schema.",
        +  "type": "string"
        +}
    • Changedunity_list_instances1 field changed
      • changedInput schema / properties / refresh / description
        Previous value: -"Force a fresh discovery scan (default: true). Set to false to use cached results."New value: +"Accepted for compatibility. Discovery always performs a fresh registry read + port scan."
    • Changedunity_material_create2 fields changed
      • addedInput schema / properties / overwrite
        Added value: +{
        +  "description": "Replace an existing material (default false).",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_packages_add1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_packages_info1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_packages_list1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_packages_remove1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_packages_search1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_play_mode1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_prefab_info1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_project_info1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_queue_info1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_redo1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_renderer_set_material1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_scene_hierarchy2 fields changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • addedInput schema / properties / verbose
        Added value: +{
        +  "description": "Emit every per-node field even at default values (the pre-2.37 shape).",
        +  "type": "boolean"
        +}
    • Changedunity_scene_info1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_scene_new3 fields changed
      • addedInput schema / properties / discardUnsavedChanges
        Added value: +{
        +  "description": "Proceed and LOSE unsaved changes.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • addedInput schema / properties / saveFirst
        Added value: +{
        +  "description": "Save all modified scenes first.",
        +  "type": "boolean"
        +}
    • Changedunity_scene_open3 fields changed
      • addedInput schema / properties / discardUnsavedChanges
        Added value: +{
        +  "description": "Proceed and LOSE unsaved changes.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
      • addedInput schema / properties / saveFirst
        Added value: +{
        +  "description": "Save all modified scenes before switching.",
        +  "type": "boolean"
        +}
    • Changedunity_scene_save2 fields changed
      • addedInput schema / properties / path
        Added value: +{
        +  "description": "Asset path to save to, e.g. 'Assets/Scenes/MyScene.unity'. Required for a scene that has never been saved; also acts as Save-As.",
        +  "type": "string"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_scene_stats1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Addedunity_screenshot_editor_window
    • Changedunity_screenshot_game1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_screenshot_scene1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_script_create2 fields changed
      • addedInput schema / properties / overwrite
        Added value: +{
        +  "description": "Replace an existing script (default false). Use unity_script_update to edit.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_script_read1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_script_update1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_search_assets1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_search_by_component1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_search_by_layer1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_search_by_name1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_search_by_tag1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_search_missing_references1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_select_instance3 fields changed
      • changedInput schema / properties / port / description
        Previous value: -"The port number of the Unity instance to select (from unity_list_instances output)."New value: +"Port of the instance to select (from unity_list_instances)."
      • addedInput schema / properties / projectName
        Added value: +{
        +  "description": "Project name to select (stable across restarts, unlike ports).",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "port"
        -]
    • Changedunity_selection_find_by_type1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_selection_focus_scene_view1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_selection_get1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_selection_set1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_set_object_reference1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_undo1 field changed
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Changedunity_undo_history3 fields changed
      • addedInput schema / properties / agentId
        Added value: +{
        +  "description": "Optional: only show actions from this agent.",
        +  "type": "string"
        +}
      • addedInput schema / properties / count
        Added value: +{
        +  "description": "Max actions to return, newest first (default 20).",
        +  "type": "number"
        +}
      • changedInput schema / properties / port / description
        Previous value: -"Target Unity instance port for parallel-safe routing. Get this from unity_select_instance. When working with multiple Unity instances, ALWAYS include this parameter."New value: +"Unity instance port (from unity_select_instance). Always include it when multiple instances run."
    • Addedunity_undo_last
  2. 13 tool updatesv2.29.0
    • Changedunity_component_batch_wire1 field changed
      • changedInput schema / properties / references / items / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_component_get_referenceable1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_component_set_reference1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_gameobject_delete1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_gameobject_duplicate1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_gameobject_info1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_gameobject_reparent1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_gameobject_set_active1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_gameobject_set_transform1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_prefab_info1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
    • Changedunity_selection_focus_scene_view1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"integer"New value: +"string"
    • Changedunity_selection_set1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"integer"New value: +"string"
    • Changedunity_set_object_reference1 field changed
      • changedInput schema / properties / instanceId / type
        Previous value: -"number"New value: +"string"
  3. 78 tool updatesv2.28.1
    • Addedunity_advanced_tool
    • Addedunity_agent_log
    • Addedunity_agents_list
    • Addedunity_asset_create_prefab
    • Addedunity_asset_delete
    • Addedunity_asset_import
    • Addedunity_asset_instantiate_prefab
    • Addedunity_asset_list
    • Addedunity_build
    • Addedunity_component_add
    • Addedunity_component_batch_wire
    • Addedunity_component_get_properties
    • Addedunity_component_get_referenceable
    • Addedunity_component_remove
    • Addedunity_component_set_property
    • Addedunity_component_set_reference
    • Addedunity_console_clear
    • Addedunity_console_log
    • Addedunity_editor_ping
    • Addedunity_editor_state
    • Addedunity_execute_code
    • Addedunity_execute_menu_item
    • Addedunity_gameobject_create
    • Addedunity_gameobject_delete
    • Addedunity_gameobject_duplicate
    • Addedunity_gameobject_info
    • Addedunity_gameobject_reparent
    • Addedunity_gameobject_set_active
    • Addedunity_gameobject_set_transform
    • Addedunity_get_compilation_errors
    • Addedunity_get_project_context
    • Addedunity_graphics_game_capture
    • Addedunity_graphics_scene_capture
    • Addedunity_hub_available_releases
    • Addedunity_hub_get_install_path
    • Addedunity_hub_install_editor
    • Addedunity_hub_install_modules
    • Addedunity_hub_list_editors
    • Addedunity_hub_set_install_path
    • Addedunity_list_advanced_tools
    • Addedunity_list_instances
    • Addedunity_material_create
    • Addedunity_packages_add
    • Addedunity_packages_info
    • Addedunity_packages_list
    • Addedunity_packages_remove
    • Addedunity_packages_search
    • Addedunity_play_mode
    • Addedunity_prefab_info
    • Addedunity_project_info
    • Addedunity_queue_info
    • Addedunity_redo
    • Addedunity_renderer_set_material
    • Addedunity_scene_hierarchy
    • Addedunity_scene_info
    • Addedunity_scene_new
    • Addedunity_scene_open
    • Addedunity_scene_save
    • Addedunity_scene_stats
    • Addedunity_screenshot_game
    • Addedunity_screenshot_scene
    • Addedunity_script_create
    • Addedunity_script_read
    • Addedunity_script_update
    • Addedunity_search_assets
    • Addedunity_search_by_component
    • Addedunity_search_by_layer
    • Addedunity_search_by_name
    • Addedunity_search_by_tag
    • Addedunity_search_missing_references
    • Addedunity_select_instance
    • Addedunity_selection_find_by_type
    • Addedunity_selection_focus_scene_view
    • Addedunity_selection_get
    • Addedunity_selection_set
    • Addedunity_set_object_reference
    • Addedunity_undo
    • Addedunity_undo_history

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but there is some overlap (e.g., unity_set_object_reference vs unity_component_set_reference, unity_search_assets vs unity_asset_list, unity_search_by_component vs unity_selection_find_by_type). Overall, an agent can usually distinguish them by reading the descriptions.

Naming Consistency4/5

Tool names consistently use the 'unity_' prefix and generally follow a <domain>_<action> pattern (e.g., unity_asset_list, unity_scene_open). Mixed verb-noun forms like unity_execute_code and legacy tools like unity_set_object_reference deviate slightly, but the pattern remains predictable.

Tool Count3/5

78 tools is large but arguably justified for a comprehensive Unity MCP server covering scene, gameobjects, components, assets, scripts, packages, graphics, and editor control. However, the count is at the upper edge of effective manageability and may include some redundancy.

Completeness4/5

The tool surface covers most major Unity workflows: CRUD for gameobjects, components, assets, scenes, scripts; plus advanced tools, graphics capture, hub management, and debugging. Minor gaps exist (e.g., direct animation editing) but are partially addressed by the advanced tools category.

Maintenance

ActivitySlowing
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
    Not graded
    quality
    F
    maintenance
    Enables AI agents to interact with Unity projects through multimodal vision, code analysis, asset management, and scene manipulation. Supports real-time Unity editor control, project search, script creation, and visual debugging through screenshots.
    33
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with Unity Editor projects through 68+ tools for manipulating scenes, GameObjects, components, and assets, plus live access to console logs, hierarchies, and test results.
    17
    9
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Exposes Unity Editor project context and manipulation tools to AI coding agents, enabling automated scene hierarchy analysis, script inspection, and asset management. It supports both read and write operations including GameObject editing, component configuration, and animation authoring within the Unity environment.
    2
    -

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/AnkleBreaker-Studio/unity-mcp-server'

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