Elementor Ultra

offiziell

Erstelle Elementor-Websites mit KI-Agenten — etwa 90 Werkzeuge für native, bearbeitbare Elementor-V4-Seiten über REST, mit Validierung, Backups, Rollback und einem typisierten JSX-Compiler. MIT.

Was kann man mit Elementor Ultra MCP machen?

  • Seiten auflisten — Bitten Sie darum, alle Elementor-Seiten und deren Struktur über die elementor.page.*-Tools aufzulisten.
  • Seite erstellen — Bitten Sie darum, eine neue Elementor-Seite aus einem Layout zu erstellen, mit serverseitiger Validierung und Backup.
  • HTML konvertieren — Bitten Sie darum, ein HTML-Snippet mithilfe des HTML→Elementor-Konverters in einen Elementor-Elementbaum zu konvertieren.
  • Live-Site umgestalten — Bitten Sie darum, Widgets, Design oder Vorlagen auf einer Live-Site zu ändern, mit automatischen Backups und Rollback.
  • Probelauf-Validierung — Bitten Sie darum, einen vorgeschlagenen Elementbaum ohne Speichern zu validieren und Fehler atomar zu erkennen.

Dokumentation

Elementor Ultra MCP

Die Agenten-Steueroberfläche für Elementor. Ein Model-Context-Protocol-Server plus begleitendes WordPress-Plugin, das es KI-Agenten ermöglicht, echte Elementor-Sites zu lesen, aufzubauen, umzugestalten und zu verwalten – so, wie Ingenieure Software ausliefern — Editor-V4-Atom-Elemente zuerst, V3-Klassik-Fallback — mit autoritativer serverseitiger Validierung, Diffs, Backups und Rollback bei jedem Schreibvorgang.

  • packages/server — TypeScript-MCP-Server: 91 Tools (elementor.page.*, widget, design, templates, media, nav, pro.*, HTML→Elementor-Konvertierung), stdio- und HTTP-Transports, schlanke/vollständige Tool-Profile.
  • plugin/elementor-ultra-mcp — WordPress-Plugin, das die autoritative REST-Schnittstelle bereitstellt (/wp-json/elementor-ultra/v1/*): Jeder Schreibvorgang läuft über Elementors eigene Document::save() mit Backup-Snapshots, optimistischer Nebenläufigkeit (base_hash), Idempotenz (op_id)-Wiedergabe, der autoritativen Validierung und obligatorischem CSS-Pre-Priming.
  • packages/shared — die eingefrorene Vertragsoberfläche: REST-Routen-Registry, Fehler-Taxonomie, JSON-Schema-Spiegel, Goldene Fixtures. Byte-identisch zu spec/contracts/schemas (CI-geschützt).
  • spec/ — die vollständige technische Dokumentation: Verträge, Spike-Bewertungen und Arbeitspakete, gegen die das System gebaut wurde.

Ergänzt wird dies durch elementor-jsx — den JSX→Elementor- Compiler, dessen Deployments über die REST-Schnittstelle dieses Plugins laufen.

Schnellstart (mit einem Agenten verwenden)

  1. Installieren Sie das begleitende Plugin auf Ihrer WordPress-Site (ZIP aus den Releases; erfordert Elementor ≥ 4.1) und erstellen Sie ein Anwendungspasswort.
  2. Binden Sie den Server in Ihren MCP-Client ein (.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. Bitten Sie Ihren Agenten, Seiten aufzulisten, einen Baum trocken zu testen oder eine Seite zu erstellen. Jede Änderung wird serverseitig von Elementors eigenen Parsern validiert, bevor etwas gespeichert wird; ungültige Bäume werden atomar mit einem Taxonomie-Fehlercode abgelehnt.

Lizenzierung

  • TypeScript-Pakete (packages/*): MIT © 2026 Algorismus
  • WordPress-Plugin (plugin/elementor-ultra-mcp): GPL-2.0-or-later (WordPress-Konvention)

Nicht mit Elementor Ltd verbunden oder von ihr unterstützt — „Elementor" ist deren Marke; dies ist eine unabhängige Integration, die auf deren Seitenformat abzielt.


Voraussetzungen

ToolVersionHinweise
Node.js≥ 20 LTS.nvmrc pinnt 20. engine-strict=true ist erzwungen.
pnpm9.xDer Paketmanager; die Lockfile ist eingecheckt.
DockerläuftErforderlich für @wordpress/env (wp-env) für die Entwicklungs-WP-Site.
PHP≥ 7.4 (im Container)Wird vom wp-env-Docker-Container bereitgestellt — kein Host-PHP nötig.
Composer(im Container)Das Composer/PHPCS-Setup des Plugins wird von WP-P01 bereitgestellt.

Sie benötigen kein PHP oder Composer auf dem Host; die PHP-Werkzeuge laufen im wp-env-Container.


Installation & Build

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

Server-Bin ausführen (noch keine Tools verdrahtet)

Nach pnpm build existiert die Server-Bin unter packages/server/dist/index.js. Mit keiner gesetzten Umgebungsvariable gibt sie eine klare Meldung aus und beendet sich sauber (Exit-Code 0):

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

Wenn konfiguriert, liest sie die folgenden Umgebungsvariablen:

VariableErforderlichBedeutung
WP_URLjaBasis-URL der Ziel-WordPress-Site.
WP_USERjaWordPress-Benutzername (Besitzer des Anwendungspassworts).
WP_APP_PASSWORDjaWordPress-Anwendungspasswort (HTTP-Basisauthentifizierung).
MCP_TRANSPORTneinstdio (Standard) oder http (Streamable HTTP).
ULTRA_TOOLSneinlean (Standard) oder full-Toolprofil.

Die echte Transportbindung und Tool-Registry werden von WP-T01 in packages/server/src/server.ts hinzugefügt. Die Bin (index.ts) lädt import() ./server.js lazy und gibt "server core not yet wired" aus, bis dieses Modul existiert — damit kompiliert und startet die Bin eigenständig auf diesem Grundgerüst.


Lokale WordPress-Entwicklungssite (wp-env)

Die Entwicklungssite verwendet @wordpress/env und pinnt Elementor 4.1.1 + Elementor Pro 4.1.0 exakt über lokale Plugin-ZIPs (nicht den wp.org- Slug, der die neueste Version zieht und Pro überhaupt nicht hostet).

Wo die Plugin-ZIPs liegen (und wo Pro platziert werden muss)

.wp-env.json referenziert zwei lokale ZIPs unter .wp-env-plugins/ (ein gitignoriertes Verzeichnis):

.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)

Diese ZIPs sind nicht eingecheckt (es sind lizenzierte Binärdateien und sie sind gitignoriert). Nach einem frischen Klon müssen Sie sie selbst platzieren:

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

Die exakten Dateinamen oben müssen mit den Pfaden in .wp-env.json übereinstimmen.

Start / Stopp

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 mountet auch ./plugin/elementor-ultra-mcp als Plugin. Der Inhalt dieses Verzeichnisses (das Bootstrap, composer.json, phpcs.xml.dist, readme.txt und includes/) wird von WP-P01 erstellt; sobald diese vorhanden sind, ist das Begleit-Plugin in der wp-env-Site aktivierbar. Die eigene Composer/PHPCS-Konfiguration des Plugins wird ebenfalls von WP-P01 bereitgestellt.


Monorepo-Struktur

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-Pin (GESPERRT)

packages/server pinnt @modelcontextprotocol/sdk ^1.29 mit zod als erforderlichem Peer. Fügen Sie niemals ein 2.x-Paket von @modelcontextprotocol/* hinzu — in 1.x sind inputSchema/outputSchema ZodRawShape-Maps und Transports sind tiefe .js-Imports. CI schützt dagegen, dass eine 2.x-Abhängigkeit in der Lockfile erscheint (WP-F07).