Elementor Ultra
offiziellErstelle 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 eigeneDocument::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 zuspec/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)
- Installieren Sie das begleitende Plugin auf Ihrer WordPress-Site (ZIP aus den Releases; erfordert Elementor ≥ 4.1) und erstellen Sie ein Anwendungspasswort.
- 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",
},
},
},
}
- 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
| Tool | Version | Hinweise |
|---|---|---|
| Node.js | ≥ 20 LTS | .nvmrc pinnt 20. engine-strict=true ist erzwungen. |
| pnpm | 9.x | Der Paketmanager; die Lockfile ist eingecheckt. |
| Docker | läuft | Erforderlich 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:
| Variable | Erforderlich | Bedeutung |
|---|---|---|
WP_URL | ja | Basis-URL der Ziel-WordPress-Site. |
WP_USER | ja | WordPress-Benutzername (Besitzer des Anwendungspassworts). |
WP_APP_PASSWORD | ja | WordPress-Anwendungspasswort (HTTP-Basisauthentifizierung). |
MCP_TRANSPORT | nein | stdio (Standard) oder http (Streamable HTTP). |
ULTRA_TOOLS | nein | lean (Standard) oder full-Toolprofil. |
Die echte Transportbindung und Tool-Registry werden von WP-T01 in
packages/server/src/server.tshinzugefügt. Die Bin (index.ts) lädtimport()./server.jslazy 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).