Skip to main content
Glama

Unity MCP Efficient

CI Python 3.10+ License: MIT

Независимый, экономный по токенам MCP-фасад и навык Codex для MCP for Unity.

Фасад сохраняет все возможности Unity за компактным API, ориентированным на модель. Модель видит шесть стабильных инструментов, выполняет поиск по каталогу по мере необходимости, получает сжатые ответы с учётом специфики Unity и может выполнять рутинные операции цепочкой, не перетаскивая в диалог каждый промежуточный результат.

[!IMPORTANT] Этот проект не заменяет пакет Unity или его Python-сервер. MCP for Unity остаётся серверной частью. Регистрируйте у AI-клиента именно фасад, а не вышестоящий сервер. Если оставить активными обе поверхности инструментов, почти вся экономия контекста будет потеряна.

Измеренное сокращение потребления контекста

24 августа 2026 года скрипты из benchmarks/ дали следующие результаты против MCP for Unity v10.1.0 (c14de1e6).

Показатель

Поверхность вышестоящего сервера

Эффективный фасад

Сокращение

Инструменты, видимые модели

48

6

87.50%

Сериализованные схемы инструментов

93 119 символов

3 657 символов

96.07%

Приблизительное число токенов схем¹

23 280

915

96.07%

Синтетическая иерархия из 250 объектов²

628 110 символов

875 символов

99.86%

Приблизительное число токенов иерархии¹

157 028

219

99.86%

Поверхность аргументов действий

5 566 полей

1 798 полей

67.70%

Динамический каталог проиндексировал 377 операций Unity. Небольшой детерминированный набор поисковых тестов на английском и русском вернул ожидаемую операцию на позицию 1 для всех 15 случаев и в первую тройку для всех 15 случаев. Релизный кандидат проходит 35 тестов фасада. Живой смоук-тест без изменения проекта подтвердил в открытом редакторе Unity поверхность из шести инструментов, editor.refresh на позиции 1, состояние редактора и двухэтапную пакетную инспекцию сцены.

¹ Подсчёт токенов использует прозрачную оценку в четыре символа на токен. Это показатель занимаемого контекста, а не тарификации API. Фактическая токенизация зависит от модели и содержимого нагрузки.

² Бенчмарк иерархии моделирует зашумлённый ответ: 250 объектов, 300 индексов вершин на объект и те же данные в текстовом и структурированном виде. Такой стрессовый сценарий не обещает такого же сокращения для любой сцены. Методика и исходные значения — в BENCHMARKS.md.

Related MCP server: Agent Bridge for Unity

Что делают шесть инструментов

Инструмент

Назначение

search_capabilities

Находит лучшие операции Unity по короткой формулировке задачи на английском или русском. Полные схемы — по желанию.

call_operation

Выполняет одну точную операцию и возвращает ограниченное предпросмотрение и возобновляемый дескриптор результата.

batch_operations

За один обход с моделью выполняет до 50 ограниченных шагов call, select, assert, poll, foreach и emit.

inspect_unity

Читает состояние проекта, редактора, сцены, консоли или выбранного объекта с подавлением данных с учётом ревизий.

get_result

Листает, фильтрует, ищет или выбирает уже полученные данные без повторной работы Unity.

get_viewport

Возвращает одно ограниченное изображение вида Scene или Game, не дублируя его в структурированном JSON.

Модель по-прежнему имеет доступ ко всем 377 проиндексированным операциям за фасадом. Просто эти операции больше не занимают весь промпт разом.

Проблемы, решаемые на границе

Частая причина возникновения ошибки

Что меняет фасад

Клиент загружает десятки больших схем инструментов до начала полезной работы

Поверхность из шести инструментов и отыскание операций по требованию

Менеджерские инструменты раскрывают одно объединение аргументов на каждое действие

Схемы каждого действия отдельно; в измеренном каталоге на 67,70% меньше полей аргументов

Ответы из сцен, консоли, тестов и ассетов засоряют диалог

Постобработка с учётом Unity, строгие бюджеты вывода, пагинация и дескрипторы результатов

Объект Root в FastMCP или Pydantic не подлежит JSON-сериализации

Рекурсивная нормализация JSON перед постро продуктов предосмотра

Unity завершает мутацию, но отключается при перезагрузке рабочей области домена

Сохранение «сырого« результата, явные метаданные повторов, без автоматического повтореня мутаций

Тестовый прогон начинается, но в длинном конверте прячется или теряется job_id

Компактная квитанция асинхронного запуска, предназначенная для опроса

Ответ вышестоящего сервера вкладывает success: false в транспортный успех

Внешний ok повторяет вложенный результат выполнения команды Unity

Повтор мутации с истёкшим временем ожидания может задваивать работу

В квитанциях стабильный request_id, который подавляет точные повторы

Многообъектная работа тратит один ход модели на операцию

Ограниченные последовательные сценарии и консервативные параллельные пакеты для чтений

stale_status или is_changing приводят к бесконечному опросу

Отложенные проверки с учётом ревизий и чёткое правило остановки

Архитектура

Codex or another MCP client
        |
        | sees 6 tools
        v
Unity MCP Efficient (stdio by default)
        |-- capability search over the live upstream catalog
        |-- compact Unity-specific post-processing
        |-- bounded workflow runtime
        |-- local SQLite result and request receipts
        |
        | HTTP, default http://127.0.0.1:8080/mcp
        v
MCP for Unity server
        |
        v
Unity Editor package

Один навык сам по себе не может скрыть схемы инструментов, которые MCP-клиент уже загрузил. Именно поэтому в репозитории есть обе части:

  • фасад обеспечивает небольшое API и компактные ответы;

  • навык учит Codex эффективно искать, пакетировать, восстанавливать выполнение и проверять результаты.

Установка

1. Запустите MCP for Unity в режиме HTTP

Установите CoplayDev/MCP for Unity по его официальной инструкции. В Unity откройте Window → MCP for Unity, выберите локальный HTTP-транспорт и запустите сервер.

Адрес вышестоящего endпоинта по умолчанию:

http://127.0.0.1:8080/mcp

Если в вашем проекте используется другой порт, передайте его ниже через UNITY_MCP_BACKEND_URL.

2. Зарегистрируйте фасад в Codex

При необходимости установите uv, затем выполните:

codex mcp add unity-efficient \
  --env UNITY_MCP_BACKEND_URL=http://127.0.0.1:8080/mcp \
  -- uvx --from git+https://github.com/Vangardo/unity-mcp-efficient.git unity-mcp-efficient

В PowerShell та же команда в одну строку:

codex mcp add unity-efficient --env UNITY_MCP_BACKEND_URL=http://127.0.0.1:8080/mcp -- uvx --from git+https://github.com/Vangardo/unity-mcp-efficient.git unity-mcp-efficient

Удалите или отключите прямую запись дистрибутива MCP for Unity у того же клиента Codex. Вышестоящий HTTP-сервер остаётся запущенным, но его поверхность и 48 инструментов модели регистрировать не нужно.

3. Установите навык Codex

Проще всего попросить Codex:

$skill-installer Install the skill from https://github.com/Vangardo/unity-mcp-efficient/tree/main/skills/unity-mcp-efficient

Для ручной установки на уровне пользователя склонируйте репозиторий и скопируйте папку skills/unity-cheap-efficient:

$HOME/.agents/skills/unity-mcp-efficient

Codex автоматически выявляет изменливые нав заложения. Если навык не появился, перезапустите его.

Другие MCP-клиенты

Используйте такую форму stdio-конфигурации:

{
  "mcpServers": {
    "unity-efficient": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/Vangardo/unity-mcp-efficient.git",
        "unity-mcp-efficient"
      ],
      "env": {
        "UNITY_MCP_BACKEND_URL": "http://127.0.0.1:8080/mcp"
      }
    }
  }
}

Если клиент поддерживает формат Agent Skills, поставьте упакованный навык. Фасад работает и без него, но навык улучшает выбор инструментов и поведение при восстановлении.

Рекомендуемый цикл работы агента

  1. Один раз получите состояние Unity в низкой детализации.

  2. Сформулируйте одну конкретную фразу задачи для поиска.

  3. Запросите схему конкретногоинструмента выбранного инструмента, если его аргументы не очевидны.

  4. Зависимые построения последовательный serie; параллелить только независимые операции чтения, никогда — мутации в Unity.

  5. Оставляйте вывод компактным, а сохранённые результаты расширяйте по ключу или странице.

  6. Проверяйте смысловой результат, а не каждый промежуточный «полосат» объекта.

Этот цикл уже заложен в
`skills/unity-mcp-efficient/SKILL.md`.

Конфигурация

Переменная

Значение по умолчанию

Смысл

UNITY_MCP_BACKEND_URL

http://127.0.0.1:8080/mcp

HTTP-адрес вышестоящего MCP for Unity

UNITY_MCP_OPERATION_TIMEOUT

60

Таймаут на одну операцию в секундах

UNITY_MCP_RESULT_DB

каталог пользовательского кэша ОС

Путь к результату-хранилищу SQLite; укажите memory для хранилища внутри процесса

UNITY_MCP_EFFICIENT_TRANSPORT

stdio

Транспорт фасада: stdio, http или sse

Оставьте transport stdio по умолчанию, если у вас нет причины публиковать фасад наружу через сеть. Прочитайте SECURITY.md на перед использования HTTP или SSE.

Разработка и проверка

git clone https://github.com/Vangardo/unity-mcp-efficient.git
cd unity-mcp-efficient
uv sync --extra dev
uv run pytest -q

При запущенном вышестоящем HTTP-сервере:

uv run python benchmarks/evaluate_facade.py
uv run python benchmarks/measure_surface.py
uv run python benchmarks/live_smoke.py

Скрипты evaluate_facade.py и measure_surface.py читают динамический каталог вышестоящего сервера. live_smoke.py не производит никаких изменений, но требует открытого и подключённого редактор Unity.

Известные границы

  • Компактный вывод осознанно «с потерями». Нетронутый исходный результат остаётся доступным через get_result в течение ограниченного времени.

  • Фасад не делает мутации в Unity безопасными. Права и проверку выполняемых действий по-прежнему контролируются MCP-клиент и пользователь.

  • Параллельный режим консервативен. Unity всё равно может сериализовать внутреннюю работу редактора.

  • Обнаружимаемая опциональная возможность, например поддержка Roslyn, всё ещё может отсутствовать в конкретном проекте Unity.

  • Захват вида Scene или Game может не включать IMGUI или различные редактор о оверлеи.

  • Тесты совместимости основаны на MCP for Unity v10.1.0. Каталог динамичен; более поздние релизы проектов отслеживайте по собственным бенчмаркам.

Преемственность дизайна

Идею progressive disclosure мы заимствовали из работы над Vangardo/mcp_hub — более широким MCP-шлюзом, который пропускает большой каталог интеграций через маленькую поверхность «поиск-и-вызов». Unity MCP Efficient применяет этот подход к Unity, добавляя специфическое сжатие данных, проверки по ревизиям, восстановление после мутаций, скриншоты и ограниченные локальные сценарии работы.

Если этот паттерн нужен для Slack, Teamwork, Telegram, календаря, памяти, автоматизации или кросс-сервисных агентов, — смотрите MCP Hub.

Совместимый с Unity бэкенд — это CoplayDev/MCP for Unity, который распространяется по лицензии MIT. Этот репозиторий — независимый проект, и он не включает в себя его исходный код. См. NOTICE.md и THIRD_PARTY_NOTICES.md.

Лицензия и товарные знаки

Автор руссный код и содержимое данного репозитория доступны в the terms MIT License.

Unity является товарным знаком или зарегистрированным товарным знаком Unity Technologies и её аффилированных лиц в США и других странах. Проект не связан с Unity Technologies или CoplayDev и не поддерживается ими. Остальные названия и бренды могут использовать переданные им владельцам.

Available Tools

6 tools
batch_operationsB
Destructive

Run calls or local select/assert/poll/foreach/emit workflow steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
executionNosequential
max_charsNo
operationsYes
request_idNo
output_modeNocompact
response_modeNosummary
stop_on_errorNo
unity_instanceNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the safety profile (destructiveHint=true, readOnlyHint=false, idempotentHint=false), which the description does not contradict. The description adds only the 'local' qualifier for workflow steps and the step-type list; it does not disclose error behavior, execution-mode effects, or what summary/steps/emits responses contain, so added value beyond annotations is minimal.

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

Conciseness5/5

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

Twelve words in a single sentence, verb-front-loaded, with no filler or redundant content. Every word earns its place by naming either the action or the specific step types.

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

Completeness2/5

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

This is a complex tool — eight parameters, a required nested operations array with no item schema (additionalProperties only), three enum parameters, a destructive annotation, and no output schema. The description does not explain how to structure an operation item, what the response looks like, or how the response_mode/output_mode options differ, leaving an agent without enough information to invoke it correctly.

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

Parameters3/5

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

With 0% schema description coverage, the description must compensate, and it does clarify the key required parameter: operations can be either calls or local select/assert/poll/foreach/emit steps. But the other seven parameters (execution, max_chars, output_mode, response_mode, stop_on_error, request_id, unity_instance) receive no semantic explanation anywhere, so the compensation is only partial.

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

Purpose4/5

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

The description names a specific action ('Run') and a concrete resource ('calls or local select/assert/poll/foreach/emit workflow steps'), so an agent can tell that this tool executes operations rather than inspecting state. However, it does not explicitly contrast with the sibling call_operation, leaving the batch-vs-single distinction to be inferred from the tool name.

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

Usage 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 choose batch_operations over call_operation, get_result, or the other siblings. There are no use cases, prerequisites, or exclusions stated; an agent must infer from the name alone that this is for running multiple operations at once.

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

call_operationB
Destructive

Execute once; request_id safely deduplicates retries of mutations.

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsNo
max_charsNo
operationYes
request_idNo
output_modeNocompact
unity_instanceNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already mark destructiveHint=true and idempotentHint=false; the description adds useful behavioral context by stating execution is once-only and that request_id deduplicates retries. It does not disclose failure modes, side effects beyond mutation, or result-handling behavior, but it goes beyond what the annotations already convey.

Agents need to know what a tool does to the world before calling it. Descriptions 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 efficient sentence with no filler, and it front-loads the key execution behavior. It is admirably concise for a tool with six parameters, though arguably too terse to fully educate an agent.

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

Completeness2/5

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

Given the destructive hint, six parameters, no output schema, and zero schema coverage, one line is not enough context. The request_id guidance is valuable, but the agent is left without sufficient details on how to specify the operation, shape arguments, choose output_mode, or interpret results.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for six parameters, but it only explains request_id. Critical parameters such as operation, arguments, output_mode, max_chars, and unity_instance are left wholly undocumented, making correct invocation harder than it should be.

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

Purpose4/5

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

The description identifies the tool as a single-execution operation invoker ('Execute once') and references mutations, which helps distinguish it from sibling tools like batch_operations. However, it never explains what an 'operation' actually is or what domain it operates on, so some clarity is left to inference from the tool name and parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents 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 single mutations and mentions safe deduplication of retries, but it gives no explicit when-to-use guidance or when-not-to-use alternatives. It does not tell the agent to prefer read-oriented siblings for inspection or batch_operations for multi-step work.

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

get_resultB
Read-onlyIdempotent

Page, select, or search a prior result without repeating Unity work.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
limitNo
offsetNo
patternNo
max_charsNo
result_idYes
output_modeNostandard

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context by indicating that the tool works over prior results and avoids re-running Unity work, but it does not reveal details about output modes, pagination behavior, or any hidden side effects. This is adequate but not rich.

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

Conciseness4/5

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

The description is a single sentence with no filler, and the key behavioral point about not repeating Unity work is front-loaded. It earns its place, though the brevity contributes to the lack of parameter clarity.

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

Completeness2/5

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

With seven parameters, no parameter descriptions, no output schema, and an already-terse tool description, an agent has insufficient context to call the tool confidently. The description does not explain how paging, search, output modes, or character limits behave, leaving important invocation details to inference.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the seven parameters, but it does not. 'Page, select, or search' loosely maps to limit/offset, result_id, and pattern/path, yet parameters such as max_chars, output_mode, and path remain unexplained. The description provides only weak semantic hints and does not carry the parameter-documentation burden.

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

Purpose4/5

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

The description identifies a specific resource ('a prior result') and a set of verbs ('Page, select, or search'), which makes the tool's purpose reasonably clear. It also adds the motivational context of avoiding repeated Unity work, but it does not explicitly differentiate itself from sibling tools like search_capabilities or call_operation.

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

Usage Guidelines3/5

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

The phrase 'without repeating Unity work' implies this tool should be used when a previous result already exists and should be retrieved rather than recomputed. However, there is no explicit guidance on when to prefer get_result over siblings such as call_operation or search_capabilities, and no exclusions or alternative conditions are stated.

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

get_viewportB
Read-onlyIdempotent

Return one bounded inline viewport image for visual verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNoscene_view
targetNo
max_resolutionNo
unity_instanceNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already establish that the tool is read-only, idempotent, and non-destructive, so the description need not repeat that. It adds a small behavioral detail—the result is a single inline bounded image—but leaves the semantics of 'bounded' and the meaning of source/target selection unexplained. No contradiction with annotations.

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

Conciseness4/5

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

One short sentence, front-loaded with the action and resource, with no filler. It is concise and readable, though it could afford a second sentence to explain key parameters or use cases without becoming bloated.

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

Completeness2/5

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

For a tool with four parameters, no output schema, and no parameter descriptions, this description is incomplete. An agent cannot infer what 'target' means, how max_resolution behaves, or how to select scene_view versus game_view, and there is no guidance on how to interpret the returned image.

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

Parameters2/5

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

Schema description coverage is 0% and the description names none of the four parameters (source, target, max_resolution, unity_instance). The enum for source and default values in the schema provide some hints, but the description adds no parameter-level meaning and fails to compensate for the zero coverage.

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

Purpose4/5

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

The description uses a specific verb ('Return') with a clear resource ('one bounded inline viewport image') and states the purpose ('for visual verification'). It is distinguishable from generic sibling names like get_result or inspect_unity, though it does not explicitly contrast with them.

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

Usage Guidelines3/5

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

The phrase 'for visual verification' implies this tool is for obtaining an image to verify a scene or game view, but the description does not state when to use it instead of alternatives like inspect_unity or get_result, nor are exclusions given. Usage context is inferred rather than explicit.

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

inspect_unityC
Read-onlyIdempotent

Inspect Unity semantically; unchanged revisions return no repeated payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNostate
detailNostandard
targetsNo
max_charsNo
since_revisionNo
unity_instanceNo

TDQS

C2.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description adds the concrete behavior that unchanged revisions produce no repeated payload, which clarifies what idempotency means here. It also lets the agent infer that since_revision is tied to change detection. No statement contradicts the read-only/idempotent annotations.

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

Conciseness3/5

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

The description is short and the behavioral note does earn its place, but 'semantically' is cryptic and the text is under-specified for a tool with six parameters. It is concise in word count, yet not 'appropriately sized' for the complexity the schema reveals.

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

Completeness2/5

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

With low schema coverage, no output schema, and six parameters, the description leaves important context missing: what a successful inspection returns, which scopes are involved, what targets selects, and how unity_instance affects execution. The single revision-related sentence is useful but far from complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description bears the burden, but it only loosely clarifies since_revision via 'unchanged revisions'. The other five parameters—scope, detail, targets, max_chars, unity_instance—are left entirely to name/enum inference, and targets in particular is ambiguous.

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

Purpose3/5

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

The description names a verb and resource ('Inspect Unity') but 'semantically' is undefined, and nothing in the text distinguishes it from siblings like get_viewport or search_capabilities. The second clause describes revision behavior rather than clarifying what inspection covers. It is not a complete tautology, but the core phrasing largely restates the tool name.

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

Usage Guidelines2/5

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

No guidance is given for when to use inspect_unity instead of sibling tools such as get_viewport, call_operation, or search_capabilities. There are no exclusions, prerequisites, or context triggers. An agent must infer usage from the schema alone.

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

search_capabilitiesC
Read-onlyIdempotent

Find operation names and only the argument hints needed next.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
refreshNo
categoryNo
include_schemaNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already mark it read-only, idempotent, and non-destructive; the description adds a scoping claim: results contain operation names and only the argument hints needed next. This is useful but vague, and it does not disclose output shape, refresh behavior, or query semantics.

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

Conciseness2/5

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

The definition is one short sentence and front-loads the main action, but it is under-specified rather than economically complete; important behavioral and parameter information is missing.

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

Completeness2/5

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

With five optional parameters, no output schema, and no parameter descriptions, the description must carry more weight. It gives the broad purpose but omits the query semantics, return shape, and how the result connects to call_operation, so the tool is not sufficiently contextualized.

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

Parameters1/5

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

Schema description coverage is 0% across five parameters (limit, query, refresh, category, include_schema), yet the description names none of them and only references 'argument hints' as output. This is a serious gap: an agent cannot know what query string, limit, or include_schema controls.

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

Purpose4/5

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

The description states a specific action ('Find operation names') and the scope of results ('argument hints needed next'), which distinguishes it from sibling tools that call/get/batch operations. However, it does not explicitly differentiate from 'inspect_unity' or clarify what 'capabilities' means in context, so it falls short of a 5.

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

Usage Guidelines3/5

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

The phrase 'needed next' implies this is a discovery step before invoking an operation, giving some context. But it offers no explicit guidance on when to choose this over call_operation, get_result, inspect_unity, or batch_operations, and no exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.2.0
    • First observedbatch_operations
    • First observedcall_operation
    • First observedget_result
    • First observedget_viewport
    • First observedinspect_unity
    • First observedsearch_capabilities

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct phase of interaction: discovery, execution, result retrieval, batching, semantic inspection, and visual verification. There is no meaningful overlap that would cause an agent to misselect between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: search_, call_, get_, batch_, inspect_, get_. This makes the set predictable and easy to navigate.

Tool Count5/5

Six tools is a well-scoped count for an efficiency-focused server. Each tool earns its place and the set avoids both bloat and thinness.

Completeness4/5

The surface covers the main lifecycle well: discover capabilities, execute operations, retrieve results, batch workflows, inspect Unity state, and verify visually. Minor gaps exist, such as no explicit cancellation or full listing tool, but search_capabilities and batch_operations cover most practical needs.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Unity Editor MCP SDK that exposes Unity Editor capabilities as MCP tools, enabling AI assistants like Claude Code to drive Unity Editor workflows through prefab inspection, asset manipulation, and preview rendering.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Allows MCP clients like Claude Desktop or Cursor to perform Unity Editor actions, including asset management, scene modification, and game mechanic testing.
    22
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents (like Claude Code, Cursor) to directly operate Unity scenes via MCP protocol, with tools for scene hierarchy, object creation/deletion, and transform modification.
    16
    ISC

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vangardo/unity-mcp-efficient'

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