Elementor Ultra

officiel

Créez des sites Elementor avec des agents IA — environ 90 outils pour des pages Elementor V4 natives et modifiables via REST, avec validation, sauvegardes, restauration et un compilateur JSX typé. MIT.

Que pouvez-vous faire avec Elementor Ultra MCP ?

  • Lister les pages — Demander de lister toutes les pages Elementor et leur structure via les outils elementor.page.*.
  • Créer une page — Demander de créer une nouvelle page Elementor à partir d'une mise en page, avec validation côté serveur et sauvegarde.
  • Convertir du HTML — Demander de convertir un extrait HTML en arborescence d'éléments Elementor à l'aide du convertisseur HTML→Elementor.
  • Refactoriser un site en direct — Demander de modifier des widgets, le design ou des modèles sur un site en direct, avec sauvegardes automatiques et restauration.
  • Validation à blanc — Demander de valider une arborescence d'éléments proposée sans enregistrer, en détectant les erreurs de manière atomique.

Documentation

Elementor Ultra MCP

La surface de contrôle agent pour Elementor. Un serveur Model Context Protocol + plugin WordPress compagnon qui permet aux agents IA de lire, construire, refactoriser et gouverner de vrais sites Elementor comme les ingénieurs livrent du logiciel — Éditeur V4 éléments atomiques d'abord, V3 classique en repli — avec validation côté serveur faisant autorité, différences, sauvegardes et restauration à chaque écriture.

  • packages/server — Serveur MCP TypeScript : 91 outils (elementor.page.*, widget, design, templates, media, nav, pro.*, conversion HTML→Elementor), transports stdio + HTTP, profils d'outils lean/full.
  • plugin/elementor-ultra-mcp — Plugin WordPress exposant la couture REST faisant autorité (/wp-json/elementor-ultra/v1/*) : chaque écriture passe par le Document::save() propre à Elementor avec instantanés de sauvegarde, concurrence optimiste (base_hash), rejeu d'idempotence (op_id), le validateur faisant autorité, et un préchauffage CSS obligatoire.
  • packages/shared — la surface contractuelle figée : registre des routes REST, taxonomie d'erreurs, miroirs JSON-schema, fixtures dorées. Octet-identique à spec/contracts/schemas (protégé par CI).
  • spec/ — le dossier d'ingénierie complet : contrats, verdicts de spike et lots de travail sur lesquels le système a été construit.

S'associe avec elementor-jsx — le compilateur JSX→Elementor dont les déploiements passent par cette couture REST du plugin.

Démarrage rapide (utilisation avec un agent)

  1. Installez le plugin compagnon sur votre site WordPress (zip depuis Releases ; nécessite Elementor ≥ 4.1) et créez un mot de passe d'application.
  2. Connectez le serveur à votre client 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. Demandez à votre agent de lister les pages, de simuler un arbre, de construire une page. Chaque mutation est validée par les propres parseurs d'Elementor côté serveur avant toute sauvegarde ; les arbres invalides sont rejetés atomiquement avec un code d'erreur taxonomique.

Licence

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

Non affilié à Elementor Ltd ni approuvé par elle — « Elementor » est leur marque ; il s'agit d'une intégration indépendante qui cible leur format de page.


Prérequis

OutilVersionNotes
Node.js≥ 20 LTS.nvmrc épingle 20. engine-strict=true est appliqué.
pnpm9.xLe gestionnaire de paquets ; le lockfile est commité.
Dockeren cours d'exécutionRequis par @wordpress/env (wp-env) pour le site WP de dev.
PHP≥ 7.4 (dans le conteneur)Fourni par le conteneur Docker wp-env — aucun PHP hôte requis.
Composer(dans le conteneur)La configuration Composer/PHPCS du plugin est fournie par WP-P01.

Vous n'avez pas besoin de PHP ou Composer sur l'hôte ; les outils PHP s'exécutent dans le conteneur wp-env.


Installation et 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

Exécution du binaire serveur (aucun outil câblé pour l'instant)

Après pnpm build, le binaire serveur existe à packages/server/dist/index.js. Avec aucune variable d'environnement définie, il affiche un message clair et se termine proprement (code de sortie 0) :

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

Une fois configuré, il lit les variables d'environnement suivantes :

VariableRequiseSignification
WP_URLouiURL de base du site WordPress cible.
WP_USERouiNom d'utilisateur WordPress (propriétaire du mot de passe d'application).
WP_APP_PASSWORDouiMot de passe d'application WordPress (authentification HTTP Basic).
MCP_TRANSPORTnonstdio (défaut) ou http (Streamable HTTP).
ULTRA_TOOLSnonlean (défaut) ou full profil d'outils.

La liaison de transport réelle + le registre d'outils sont ajoutés par WP-T01 dans packages/server/src/server.ts. Le binaire (index.ts) charge paresseusement import()s ./server.js et affiche "server core not yet wired" jusqu'à ce que ce module existe — donc le binaire compile et démarre de manière autonome sur ce squelette.


Site WordPress de développement local (wp-env)

Le site de dev utilise @wordpress/env et épingle Elementor 4.1.1 + Elementor Pro 4.1.0 exactement via des zips de plugins locaux (pas le slug wp.org, qui tire la dernière version et n'héberge pas Pro du tout).

Où vivent les zips de plugins (et où Pro doit être placé)

.wp-env.json référence deux zips locaux sous .wp-env-plugins/ (un répertoire gitignoré) :

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

Ces zips ne sont pas commités (ce sont des binaires sous licence et ils sont gitignorés). Après un clone frais, vous devez les placer vous-même :

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

Les noms de fichiers exacts ci-dessus doivent correspondre aux chemins dans .wp-env.json.

Démarrer / arrêter

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 monte également ./plugin/elementor-ultra-mcp comme plugin. Le contenu de ce répertoire (le bootstrap, composer.json, phpcs.xml.dist, readme.txt, et includes/) est créé par WP-P01 ; une fois en place, le plugin compagnon est activable dans le site wp-env. La propre configuration Composer/PHPCS du plugin est également fournie par WP-P01.


Structure du monorepo

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)

Épinglage du SDK MCP (VERROUILLÉ)

packages/server épingle @modelcontextprotocol/sdk ^1.29 avec zod comme pair requis. N'ajoutez jamais de paquet 2.x de @modelcontextprotocol/* — en 1.x, inputSchema/outputSchema sont des cartes ZodRawShape et les transports sont des imports profonds .js. CI protège contre l'apparition d'une dépendance 2.x dans le lockfile (WP-F07).