Skip to main content
Glama
Singtaa

Unity MCP Server

by Singtaa

Unity MCP Server

Unity 2022.3+ License: MIT

Сервер MCP для Unity Editor. Позволяет ИИ-агентам, таким как Claude Code, просматривать, изменять, тестировать и делать снимки экрана вашего проекта.

Ключевые особенности

  • 73 инструмента: сцены, игровые объекты, компоненты, префабы, трансформы, тесты, рефлексия + декомпиляция, C# eval, захват интерфейса

  • Клиенты с нулевой конфигурацией: один клик (или одна команда) на машину, после чего каждый проект и редактор подключаются автоматически. Никаких портов, токенов или настройки для каждого проекта

  • Безопасно для нескольких редакторов: каждый открытый проект запускает собственный сервер, сессии сами направляются в нужный редактор

  • MCP-ресурсы: логи консоли, иерархия сцены, результаты тестов, файлы проекта

  • Unity 2022.3+ (рекомендуется Unity 6), Node.js 18+

Related MCP server: Unity MCP Server

Установка

Package Manager > + > «Добавить пакет из git URL»:

https://github.com/Singtaa/UnityMCP.git

Или склонируйте / добавьте как submodule в Packages/com.singtaa.unity-mcp.

Настройка (один раз на машину)

  1. Откройте проект в Unity. Сервер запускается автоматически, лаунчер разворачивается в ~/.unity-mcp/stdio.js

  2. Window > Unity MCP Server > Set up Claude Code

Готово. Аналог в терминале:

# macOS / Linux
claude mcp add --scope user --transport stdio unity -- node ~/.unity-mcp/stdio.js

# Windows
claude mcp add --scope user --transport stdio unity -- node "%USERPROFILE%\.unity-mcp\stdio.js"

Теперь каждая сессия Claude Code в любом проекте Unity подключается к редактору именно этого проекта. Несколько редакторов рядом: каждая сессия находит свой. Если редактор закрыт или перезагружается: инструменты возвращают понятную ошибку и восстанавливаются сами. Открытие редактора прямо во время сессии тоже работает: сессия, запущенная при закрытом редакторе, немедленно регистрирует список инструментов (обслуживается из кэша для каждого проекта) и синхронизируется вживую, как только редактор поднимается — без перезапуска клиента.

Под капотом: редактор записывает per-session маяк (Temp/UnityMcp_Endpoint.json, удаляется при выходе, никогда не устаревает). Лаунчер определяет проект сессии (CLAUDE_PROJECT_DIR, иначе поиск вверх от cwd, UNITY_MCP_PROJECT) переопределяет оба) и проксирует MCP на живой endpoint этого проекта, перечитывает маяк при каждом запросе. Он объявляет tools.listChanged и следит за маячком: когда появляется редактор (или другой редактор берёт проект на себя), он отправляет уведомления list_changed, чтобы клиенты догрузили списки инструментов и ресурсов с середине сессии. Развертывание лаунчера в ~/.unity-mcp/stdio.js обновляется только через LAUNCHER_VERSION, поэтому редакторы с разными версиями пакета никогда не конкурируют за файл.

Другие MCP-клиенты: тот же лаунчер или простой HTTP (endpoint и токен отображаются в окне).

Инструменты

Группа

Инструменты (unity_ флаги)

Сцена

scene_list, scene_load, scene_save, scene_new, scene_close

Игровой объект

gameobject_create, gameobject_find, gameobject_delete, gameobject_set_active, gameobject_set_parent, gameobject_rename, gameobject_duplicate

Компонент

component_list, component_add, component_remove, component_set_enabled, component_get_properties, component_set_property

Трансформация

transform_get, transform_set, transform_translate, transform_rotate, transform_look_at, transform_reset

Редактор

selection_get/set/focus, editor_execute_menu_item, editor_notification, editor_log, editor_get_state, editor_pause/step, undo_*, playmode_enter/exit

Префаб

prefab_load, prefab_save, prefab_get_hierarchy, prefab_find_component

Тесты

test_list, test_run, test_run_sync, test_get_results

Захват

capture_panel, capture_game_view

Проект и ассеты

project_list_files, project_read_text, project_write_text, assets_refresh, assets_import, assets_find

Рефлексия

reflection_search_types, reflection_get_type_info, reflection_get_method_info, reflection_get_public_api, reflection_get_assemblies, reflection_decompile, reflection_invoke_static

Выполнение

eval

Примечательно:

  • unity_eval: компилирует и выполняет C#-фрагмент в редакторе без перезагрузки домена. Форма выражения возвращает его значение, форма оператора использует return. Стандартные объекты using импортируются, ведущие строки using поднимаются наверх. Встроенный Roslyn (потолок C# 9). Первый вызов прогревается несколько секунд, затем десятки миллисекунд на компиляцию

  • unity_capture_panel: рендерит PanelSettings UI Toolkit в PNG за кадром, без оформления сцены, работает в режиме редактирования и в режиме игры. Автоматически определяет активный UIDocument

  • unity_assets_find: синтаксис запросов окна Project (t:Material, t:Prefab ui, l:MyLabel), функция ограничения папкой, ограниченный результат с общим количеством

  • unity_reflection_decompile: полный C#-исходный код любого загруженного типа или метода

  • Особенности: подождите ~1 с после перезагрузки домена перед тестовыми инструментами; unity_capture_game_view работает только в режиме игры на Unity 6.3+

Ресурсы

unity://console/logs · unity://hierarchy · unity://hierarchy/{scene} · unity://tests/results · unity://project/files

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

ProjectSettings/McpSettings.json (его нужно коммитить): HTTP-порт 5173, IPC-порт 52100, автозапуск, токен авторизации.

Порты заняты сервером другого проекта? Свободная пара выделяется автоматически и хранится на машине в UserSettings/McpPortOverride.json (исключено через gitignore), поэтому перестановки портов никогда не уходят в команду. Личность проекта подтверждается при каждом подключении моста: редактор никогда не может присоединиться к серверу другого проекта, даже при неправильной настройке портов.

Ручной запуск сервера: node src/server.js при условии, что MCP_PROJECT_ROOT содержит путь к проекту.

Совместимость с Unity CLI

Дополняет, а не конкурирует:

  • Unity CLI управляет жизненным циклом редактора: установка, unity open, сборки, CI

  • UnityMCP управляет живой сессией редактора: захват интерфейса, декомпиляция, eval, циклы тестирования, маршрутизация без настройки

  • Типичный цикл агента: unity open <project> через CLI, редактор запускается, поднимаются сервер и маяк, лаунчер подключается. Никакой настройки с любой стороны

  • Редакторы, запущенные через CLI, работают в фоне без фокуса. UnityMCP построен и протестирован именно для этого (безопасный запуск в фоне, повторы и стабильность при перезагрузках домена)

  • Портов и имён инструментов не пересекаются. Регистрируйте оба

Архитектура

┌─────────────────────────────────────────────────────────────┐
│                      AI Assistant                           │
├──────────────────────────────┬──────────────────────────────┤
│  stdio launcher              │  (or direct HTTP clients)    │
│  ~/.unity-mcp/stdio.js       │                              │
│  resolves the session's      │                              │
│  project, reads its beacon   │                              │
│  Temp/UnityMcp_Endpoint.json │                              │
├──────────────────────────────┴──────────────────────────────┤
│           HTTP JSON-RPC (Port 5173, per project)            │
├─────────────────────────────────────────────────────────────┤
│              Node.js MCP Server (Server~/)                  │
├─────────────────────────────────────────────────────────────┤
│                TCP NDJSON (Port 52100)                      │
├─────────────────────────────────────────────────────────────┤
│                Unity Editor C# Bridge                       │
│  (McpBridge → ToolRegistry → MainThreadDispatcher)          │
├─────────────────────────────────────────────────────────────┤
│                     Unity APIs                              │
└─────────────────────────────────────────────────────────────┘

Каждый открытый проект запускает собственный Node-сервер. Лаунчер — это общая пакетная точка входа, которая направляет каждую сессию к нужному серверу.

Разработка

  • Unity-тесты: Window > General > Test Runner (EditMode + PlayMode)

  • Тесты лаунчера: npm test в Server~/

  • История изменений: CHANGELOG.md

Лицензия

MIT. См. LICENSE.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
<1hResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with Unity Editor through the Model Context Protocol, allowing natural language control of Unity projects including scene manipulation, GameObject creation, component updates, package management, and test execution.
  • 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

View all related MCP servers

Related MCP Connectors

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

  • SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.

  • Build and run visual creative-production workflows from your AI agent.

View all MCP Connectors

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/Singtaa/UnityMCP'

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