Skip to main content
Glama

AnkleBreaker Unity MCP

Server regression tests Plugin route checks

Build worlds. Coordinate agents. See every action. Connect your AI assistants to scene authoring, running games, multiplayer scenarios, tests, builds and profiling through Model Context Protocol. Built by AnkleBreaker Studio for workflows that span more than one editor and one assistant.

Get started · Watch the demos · Measured improvements · Multiple projects · Tool catalog · Changelog

347 named operations

80 exposed MCP tools

269 advanced tools on demand

Editor, Hub and integrations

Small initial discovery surface

Search a category, fetch one schema, run it

Counts reflect the checked-in definitions; optional tools require their corresponding Unity packages. The advanced proxy also discovers routes advertised by newer plugins.

Watch it build a playable prototype

Neon brick breaker: scene construction, materials, gameplay scripts and visual iteration, with the assistant and Unity visible together.

Watch the AI assistant build a neon brick-breaker prototype in the Unity Editor

▶ Open video · 25 seconds · Download MP4 · Village and castle demos

Recorded, accelerated excerpts. The silent videos export the same recordings as the GIFs; their duration is not a build-time benchmark. Media details and example prompts.

Related MCP server: Unity MCP Server

Built for demanding Unity workflows

Your workflow

What AnkleBreaker provides

Several projects and agents

Independent request routing, explicit project selection and a fair queue for each editor. Architecture

Multiplayer iteration

MPPM scenario/player controls and parent/virtual-player discovery, plus ParrelSync identity. Workflow and live tests

Work you can inspect

Agent history, named undo for supported actions, queue timings, command errors and the Unity Dashboard. Monitoring

Mixed versions and interrupted calls

Per-editor capability detection, legacy fallback and protected retries when both components support them. Compatibility / Retry contract

A full production toolset

Scene authoring, builds, profiling, packages and optional integrations, with advanced schemas discovered on demand. Tool guide

The combination is the strength: routing, scheduling, multiplayer controls and observable results in one workflow. See choosing a Unity integration for a sourced comparison.

Why choose AnkleBreaker? Each agent keeps its project identity, each editor has its own queue, and supported actions leave a history you can inspect and undo. Advanced tools extend that workflow into multiplayer iteration, Unity Hub and project-specific integrations. Those behaviors have dedicated regression checks and real-editor evidence, not just a feature list.

Get started

Install from source: the commands below install main in both repositories, including the improvements documented here. Published npm packages and version tags may lag behind main.

1. Add the Unity plugin

In Unity, open Window → Package Manager → Add package from git URL:

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

The MCP status dropdown appears automatically in Unity's main toolbar. Open the Dashboard from it, Window → AB Unity MCP, or Tools → AnkleBreaker → Unity MCP. Verify the bridge is running there. If you previously hid the indicator, choose Show Toolbar Status. Toolbar and menu access.

2. Install the server

Use Node.js 18 or newer; a maintained Node.js LTS is recommended.

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

3. Connect your assistant

For clients that accept an mcpServers JSON configuration:

{
  "mcpServers": {
    "unity": {
      "command": "node",
      "args": ["C:/path/to/unity-mcp-server/src/index.js"]
    }
  }
}

Use the absolute path to your checkout. On macOS and Linux, use its Unix path. Clients with another configuration format need the same command and arguments. Restart or reconnect the client's MCP session after editing the configuration.

Editor discovery is automatic. Unity Hub is only needed for Hub commands; set UNITY_HUB_PATH if it is installed elsewhere. See all configuration options.

4. Try a complete workflow

List my running Unity projects. Select my prototype, inspect its scene and compilation errors, create a platform, then capture the scene so I can review it.

Find the multiplayer tools. List my MPPM scenarios and the players configured in the selected project.

Inspect the scene's memory use and largest objects, then show me the actions performed by each agent.

From environments to playable levels

A village, built and refined in Unity

Terrain, houses, materials, trees, fences and paths: the assistant constructs a scene and inspects the result as it goes.

Recorded Unity MCP workflow building a medieval village with terrain and reusable houses

▶ Open video · 25 seconds · Download MP4

A castle you can walk through

Multi-room construction, lighting adjustment and a first-person walkthrough in the recorded project.

Recorded Unity MCP workflow constructing a castle and testing its lighting and walkthrough

▶ Open video · 18 seconds · Download MP4

All demonstrations, prompts and media formats →

Multiple projects, multiple agents

Keep an agent on your game, another on a package test project, and use the multiplayer tools to inspect Host/Client scenarios. Project routing and per-agent scheduling are separate responsibilities, so requests retain their destination while waiting for Unity.

  1. Call unity_list_instances and identify the project by name and path.

  2. Call unity_select_instance with projectName or a discovered port.

  3. Include that port on editor calls when coordinating simultaneous tasks.

  4. Discover again after an editor restart: ports are dynamic.

Discovery checks the live Unity identity before adopting a port, including registry and default-port fallbacks. Named selection keeps that identity through verification, and stale discovery cannot overwrite a newer project choice. Identity, concurrent selection and compatibility.

{"name":"unity_editor_state","arguments":{"port":7891}}

7891 is an example; use the port returned by discovery. MCP callers can pass _meta.agentId (or the compatible _meta.agent_id) to keep agent selections and queue attribution separate. Each stdio process has its own default identity.

Within an editor, the plugin serializes writes and batches up to five reads per update. Different editor processes have independent queues. Simultaneous agents can still make conflicting edits to the same object, so assign clear ownership for shared scene work.

Explore the editor

Build & edit

Inspect & verify

Extend & coordinate

Scenes, GameObjects, components

Console and compilation errors

Multiplayer Play Mode

Prefabs, materials, ScriptableObjects

EditMode / PlayMode test jobs

ParrelSync instances

Animation curves and controllers

Physics queries, scene statistics

Unity Hub editors and modules

Terrain, navigation, particles

Profiler, memory, Frame Debugger

ProBuilder, UMA, Amplify

UI, audio, input actions

Screenshots and action history

Project-specific context resources

Discover advanced capabilities with unity_list_advanced_tools. Filter by category or search, retrieve the schema for the tool you need, then call it through unity_advanced_tool. Full category guide and examples →

Workflows to try next

Goal

Ask your assistant

What makes it useful

Compare two projects

“List my editors, inspect the package versions and compilation errors in each, then summarize the differences.”

Explicit targets and independent queues.

Iterate on multiplayer

“Find the MPPM tools, inspect the selected scenario and start its configured Host and Client players.”

Native scenario and virtual-player identity. Guide

Validate a change

“Run the selected EditMode tests, wait for the job, then show failures and fetch the detailed results in pages.”

Persistent job IDs, diagnostics and paginated reads. Guide

Review agent work

“Show recent actions by agent and tell me which supported actions can be undone safely.”

Native stack checks and attributed action history. Guide

Find expensive content

“Inspect memory consumers and mesh statistics, then capture the scene for review.”

Inspection without copying geometry buffers just to count it. Guide

Maintain a package

“Compare installed packages, check compilation and inspect my build settings before making changes.”

Package requests yield to editor updates. Guide

These are example prompts, not automatic scripts. Select the intended project first and let the assistant discover the current tool schemas and available packages.

Measured improvements

Recorded workload

Before → after

Why it changed

20 small code-execution calls

15.85 s → 1.01 s

Bounded compiler metadata reuse. Measurement

History repaint with 5,000 retained actions

72.45 ms → 1.80 ms

Draw only visible rows; avoid per-selection native textures. Measurement

Construct 20 results from 10,000 stored tests

14.21 ms → 0.036 ms

Build the requested page instead of every detail record. Measurement

Measurements use separate before/after fixtures and historical baselines on Unity 6000.6.2f1 / Windows. Each linked report states its scope. These results do not measure whole-editor FPS or establish a speed ranking against other MCP products.

Compatibility and validation

The plugin declares Unity 2021.3.18f1+ support. Server and plugin versions advance independently and do not need matching version numbers. Current live validation uses Unity 6000.6.2f1 on Windows; minimum-version C# compilation also passes. Actual older-editor execution is deferred.

263 server tests pass across eight CI configurations (Node 18/20/22/24 on Windows/Linux), and the plugin's registry check covers 338 routes. Real-editor workflows include mixed released/current components, two editors, MPPM Host/Client, ParrelSync and actual script reloads. These checks have different recorded source checkpoints; the delivery summary identifies them and the remaining coverage limits.

Verified workflow

Evidence and limits

Released/current components

All four server-plugin pairs on Node 18 and 22, plus concurrent agents across mixed plugin versions. Version matrix

Multiple editors and reloads

Overlapping calls to two editors, four Play Mode reload configurations and lost-result handling after script reload. Validation record

Multiplayer Play Mode 3.0

Host/Client launch, separate agent routing and shared script recompilation. Multiplayer guide

ParrelSync 1.5.2

Native clone identity, independent agents, Play Mode, shared recompilation, settings persistence and clone restart. Gameplay connections need separate validation. Clone guide

Action History

Bounded observers, grouped refreshes and visible-row drawing with stable filters/selection. Notifications · Window costs and cleanup

History persistence

Retention-aware loading, bounded snapshots and recovery after failed saves/loads. Compatibility and recovery

Agent-session retention

Recent completed identities are bounded; busy agents, polling results and global history remain protected. Limits and validation

Scene and asset editing

Enums, references, prefabs, rejected-write preservation and Scene capture cleanup. Editor workflows

Inline camera images

Explicit camera selection, bounded dimensions, restored render targets and decoded PNG checks with current/released servers. Capture guide

Asset previews

Loading yields to editor updates and other agents; requested sizes and metadata-only options are honored. Preview guide

Mesh inspection

Both object-path names work; all eight UV channels and native triangle counts are read without copying geometry buffers. Metadata guide and measurements

Package Manager

Requests yield between editor updates and remain sequential; list/search/info and local add/remove pass with current and released servers. Package guide

Code results

Valid JSON for non-finite/Unicode values, bounded conversion and HTTP output, and no replay after response failure. Execution guide

HTTP downloads

Bounded response reads, including compressed bodies and older plugins; overflow never repeats a command. Response limits

Request input

Complete HTTP/JSON before dispatch, 8 body readers, 64 MiB reservations and a 30-second upload deadline; server preflight avoids oversized uploads. Input guide

Undo across agents

Native stack checks, explicit cascade handling, accurate Undo/Redo eligibility and identity preserved through script reload. Undo guide

Test Runner

Failure cleanup, native cancellation, retained job details through reload and optional pages for large results. Testing guide · Pagination

Unity 6.6 builds

Five Windows Mono builds verify managed diagnostics and restoration of project settings. Other platforms and IL2CPP remain untested. Build guide

UMA V3.1f1

Asset creation, race changes and recipe renames, with the integration isolated from the core bridge. UMA guide

Run the server's ordinary regression suite:

npm ci
npm test

These tests run the real MCP stdio process against isolated mock bridges. The companion plugin's Unity runner and the server's opt-in live suites are documented with their prerequisites and results in the linked guides. Full evidence and follow-up limits · Final documentation and media checks.

Monitor and troubleshoot

Actual Dashboard capture from a Unity 6.6 validation project. The deliberately long agent/request names exercise layout behavior; displayed counters belong to that test session.

The plugin Dashboard shows queue activity, agent sessions, HTTP activity and recent actions. Agent cards update in place, sections remember their state, and long request text stays readable through tooltips. HTTP counters include input refused before ticket creation, body traffic and domain reloads. Dashboard behavior · HTTP fields and measurements.

Requested editor-window captures preserve keyboard focus, identify ambiguous windows explicitly and bound native image allocations. Docked captures exclude tab chrome; inactive tabs require an explicit temporary-switch option. Owned Windows fixtures verify actual UI Toolkit/IMGUI pixels and Dashboard layouts at 360 and 640 px.

Code execution reuses bounded compiler metadata and reports cache activity in unity_editor_state.codeExecution. A local Unity 6.6 benchmark of twenty small calls fell from 15.85 s to 1.01 s; this measures one workload, not every Unity operation. Execution behavior, measurements and limits.

  • No editor found: check the plugin dashboard, console and discovered project path. See connection troubleshooting.

  • Slow calls: inspect unity_queue_info, unity_agents_list and unity_agent_log. Ticket status separates queue wait and processing time; queue info also exposes inactive-session retention and evictions. Monitoring fields and measurements →

  • Compilation in progress: wait for isCompiling: false, then inspect compilation errors. An empty error list during compilation is inconclusive.

  • Tool unavailable: check category switches and optional packages in the dashboard. Advanced route discovery supports newer plugins without expanding the initial tool list.

  • Response too large: request smaller read results; inspect the effects before repeating a write. Response budgets and image handling.

  • Stopped a request: the server stops waiting and polling; accepted Unity work can still finish. Cancellation behavior.

  • Client registry limit: set UNITY_MCP_COMPACT_TOOLS=1. Full parameter documentation remains available through advanced discovery.

Frequently asked questions

Which AI clients can use it? Clients that support spawning an MCP stdio server can connect using the Node command above. Configuration syntax and image/tool support depend on the client; no specific model is required by the bridge.

Do I need every optional Unity package? No. The core bridge works independently of optional integrations. Enable the relevant categories and install the packages needed for your workflow; use advanced discovery to inspect available tools.

Can several assistants work on the same project? Yes. Requests are attributed and scheduled per agent. Assign ownership of shared objects: scheduling does not resolve conflicting design changes.

Can I undo every AI action? Supported Unity writes have named undo groups and history. Filesystem operations, arbitrary code and some deferred workflows have different recovery limits. Inspect the Undo contract before relying on rollback.

Is this already a released upgrade? No. This README documents the modernization branch. Existing server/plugin version numbers remain independent; the installation instructions above select the development preview explicitly.

How does it compare? Start with the sourced comparison: routing, fair scheduling, retry recovery, multiplayer controls, monitoring and tool discovery. The measured gains above compare AnkleBreaker revisions under specific workloads.

Support and license

Support development through GitHub Sponsors or Patreon. Report reproducible issues with the server version, plugin version, Unity version and the affected tool.

Companion Unity plugin · Model Context Protocol · AnkleBreaker Studio

Distributed under the AnkleBreaker Open License v1.0. See LICENSE for the full terms, including attribution and restrictions on reselling the tool. AI client and model usage costs are separate.

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)
maxResultsNoLimit 1-10000 (default 500). Returns totalCount and truncated.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List' implies a read-only operation, but the description says nothing about default scope, truncation behavior, or that results are capped (the maxResults schema mentions totalCount/truncated, not the description).

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

Conciseness4/5

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

Two short sentences with no filler and the core purpose front-loaded. It is efficient, though the brevity is partly a symptom of thin content rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 six optional parameters, no required parameters, no annotations, and no output schema, a minimal description is survivable because the schema is fully documented. The remaining gap is the unresolved overlap with unity_search_assets, which the description never addresses.

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 every parameter (port, type, folder, search, recursive, maxResults) is already documented in the schema with defaults and bounds. The description names path/type/search but adds no format or default detail beyond what the schema provides; baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('List assets in the project') and enumerates the filter axes, so the agent knows exactly what the tool returns. It does not, however, distinguish itself from the sibling unity_search_assets, which appears to do something very similar.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 sentence 'Can filter by path, type, and search term' hints at capability but gives no when-to-use guidance, no prerequisites, and no routing against the overlapping unity_search_assets sibling. An agent has to guess which of the two list/search tools to call.

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

unity_buildC

Build the project for a target platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
scenesNoScene paths; default: enabled Build Settings scenes
targetYesPlatform
outputPathYesBuild output path
developmentBuildNoDevelopment build (default: false)
managedCodeVariantNoUnity 6.6+, protocol 3. Default: Checked for Development, Release otherwise. This build only.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations, so the description carries the full burden, and it says nothing about this being a long-running, mutating operation that writes to disk, may overwrite an existing output path, or blocks the editor. The schema hints that multiple instances require a port, but the description does not surface that constraint or any failure semantics.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is efficient, though at the cost of leaving the definition under-specified rather than over-written.

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

Completeness2/5

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

For a 6-parameter destructive/mutating build operation with no annotations and no output schema, one sentence is not enough. Nothing tells the agent whether the build is synchronous, what a successful versus failed build looks like, or whether the editor remains usable afterward.

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

Parameters3/5

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

Schema description coverage is 100% and includes enums and defaults, so parameters are already fully documented. The description adds no additional meaning (no notes on outputPath overwrite behavior or how scenes interact with Build Settings). Baseline 3 is correct.

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

Purpose4/5

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

Clear verb+resource+scope: 'Build the project for a target platform.' No sibling performs builds, so distinction is implicit but the description never names the workflow it belongs to (instance selection, play mode, etc.). Understandable on its own, but thin.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 build, prerequisites (e.g. that a Unity instance must be selected/running, that compilation errors should be checked first), or how it relates to unity_play_mode or unity_get_compilation_errors. The agent must infer all context.

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_propertyC

Set a serialized component property: numbers, strings, bools, vectors, colors, enums or object references.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
valueYesObjectReference: asset path, scene name, null, or {assetPath?,instanceId?,gameObject?,componentType?}. Enum: name, index (0-based), or {enumValue:int} for flags/raw values.
propertyNameYesName of the property to set
componentTypeYesComponent type name
gameObjectPathYesPath or name of target GameObject

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'Serialized' hints the change persists into saved scene/prefab data, but it says nothing about permissions, whether the scene is marked dirty, undo integration, play-mode behavior, or reversibility 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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though it spends its short length on a type enumeration rather than behavioral scoping.

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

Completeness3/5

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

For a mutation tool with no annotations and no output schema, the parameter side is well covered by the schema, but the lifecycle behavior (dirtying, saving, undo, play mode) is entirely absent, leaving the definition only minimally sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The schema already documents port, value formats, propertyName, componentType, and gameObjectPath; the description's type list adds only a marginal restatement.

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

Purpose4/5

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

States a specific verb+resource ('Set a serialized component property') and enumerates the value types it handles. It does not, however, differentiate itself from adjacent siblings like unity_component_set_reference or unity_set_object_reference, which also write component state.

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

Usage Guidelines2/5

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

No when-to-use guidance, no alternatives named, and no distinction from the reference-setting siblings, even though the value field explicitly supports object references. The agent must infer routing from the name alone.

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

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

Run C# in the Unity Editor with Unity API access. Return a small JSON result. If an error has executionCompleted=true, the code already ran; inspect its effects before retrying.

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.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two important traits: execution happens in the live editor and errors can indicate the code already executed with persistent side effects. However, for an arbitrary-code-execution tool it omits the safety profile entirely — no note on destructive potential, permissions, compile failures, or editor state disruption, which an agent invoking raw C# badly needs.

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

Conciseness5/5

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

Three short sentences with zero waste; purpose leads, return shape follows, and the retry hazard is placed last where it is most actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 2-param tool with full schema coverage and no output schema, the description covers purpose, return format ('small JSON result'), and the key execution/retry gotcha. The remaining gap is the absence of any safety or permission framing for a code-execution tool with no annotations.

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

Parameters3/5

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

Schema description coverage is 100%: 'code' is documented as a method body with namespace access and return semantics, and 'port' explains multi-instance selection. The description adds nothing beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Run') and resource ('C# in the Unity Editor') plus scope ('with Unity API access'), which clearly separates it from script-focused siblings like unity_script_create or unity_script_update. It never names an alternative tool explicitly, so it stops short of a 5.

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

Usage Guidelines3/5

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

The retry guidance ('if an error has executionCompleted=true, the code already ran; inspect its effects before retrying') is useful operational context, but there is no statement of when to prefer this tool over dedicated siblings (e.g. unity_script_update, unity_component_set_property) or any prerequisite/exclusion. Usage is implied rather than instructed.

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_captureB

Render one camera to inline PNG, without Game View composition or overlay UI. Whole-pixel sizes within device limits, at most 33554432 pixels.

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)
cameraNameNoActive object's name/path; omitted: Camera.main. Missing explicit camera is an error.

TDQS

B3.2/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It usefully discloses that output is an inline PNG (returned data, not a saved file), that Game View composition and overlay UI are excluded, and the aggregate 33554432-pixel ceiling. It does not, however, mention failure behavior, permissions, or timing constraints, leaving notable gaps 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.

Conciseness4/5

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

Two tight sentences with no filler, front-loading the core action before the composition caveat. It could be marginally tighter, but nothing is wasted.

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

Completeness4/5

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

With no output schema, the description identifies the return form (inline PNG) and the key rendering constraint, and the schema covers the camera default (Camera.main) and error case. Given the absence of annotations, more behavioral detail would help, but an agent has enough to call it correctly.

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

Parameters3/5

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

Schema coverage is 100%, so width/height/cameraName/port semantics are already documented, setting the baseline at 3. The description does add one thing the schema cannot express: a combined total-pixel limit (33554432) that constrains legal width×height combinations, since each axis alone may reach 8192.

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

Purpose4/5

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

States a specific verb and resource ("Render one camera to inline PNG") and adds the distinguishing scope note "without Game View composition or overlay UI," which implicitly separates it from the screenshot siblings. It does not name the closest sibling (unity_screenshot_game) outright, so the agent must infer the distinction rather than being routed.

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

Usage Guidelines2/5

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

There is no explicit when-to-use, when-not-to-use, or named alternative. The implicit contrast with Game View composition hints at a use case, but with siblings like unity_screenshot_game and unity_graphics_scene_capture present, the definition leaves the selection decision entirely to inference.

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

Render the Scene View camera to inline PNG. Whole-pixel sizes within device limits, at most 33554432 pixels.

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.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses useful constraints (whole-pixel sizes, device limits, 33554432-pixel cap) and the output format, but says nothing about side effects, blocking behavior, or error conditions when the Scene View is unavailable.

Agents need to know what a tool does to the world before 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 compact sentences with the core action front-loaded and no filler. The second clause about pixel limits is slightly awkward but still earns its place as a constraint.

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

Completeness3/5

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

With no annotations and no output schema, the description does at least name the return format (inline PNG). But for a capture tool it omits details like what the captured frame contains and instancing/multi-instance behavior, leaving gaps against the full burden.

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 width/height/port are already fully documented in the schema. The description's mention of pixel limits adds only marginal value and does not map onto the specific parameters, so baseline 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?

States a specific verb (Render) plus resource (Scene View camera) and output format (inline PNG), which is clear. However, it offers no differentiation from the nearly identical sibling unity_screenshot_scene, leaving an agent unsure which capture tool to pick.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus the many capture siblings (unity_screenshot_scene, unity_graphics_game_capture, unity_screenshot_game, unity_screenshot_editor_window). The description states what it does but never when or why to choose it.

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_infoB

Queue depths, agents and results. Plugin metrics: http, httpCommands (admission), completedResults (cost/evictions), historyNotifications (backlog), historyPersistence (file limits/failures). Reset on reload. serverAgentState: Node agent/identity limits, leases, evictions. Accounted bytes are not heap usage.

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

TDQS

B3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does add real context: it clarifies ephemeral state ('Reset on reload'), explains each metric's meaning (admission, cost/evictions, backlog, file limits/failures), and warns 'Accounted bytes are not heap usage'. These are non-obvious behavioral facts not found in the schema, though it never explicitly confirms the tool is a read-only probe.

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?

It is short and every phrase is information-bearing, but it reads as a compressed fragment list of jargon rather than front-loaded prose. A leading clause stating what the tool reports would improve scannability without adding length.

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

Completeness3/5

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

No output schema exists, so the description must substitute for one; it partially does by enumerating the returned metric groups (http, httpCommands, completedResults, historyNotifications, historyPersistence, serverAgentState). Still missing is any indication of the response shape or how the categories relate, leaving the agent to discover the output empirically.

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?

There is one parameter (port) and schema description coverage is 100%, so the schema already documents it fully, including the 'always include it when multiple instances run' note. The description adds nothing about the parameter, which is the expected baseline when the schema does the work.

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

Purpose3/5

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

The description names the resource (queue depths, agents, results) and enumerates metric groups, so an agent can infer this is a queue/diagnostics info tool. However it is a telegraphic noun list with no verb and no differentiation from sibling info tools like unity_editor_state or unity_agents_list. Purpose is recoverable but not crisply stated.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool, when not to, or what alternatives exist. 'Reset on reload' is a behavioral property, not usage guidance. The agent must guess whether this is for debugging, monitoring, or admission-control tuning.

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, else Unity opens its interactive Save dialog.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoSave-As asset path, e.g. 'Assets/Scenes/MyScene.unity'.
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
overwriteNoReplace another existing scene at path (default false)

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 behavioral burden. It helpfully discloses that omitting path on an unsaved scene triggers an interactive Unity dialog — a real side effect an agent must avoid — but says nothing about permissions, the multi-instance targeting requirement, or what a successful save returns.

Agents need to know what a tool does to the world before 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, front-loaded with the core action and followed immediately by the one non-obvious edge case. No filler or redundancy.

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

Completeness3/5

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

For a 3-parameter mutation tool with no annotations and no output schema, the description covers the essential behavior and the path edge case, but omits the port/multi-instance caveat (deferred entirely to the schema) and any failure or return-value context.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented in the schema, establishing the baseline of 3. The description adds the conditional semantics of `path` (required only for never-saved scenes), which is a useful nuance beyond the schema's field-level docs.

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

Purpose4/5

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

States a precise verb+resource ('Save the current scene'), which clearly distinguishes it from sibling tools like unity_scene_open, unity_scene_new, and unity_asset_create_prefab. It stops short of explicitly noting that this is the only scene-save tool, but the resource scope is unambiguous.

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

Usage Guidelines4/5

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

Gives a concrete condition: a never-saved scene requires `path`, otherwise Unity falls back to an interactive Save dialog. This tells the agent when path matters, though it offers no exclusions or comparison to any alternative tool (none closely competes here).

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 an existing EditorWindow to PNG (Windows PrintWindow) without requesting keyboard focus. Hidden tabs require activateTab:true; ambiguous names return id: candidates. GPU/minimized windows can refuse capture. USE ONLY ON EXPLICIT USER REQUEST; never proactively or for your own inspection. On macOS/Linux report unsupported, do not retry; use Game/Scene captures there.

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.
windowYesFull type name, simple name, tab title, or id: selector from candidates.
activateTabNoTemporarily select an existing tab, then restore its predecessor (default false; newer plugins). Does not request keyboard focus.
maxDimensionNoMax side (default 8192, clamped to GPU). Full window and crop each limited to 33554432 pixels.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses platform limits (Windows-only, unsupported on macOS/Linux, do not retry), failure modes (GPU/minimized windows may refuse), focus behavior (no keyboard focus), and the ambiguous-name/id: fallback. This is rich behavioral context an agent needs.

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

Conciseness4/5

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

Front-loaded with the core action and dense with useful facts; every sentence carries information (platform fallback, activation rule, failure mode, usage constraint). Slightly telegraphic, but no wasted sentences.

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

Completeness5/5

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

For a screenshot tool with no output schema and no annotations, the description covers mechanism, platform support, error/refusal behavior, activation semantics, and usage constraints thoroughly. An agent has everything needed to call it correctly or decline to.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents all five parameters (baseline 3). The description adds cross-parameter meaning beyond the schema by linking hidden tabs to activateTab:true and ambiguous names to id: candidates, which helps the agent wire parameters correctly.

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

Purpose5/5

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

States a specific verb (Capture), resource (EditorWindow), output format (PNG), and mechanism (Windows PrintWindow). It clearly distinguishes itself from the sibling scene/game capture tools, which it explicitly names as alternatives.

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

Usage Guidelines5/5

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

Gives explicit when-to-use (ONLY on explicit user request), when-not (never proactively or for self-inspection), and the alternative on other platforms ('use Game/Scene captures there'). No inference required.

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_sceneB

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.
widthNoWidth 1-8192 (default 1920), at most 33554432 pixels total.
heightNoHeight 1-8192 (default 1080).

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses that the call is non-blocking ('Returns immediately') and what it yields (a saved file path), but says nothing about permissions, editor/play-mode requirements, or whether the returned path is guaranteed to exist yet.

Agents need to know what a tool does to the world before 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 tightly written sentences with the core action front-loaded and the return behavior second. Nothing is wasted or redundant.

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

Completeness3/5

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

For a low-complexity capture tool it covers the essential action and return value, and no output schema means explaining the return is appropriate. However, it omits any disambiguation from the three closely related capture siblings, which is the main thing an agent needs here.

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 four parameters (path, port, width, height, including defaults and the 8192/pixel limits) are already documented in the schema. The description adds no additional parameter meaning, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (Capture) and resource (screenshot of the Scene View camera), which does separate it from the game-view and editor-window siblings. It is clear what it does, though it never explicitly contrasts itself with unity_screenshot_game or 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 Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives, and no prerequisites (e.g. editor state, play mode, focused window). With three sibling capture tools present, the agent is left to infer selection entirely.

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_typeC

Find all GameObjects in the scene that have a specific component type.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoUnity instance port (from unity_select_instance). Always include it when multiple instances run.
limitNoMax results (default 500); see truncated and totalFound.
typeNameYesComponent type name (e.g. 'Rigidbody', 'Camera', 'MyScript')

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and does not discharge it. It never states that this is a read-only query, says nothing about result volume, truncation, or the 500-result default exposed in the schema, and does not resolve whether 'in the scene' means the whole hierarchy despite the tool's 'selection' name prefix.

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

Conciseness4/5

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

A single front-loaded sentence with no filler and the key constraint (component type) named immediately. It is efficient, though its brevity is also the source of the missing sibling routing and behavior detail.

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

Completeness3/5

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

No output schema exists, so the description should at least signal the shape or cost of results, and it says nothing about pagination, truncation, or result limits. For a simple read tool with 100% schema coverage that is survivable, but the unresolved overlap with unity_search_by_component leaves a real selection gap.

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

Parameters3/5

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

Schema description coverage is 100%, so port, limit (with its default and truncated/totalFound hint), and typeName are already fully documented in the schema. The description adds only the restatement of typeName as 'a specific component type', so the baseline 3 applies.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Find all GameObjects ... that have a specific component type.' That is unambiguous about what the tool returns. What it fails to do is distinguish itself from the near-identical sibling unity_search_by_component, which appears to do the same job, so an agent cannot tell the two apart from the text alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no mention of the obvious alternative unity_search_by_component or of the related unity_search_by_name / unity_search_by_layer / unity_search_by_tag family. The agent is left to infer when this tool is preferred, which is risky given the overlapping sibling.

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_historyB

Show which recorded MCP actions can still be reverted, with agent, target and current Unity Undo state.

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

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully names the fields returned (agent, target, current Unity Undo state) and implies a read-only listing, but it does not state read-only behavior explicitly, nor mention permissions, ordering/pagination beyond the schema, or what it means for an action to no longer be revertible.

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

Conciseness5/5

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

A single front-loaded sentence with no filler or redundancy. Every clause (revertible actions, agent, target, Undo state) carries 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?

With no output schema and no annotations, the description must do more of the explanatory work. It partially covers returned content but omits ordering guarantees, response shape, and confirmation that the operation has no side effects, leaving gaps for a read tool of this kind.

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 three parameters (port, count, agentId) are already documented, establishing the baseline of 3. The description's mention of 'agent' loosely corresponds to agentId but adds no syntax, format, or constraint details beyond the schema.

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

Purpose4/5

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

The description states a specific verb ('show') and a well-scoped resource: recorded MCP actions that can still be reverted, plus agent, target, and Undo state. It is clearly distinct from the action-oriented siblings unity_undo, unity_undo_last, and unity_redo, though it never names them explicitly.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance. With siblings unity_undo and unity_undo_last present, a definition would ideally route the agent ('inspect history here, revert with unity_undo'), but the description leaves that inference entirely to the reader.

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 latest verified MCP Undo group, optionally by agentId. Newer MCP/native groups require force:true. Only Unity-registered changes are covered; this revert creates no Redo step. Use unity_undo for normal Undo/Redo. Reads and execute-code are not 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.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and covers a lot: scope ('Only Unity-registered changes are covered'), side-effect disclosure ('this revert creates no Redo step'), and the force requirement. It stops short of permissions, instance/auth requirements, or a return indication, so not a full 5.

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

Conciseness5/5

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

Five dense sentences, each earning its place: core action, force rule, coverage scope, redo side-effect, alternative routing, and exclusions. Scope and the alternative are appropriately front-loaded with zero filler.

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

Completeness4/5

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

For a 3-param mutation tool with no annotations and no output schema, the description covers scope, side effects, and routing well. It omits any indication of the response or failure modes, which is a minor gap given the action-oriented nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 meaning beyond the schema by framing agentId as 'revert this agent's most recent action' and tying force to newer MCP/native groups. This value-add above the already-complete schema justifies a 4.

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

Purpose5/5

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

States a specific verb ('Revert') and a precise resource ('the latest verified MCP Undo group'), and explicitly contrasts itself with the sibling unity_undo. An agent can tell this apart from unity_undo/unity_redo without opening the schemas.

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

Usage Guidelines5/5

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

Names the alternative ('Use unity_undo for normal Undo/Redo'), states the condition for force:true ('Newer MCP/native groups require force:true'), and gives exclusions ('Reads and execute-code are not targets'). When-to-use, when-not, and the alternative are all present.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv2.36.0
    • Changedunity_asset_list3 fields changed
      • changedInput schema / properties / maxResults / description
        Previous value: -"Maximum assets to return (default: 500). Use lower values for large projects."New value: +"Limit 1-10000 (default 500). Returns totalCount and truncated."
      • addedInput schema / properties / maxResults / maximum
        Added value: +10000
      • addedInput schema / properties / maxResults / minimum
        Added value: +1
    • Changedunity_build5 fields changed
      • changedInput schema / properties / developmentBuild / description
        Previous value: -"Enable development build (default: false)"New value: +"Development build (default: false)"
      • addedInput schema / properties / managedCodeVariant
        Added value: +{
        +  "description": "Unity 6.6+, protocol 3. Default: Checked for Development, Release otherwise. This build only.",
        +  "enum": [
        +    "Release",
        +    "Instrumented",
        +    "Checked",
        +    "Debug"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / outputPath / description
        Previous value: -"Output path for the build"New value: +"Build output path"
      • changedInput schema / properties / scenes / description
        Previous value: -"Scene paths to include (default: scenes in build settings)"New value: +"Scene paths; default: enabled Build Settings scenes"
      • changedInput schema / properties / target / description
        Previous value: -"Build target platform"New value: +"Platform"
    • Changedunity_component_set_property1 field changed
      • changedInput schema / properties / value / description
        Previous value: -"Value to set. ObjectReference accepts: asset path, scene object name, null, or {assetPath?, instanceId?, gameObject?, componentType?}"New value: +"ObjectReference: asset path, scene name, null, or {assetPath?,instanceId?,gameObject?,componentType?}. Enum: name, index (0-based), or {enumValue:int} for flags/raw values."
    • Changedunity_graphics_game_capture5 fields changed
      • changedInput schema / properties / cameraName / description
        Previous value: -"Name of camera to use (default: Camera.main / MainCamera tag)"New value: +"Active object's name/path; omitted: Camera.main. Missing explicit camera is an error."
      • addedInput schema / properties / height / maximum
        Added value: +8192
      • addedInput schema / properties / height / minimum
        Added value: +1
      • addedInput schema / properties / width / maximum
        Added value: +8192
      • addedInput schema / properties / width / minimum
        Added value: +1
    • Changedunity_graphics_scene_capture4 fields changed
      • addedInput schema / properties / height / maximum
        Added value: +8192
      • addedInput schema / properties / height / minimum
        Added value: +1
      • addedInput schema / properties / width / maximum
        Added value: +8192
      • addedInput schema / properties / width / minimum
        Added value: +1
    • Changedunity_scene_save2 fields changed
      • addedInput schema / properties / overwrite
        Added value: +{
        +  "description": "Replace another existing scene at path (default false)",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / path / description
        Previous value: -"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."New value: +"Save-As asset path, e.g. 'Assets/Scenes/MyScene.unity'."
    • Changedunity_screenshot_editor_window3 fields changed
      • addedInput schema / properties / activateTab
        Added value: +{
        +  "description": "Temporarily select an existing tab, then restore its predecessor (default false; newer plugins). Does not request keyboard focus.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / maxDimension / description
        Previous value: -"Max pixels per side (default 8192, clamped to GPU max)."New value: +"Max side (default 8192, clamped to GPU). Full window and crop each limited to 33554432 pixels."
      • changedInput schema / properties / window / description
        Previous value: -"EditorWindow type FullName (e.g. 'UnityEditor.InspectorWindow'), simple type name, or tab title."New value: +"Full type name, simple name, tab title, or id: selector from candidates."
    • Changedunity_screenshot_scene6 fields changed
      • changedInput schema / properties / height / description
        Previous value: -"Image height (default: 1080)"New value: +"Height 1-8192 (default 1080)."
      • addedInput schema / properties / height / maximum
        Added value: +8192
      • addedInput schema / properties / height / minimum
        Added value: +1
      • changedInput schema / properties / width / description
        Previous value: -"Image width (default: 1920)"New value: +"Width 1-8192 (default 1920), at most 33554432 pixels total."
      • addedInput schema / properties / width / maximum
        Added value: +8192
      • addedInput schema / properties / width / minimum
        Added value: +1
    • Changedunity_selection_find_by_type1 field changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Max results (default 500); see truncated and totalFound.",
        +  "type": "integer"
        +}
  2. 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
  3. 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"
  4. 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.1/5.0

Scored across 80 tools

Disambiguation2/5

Several tools target the same resource/action: unity_search_by_component and unity_selection_find_by_type are effectively duplicates, and unity_screenshot_scene/unity_graphics_scene_capture plus their game-view variants overlap. Legacy unity_set_object_reference also overlaps with unity_component_set_reference, creating real misselection risk despite descriptive text.

Naming Consistency3/5

All names use snake_case with a unity_ prefix, but verb/noun order is inconsistent: domain_action (unity_scene_save, unity_asset_delete) mixes with action_domain (unity_list_instances, unity_get_project_context) and bare verbs (unity_build, unity_redo). Readable overall, but the pattern is not predictable.

Tool Count1/5

80 direct tools is far beyond the 25+ threshold; additionally unity_advanced_tool fronts 269+ lazy-loaded tools. This is an extreme over-scoping that burdens discovery and selection.

Completeness4/5

Core Unity editor automation is broadly covered: GameObjects, components, scenes, assets, prefabs, scripts, packages, Hub, play mode, build, and advanced tools. Minor gaps remain (e.g., direct asset move/rename, material property edit, script delete), but most can be handled via execute_code/menu/advanced tools.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

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.
    32
    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.
    13 npm
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Unity Editor, managing scenes, game objects, animations, materials, scripts, and more via natural language commands.
    1
    MIT