Elementor Ultra

официальный

Создавайте сайты Elementor с помощью ИИ-агентов — ~90 инструментов для нативных, редактируемых страниц Elementor V4 через REST, с валидацией, резервным копированием, откатом и типизированным JSX-компилятором. MIT.

Что можно делать с Elementor Ultra MCP?

  • Список страниц — Запросите список всех страниц Elementor и их структуру с помощью инструментов elementor.page.*.
  • Создание страницы — Запросите создание новой страницы Elementor из макета с проверкой на стороне сервера и резервным копированием.
  • Конвертация HTML — Запросите преобразование HTML-фрагмента в дерево элементов Elementor с помощью конвертера HTML→Elementor.
  • Рефакторинг живого сайта — Запросите изменение виджетов, дизайна или шаблонов на живом сайте с автоматическим резервным копированием и откатом.
  • Проверка без сохранения — Запросите проверку предлагаемого дерева элементов без сохранения, чтобы атомарно выявлять ошибки.

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

Elementor Ultra MCP

Поверхность управления агентами для Elementor. Сервер Model Context Protocol + сопутствующий плагин WordPress, которые позволяют ИИ-агентам читать, собирать, рефакторить и управлять реальными сайтами Elementor так, как инженеры выпускают программное обеспечение — сначала атомарные элементы Editor V4, с откатом к классике V3 — с авторитетной серверной валидацией, диффами, резервными копиями и откатом при каждой записи.

  • packages/server — TypeScript MCP-сервер: 91 инструмент (elementor.page.*, widget, design, templates, media, nav, pro.*, конвертация HTML→Elementor), транспорты stdio + HTTP, профили инструментов lean/full.
  • plugin/elementor-ultra-mcp — плагин WordPress, предоставляющий авторитетный REST-шов (/wp-json/elementor-ultra/v1/*): каждая запись проходит через собственные Document::save() Elementor со снапшотами резервных копий, оптимистичной конкурентностью (base_hash), идемпотентным (op_id) воспроизведением, авторитетным валидатором и обязательной подготовкой CSS.
  • packages/shared — замороженная контрактная поверхность: реестр REST-маршрутов, таксономия ошибок, зеркала JSON-schema, золотые фикстуры. Побайтово идентично spec/contracts/schemas (защищено CI).
  • spec/ — полная инженерная документация: контракты, вердикты спайков и рабочие пакеты, на основе которых построена система.

В паре с elementor-jsx — компилятором JSX→Elementor, чей деплой использует REST-шов этого плагина.

Быстрый старт (использование с агентом)

  1. Установите сопутствующий плагин на ваш сайт WordPress (zip из Releases; требует Elementor ≥ 4.1) и создайте пароль приложения.
  2. Подключите сервер к вашему MCP-клиенту (.mcp.json):
{
  "mcpServers": {
    "elementor-ultra": {
      "command": "node",
      "args": ["/path/to/elementor-ultra-mcp/packages/server/dist/index.js"],
      "env": {
        "WP_URL": "https://your-site.com",
        "WP_USER": "admin",
        "WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "ULTRA_TOOLS": "full",
      },
    },
  },
}
  1. Попросите агента вывести список страниц, выполнить сухой прогон дерева, собрать страницу. Каждая мутация валидируется собственными серверными парсерами Elementor до сохранения; недействительные деревья отклоняются атомарно с кодом ошибки из таксономии.

Лицензирование

  • TypeScript-пакеты (packages/*): MIT © 2026 Algorismus
  • Плагин WordPress (plugin/elementor-ultra-mcp): GPL-2.0-or-later (соглашение WordPress)

Не связан с Elementor Ltd и не одобрен ею — «Elementor» является их товарным знаком; это независимая интеграция, нацеленная на их формат страниц.


Предварительные требования

ИнструментВерсияПримечания
Node.js≥ 20 LTS.nvmrc закрепляет 20. Обязательно engine-strict=true.
pnpm9.xМенеджер пакетов; lockfile закоммичен.
DockerзапущенТребуется для @wordpress/env (wp-env) для разработки WP-сайта.
PHP≥ 7.4 (в контейнере)Предоставляется контейнером wp-env Docker — хост-PHP не нужен.
Composer(в контейнере)Настройка Composer/PHPCS плагина предоставляется WP-P01.

Вам не нужен PHP или Composer на хосте; PHP-инструменты работают внутри контейнера wp-env.


Установка и сборка

pnpm install        # installs all workspace deps; writes/uses pnpm-lock.yaml
pnpm build          # turbo: compiles packages/shared + packages/server (strict TS)
pnpm lint           # eslint (typescript-eslint, recommended-type-checked) across the workspace
pnpm format:check   # prettier --check
pnpm test:unit      # turbo: vitest run in each package

Запуск серверного бинарника (без подключённых инструментов)

После pnpm build серверный бинарник находится в packages/server/dist/index.js. Без установленных переменных окружения он выводит понятное сообщение и завершается чисто (код выхода 0):

node packages/server/dist/index.js
# -> elementor-ultra-mcp: missing required environment variable(s): WP_URL, WP_USER, WP_APP_PASSWORD. ...

При настройке он читает следующие переменные окружения:

ПеременнаяОбязательноЗначение
WP_URLдаБазовый URL целевого сайта WordPress.
WP_USERдаИмя пользователя WordPress (владелец Application Password).
WP_APP_PASSWORDдаApplication Password WordPress (HTTP Basic auth).
MCP_TRANSPORTнетstdio (по умолчанию) или http (Streamable HTTP).
ULTRA_TOOLSнетlean (по умолчанию) или full профиль инструментов.

Реальные транспортная привязка и реестр инструментов добавляются WP-T01 в packages/server/src/server.ts. Бинарник (index.ts) лениво import() ./server.js и выводит "server core not yet wired", пока этот модуль не существует — поэтому бинарник компилируется и запускается автономно на этом каркасе.


Локальный сайт WordPress для разработки (wp-env)

Сайт для разработки использует @wordpress/env и закрепляет Elementor 4.1.1 + Elementor Pro 4.1.0 точно через локальные zip-архивы плагинов (не по слагу wp.org, который подтягивает последнюю версию и вообще не содержит Pro).

Где лежат zip-архивы плагинов (и куда нужно поместить Pro)

.wp-env.json ссылается на два локальных zip-архива в .wp-env-plugins/ (каталог исключённый из git):

.wp-env-plugins/
├─ elementor.4.1.1.zip        # Elementor free 4.1.1
└─ elementor-pro.4.1.0.zip    # Elementor Pro 4.1.0  (licensed; not on wp.org)

Эти zip-архивы не коммитятся (это лицензированные бинарники, они в gitignore). После свежего клонирования вы должны разместить их самостоятельно:

mkdir -p .wp-env-plugins
cp /path/to/elementor.4.1.1.zip      .wp-env-plugins/elementor.4.1.1.zip
cp /path/to/elementor-pro.4.1.0.zip  .wp-env-plugins/elementor-pro.4.1.0.zip

Точные имена файлов выше должны соответствовать путям в .wp-env.json.

Запуск / остановка

pnpm wp-env:start   # boots WordPress + Elementor 4.1.1 + Pro 4.1.0; mounts the companion plugin
pnpm wp-env:stop

.wp-env.json также монтирует ./plugin/elementor-ultra-mcp как плагин. Содержимое этого каталога (загрузчик, composer.json, phpcs.xml.dist, readme.txt и includes/) создаются WP-P01; после их появления сопутствующий плагин становится активируемым на сайте wp-env. Собственная конфигурация Composer/PHPCS плагина также предоставляется WP-P01.


Структура монорепозитория

elementor-ultra-mcp/
├─ packages/
│  ├─ server/      # TS MCP server (bin: elementor-ultra-mcp)
│  └─ shared/      # shared types + JSON Schemas + fixtures
├─ plugin/
│  └─ elementor-ultra-mcp/   # companion WP plugin (PHP) — populated by WP-P01
├─ spec/           # frozen architecture + contracts + work packages
├─ .wp-env.json    # pins Elementor 4.1.1 + Pro 4.1.0 (local zips) + mounts the plugin
└─ (root tooling: pnpm-workspace.yaml, turbo.json, tsconfig.base.json, eslint, prettier)

Фиксация MCP SDK (LOCKED)

packages/server закрепляет @modelcontextprotocol/sdk ^1.29 с zod как обязательным пиром. Никогда не добавляйте пакеты @modelcontextprotocol/* 2.x — в 1.x, inputSchema/outputSchema являются картами ZodRawShape, а транспорты — глубокие .js импорты. CI защищает от появления зависимости 2.x в lockfile (WP-F07).