Monolith (Unreal Engine MCP)

MCP MCP Servers Open Source v0.20.3 · 20.06.2026 активный

MCP-плагин для Unreal Engine 5.7/5.8: Claude получает полный read/write доступ к Blueprints, Materials, Animation. Создаёт и редактирует ассеты, управляет сценой в реальном времени.

v0.20.3
20.06.2026 current
v0.1.0
01.06.2025
Добавлен 06.07.2026 · Обновлён 06.07.2026 · MCP Servers
Установка
# Установка как плагин Unreal Engine 5.7/5.8:
# 1. Скопировать папку Plugins/Monolith в папку Plugins проекта UE
# 2. В Editor: Edit → Plugins → найти Monolith → Enable → перезапустить Editor
# 3. MCP-сервер запускается автоматически при открытии редактора (порт 8080)

# Claude Code (CLI):
claude mcp add unreal --transport sse -- http://localhost:8080/sse

# Claude Desktop — claude_desktop_config.json:
{ "mcpServers": { "unreal": { "url": "http://localhost:8080/sse" } } }
переведено ИИ

Monolith

Один плагин. Каждая область Unreal. Ноль зависимостей.

UE 5.7 / 5.8 License: MIT MCP


Почему я это создал

Большинство MCP-интеграций для Unreal регистрируют каждое действие как отдельный инструмент. Это заливает контекстное окно AI сотнями имён инструментов ещё до того, как вы задали хоть один вопрос — а по-настоящему полезное тонет в этом потоке. Я создал Monolith, потому что хотел, чтобы мой AI тратил свой контекст на решение моей задачи, а не на запоминание каталога инструментов.

Один плагин. Один MCP-эндпоинт. Горстка инструментов с диспетчеризацией по пространствам имён вместо ~1 400+. AI вызывает monolith_discover() и monolith_guide(), когда ему нужно узнать, что доступно, а в остальном просто обращается к blueprint_query("create_asset", ...), material_query("compile", ...) и так далее. monolith_discover() по умолчанию краток — каждое действие возвращает только имя и однострочное описание, поэтому вывод пространства имён почти ничего не стоит; полная схема параметров доступна одним вызовом describe_query("action_schema", ...) (или параметром detail=true), когда AI действительно в ней нуждается.

Я пользуюсь этим каждый день. Это делает то, что мне нужно.


Что это делает

Monolith предоставляет ~1 400+ действий в 25+ встроенных пространствах имён через паттерн диспетчеризации по пространствам имён: каждая область регистрирует единственный инструмент {namespace}_query(action, params), а центральный monolith_discover() выводит всё доступное. (Точные числа намеренно приблизительные — запросите monolith_discover() для актуальных значений.)

Охваченные области: Блюпринты, Материалы, Анимация, Niagara, Меш, UI (включая CommonUI), ИИ (деревья поведения, деревья состояний, EQS, Smart Objects, Восприятие, Навигация), Gameplay Ability System, конечные автоматы Logic Driver, комбо-деревья ComboGraph, Аудио (Sound Cues + MetaSounds), управление редактором (сборки UBT, захват логов, захват сцены, предпросмотр и инспекция ассетов), поиск по исходному коду движка (1 000 000+ символов, полностью офлайн), поиск по ассетам проекта (SQLite FTS5), конфигурация INI, Level Sequences, фреймворк рефлексии bulk_fill / describe для глубокой записи свойств, инструмент самообучения AI monolith_guide, а также новый слой Reflection Intelligence (v0.17.0): decision (сбор архитектурных записей решений), risk (сигналы горячих точек репозитория + совместного изменения + условные ворота), cppreflect (запросы к рефлексивным краям UE 5.7 UHT с перекрёстным соединением с реестром ассетов), network (инспекция репликации — реплицируемые классы, RPC, обработчики OnRep, аудит несбалансированных обработчиков), pipeline (read-only действия-композиторы для ревью PR + предварительной проверки перед релизом) и reflect (обслуживание индексов — принудительная пересборка таблиц рефлексии в рамках проекта). Индексы cppreflect и network по умолчанию сканируют плагины вашего проекта, поэтому реплицируемые классы и RPC, объявленные в плагинах, попадают в область видимости без дополнительной настройки; включённые плагины из Marketplace ограничены настройкой, а встроенные компоненты движка Epic исключаются.

Эргономика MCP для LLM (также новое в v0.17.0): универсальное форматирование ответов (_fields / _omit / _compact_json) для каждого действия, параметры с тегами схемы и автоматической перезаписью \/ в путях к ассетам, нечёткое совпадение did_you_mean при ошибках диспетчеризации, аннотации MCP tools/list (подсказки: read-only / destructive / idempotent), курсорная пагинация source_query и журнал вызовов JSONL на стороне прокси. Вся суть — дать вашему AI тратить меньше контекста на восстановление после опечаток и пробных ошибок.

Новое в v0.19.0: пакет эргономики авторинга C++ для LLM в пространстве имён source — восемь read-only запросов, чтобы ваш AI разрешал путь инклюда, точную сигнатуру, статус устаревания, зависимости Build.cs, линт заголовка или заготовку UCLASS за один запрос вместо чтения исходного кода (get_include_path, get_signature, check_deprecations, verify_symbols, find_example_usage, suggest_build_cs_deps, lint_header, generate_class_stub), плюс fix_hints на editor.get_build_errors. Исправление парсера, наконец индексирующее обычные классы/структуры со скобками в стиле Allman, утроило индекс исходного кода движка (~300 000 → ~967 000 символов), поэтому запросы для FCollisionShape, FScopeLock, FPaths и ~40 000 других типов движка теперь действительно возвращают результат. Плюс интероспекция и управление PIE в реальном времени в пространстве имён editor (pie_get_object_properties, pie_call_function, pie_set_control_rotation, pie_inject_input_action, pie_possess_spectator_free), программный вывод stat-групп (get_stat_group_values), забор данных PIE во временных рядах и чтение/запись привязок аним-узлов (animation), перечень переменных-ссылок блюпринтов (blueprint.find_variable_references) и сверка контрактов, а также первоклассный текстовый экспорт ассетов T3D (project.export_asset_text). Манифест tools/list стал меньше примерно на 40% (убраны дублирующиеся списки действий из описаний диспетчеров), а также исправлены две проблемы первого запуска (MonolithMesh теперь отложенная загрузка GeometryScripting; глубокий индексер больше не вызывает ассерт на полях UserDefinedStruct с неразрешёнными типами — проблема #70, благодарность @aggitti).

Не вышло: пакет авторинга AnimGraph в пространстве имён animation — ноды apply-additive / mesh-space-additive, ноды слотов (с валидацией по группам слотов скелета), сохранение/использование кэшированной позы, подключение output-pose и state-result, blend-by-int, синхронизированные группы, фильтры layered-blend-per-bone, ноды аним-графа Control Rig, связанные аним-слои и кондуиты конечных автоматов — плюс запекание blend-space + управление интерполяцией, демонтаж конечных автоматов (удаление состояний / переходов / перенаправление точки входа), удаление IK-солвера и форматтер auto_layout без Blueprint-Assist, работающий в релизных сборках.

Новое в v0.18.1: созданный с нуля пакет авторинга Motion Matching в пространствах имён animation, chooser и blueprint — примитивы схемы/базы данных Pose Search, таблицы зеркал, авторинг chooser-таблиц, граф Motion Matching в AnimBP + стопа-ИК, потокобезопасный авторинг AnimBP (рефлексивный Property Access, флаг потокобезопасной функции и chooser на основе exec, питающий базу данных Motion Matching), каркас персонажа/актора, а также пакет создания/запуска ретаргетинга. Плюс инструментарий PIE / профилирования (асинхронные PIE-смок-сессии, профилировочные скобки CSV / Insights, захват клипов + кадров анимации, авторинг карт, пересборка/валидация навигации), авторинг конечных автоматов + телеметрия аним-инстансов в реальном времени, универсальный ИИ-контроллер, запускающий BehaviorTree при захвате с классами задач BT для управления движением, инспекция унаследованных нативных компонентов и считывание полей DataAsset в реальном времени.

Новое в v0.18.0: прямое редактирование HLSL Niagara — чтение и перезапись HLSL-исходников ноды CustomHlsl (get_custom_hlsl_text / set_custom_hlsl_text), а также селекторы simulation-stage / event-handler в действиях модульного стека и мост ParameterMap для create_module_from_hlsl (PR #65, благодарность @middle233). Niagara также получила пакет поиска и обнаружения (search_by_parameter, search_by_data_interface, query_niagara, find_similar_systems, search_by_material, find_niagara_references, list_system_data_interfaces).

Полная разбивка по пространствам имён: Справочник инструментов (вики).

Работает с Claude Code, Cursor, Cline или любым другим MCP-совместимым клиентом. Windows, macOS, Linux.


Быстрая установка

1. Поместите в папку Plugins/

cd YourProject/Plugins
git clone https://github.com/tumourlove/monolith.git Monolith

(Или скачайте zip-архив последнего релиза и распакуйте по тому же пути. Архив релиза включает предкомпилированные DLL, поэтому проекты, использующие только Blueprint, могут сразу открыть редактор без пересборки. Monolith собирается на UE 5.7 и 5.8 из одного исходного дерева — но предкомпилированные DLL привязаны к конкретной версии движка, поэтому пользователям только Blueprint рекомендуется скачивать zip для своей версии движка: Monolith-vX.Y.Z-UE5.7.zip или -UE5.8.zip. Сборка из исходников работает в обоих случаях.)

2. Создайте файл .mcp.json в корне проекта (в той же папке, что и ваш .uproject):

{
  "mcpServers": {
    "monolith": {
      "command": "Plugins/Monolith/Binaries/monolith_proxy.exe",
      "args": []
    }
  }
}

Нативный C++ прокси поддерживает активность вашей ИИ-сессии при перезапуске редактора. Инструкции по Cursor/Cline, macOS/Linux или Python-фолбэку смотрите на вики-странице установки.

3. Откройте редактор. Подождите 30-60 секунд для первоначальной индексации. Когда вы увидите в Output Log (с фильтром LogMonolith) сообщение Monolith MCP server listening on port 9316, подключите ваш ИИ-клиент и спросите "what Monolith tools do you have?" для проверки.

Файлы-инструкции для проектов (CLAUDE.md, AGENTS.md, .cursorrules и т.д.) различаются для каждого ассистента — просто вставьте список пространств имён в ваш ИИ и попросите его сгенерировать правильный формат для вашего инструментария. Полные варианты установки, устранение неполадок и настройка после установки находятся на вики-странице установки.


Автономные инструменты

В папке Binaries/ поставляются два независимых C++ исполняемых файла, которые работают без запуска редактора:

  • monolith_proxy.exe — прокси для MCP stdio↔HTTP. Поддерживает активность вашей ИИ-сессии при перезапусках редактора. Используется конфигурацией .mcp.json выше.
  • monolith_query.exe — офлайн-инструмент запросов. Предоставляет доступ к индексу исходников движка, индексу ассетов проекта и полному набору возможностей Reflection Intelligence (decision / risk / cppreflect / network) без запуска UE — байтовая идентичность с живым сервером, проверяемая механизмом сравнения версий при сборке. Мгновенный запуск; полезен для терминальных запросов и в CI, когда редактор недоступен.

Подробности: вики Справочник по инструментам.


Автообновление

По умолчанию отключено начиная с версии v0.14.6. Для включения установите флажок Auto Update Enabled в меню Редактор > Настройки > Плагины > Monolith — проверяет GitHub Releases при запуске редактора, сверяет SHA256 скачанного zip-архива с маркером из релиз-ноутов, заменяет плагин при выходе из редактора (после запроса Y/N). Подробности: вики Автообновление.


Сетевое взаимодействие

Monolith запускает локальный HTTP-сервер на порту 9316 для приема MCP-трафика. Модуль FHttpServerModule в UE не предоставляет параметра привязки к адресу, поэтому прослушиватель доступен на всех сетевых интерфейсах, а не только на 127.0.0.1. CORS ограничен источниками localhost (что блокирует кросс-доменные чтения из браузера), но не блокирует прямые HTTP-запросы от других устройств в той же локальной сети.

Если вы работаете в ненадежной сети: либо добавьте правило в Брандмауэр Windows, блокирующее входящие подключения TCP к порту 9316 с адресов, не являющихся loopback, либо снимите флажок MCP Server Enabled в меню Редактор > Настройки > Плагины > Monolith и перезапустите редактор.

Полную модель угроз и политику раскрытия информации смотрите в SECURITY.md.


Документация

  • Вики — варианты установки, справочник по инструментам, подключение вашего ИИ, конфигурация, автообновление, FAQ, навыки, опциональные модули, подробности об индексе исходников движка, подробный обзор модуля геометрии, дизайн ужастиков, процедурная геометрия, шаблоны жанров, статус тестов
  • API_REFERENCE.md — полный справочник параметров для каждого действия, генерируется заново из реестра при каждом релизе
  • SPEC_CORE.md — техническая спецификация и архитектура; спецификации отдельных модулей в Docs/specs/
  • CHANGELOG.md — история версий, благодарности контрибьюторам, заметки о критических изменениях
  • CONTRIBUTING.md — настройка среды разработки, правила кодирования, как добавлять новые действия, процесс Pull Request

Участие в разработке

Вклад приветствуется. Смотрите CONTRIBUTING.md. Каждый релиз в CHANGELOG включает имена авторов PR и тех, кто сообщил о проблемах, чья работа вошла в релиз — признание заслуг.


Лицензия

MIT — информацию о правахowners смотрите в ATTRIBUTION.md.

Комментарии
Войдите, чтобы оставить комментарий