Elementor Ultra
oficialConstruye sitios Elementor con agentes de IA: aproximadamente 90 herramientas para páginas Elementor V4 nativas y editables a través de REST, con validación, copias de seguridad, reversión y un compilador JSX tipado. Licencia MIT.
¿Qué puedes hacer con Elementor Ultra MCP?
- Listar páginas — Pide listar todas las páginas de Elementor y su estructura mediante las herramientas
elementor.page.*. - Construir una página — Pide crear una nueva página de Elementor a partir de un diseño, con validación del lado del servidor y copia de seguridad.
- Convertir HTML — Pide convertir un fragmento de HTML en un árbol de elementos de Elementor usando el convertidor de HTML→Elementor.
- Refactorizar sitio en vivo — Pide modificar widgets, diseño o plantillas en un sitio en vivo, con copias de seguridad automáticas y reversión.
- Validación de prueba — Pide validar un árbol de elementos propuesto sin guardarlo, detectando errores de forma atómica.
Documentación
Elementor Ultra MCP
La superficie de control de agentes para Elementor. Un servidor Model Context Protocol + plugin compañero de WordPress que permite a los agentes de IA leer, construir, refactorizar y gobernar sitios Elementor reales de la forma en que los ingenieros publican software — elementos atómicos del Editor V4 primero, respaldo clásico V3 — con validación autoritativa del lado del servidor, diffs, respaldos y rollback en cada escritura.
packages/server— Servidor MCP en TypeScript: 91 herramientas (elementor.page.*,widget,design,templates,media,nav,pro.*, conversión HTML→Elementor), transportes stdio + HTTP, perfiles de herramientas lean/full.plugin/elementor-ultra-mcp— Plugin de WordPress que expone la costura REST autoritativa (/wp-json/elementor-ultra/v1/*): cada escritura pasa por el propioDocument::save()de Elementor con instantáneas de respaldo, concurrencia optimista (base_hash), reproducción de idempotencia (op_id), el validador autoritativo y el priming obligatorio de CSS.packages/shared— la superficie de contrato congelada: registro de rutas REST, taxonomía de errores, espejos JSON-schema, golden fixtures. Byte-idéntico aspec/contracts/schemas(protegido por CI).spec/— el registro de ingeniería completo: contratos, veredictos de spike y paquetes de trabajo sobre los cuales se construyó el sistema.
Se complementa con elementor-jsx — el compilador JSX→Elementor cuyos despliegues viajan por la costura REST de este plugin.
Inicio rápido (úsalo con un agente)
- Instala el plugin compañero en tu sitio WordPress (zip desde Releases; requiere Elementor ≥ 4.1) y crea una contraseña de aplicación.
- Conecta el servidor a tu cliente 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",
},
},
},
}
- Pide a tu agente que liste páginas, haga un dry-run de un árbol o construya una página. Cada mutación es validada por los propios parsers de Elementor en el servidor antes de que se guarde nada; los árboles inválidos son rechazados atómicamente con un código de error taxonómico.
Licencias
- Paquetes TypeScript (
packages/*): MIT © 2026 Algorismus - Plugin de WordPress (
plugin/elementor-ultra-mcp): GPL-2.0-or-later (convención de WordPress)
No está afiliado ni respaldado por Elementor Ltd — "Elementor" es su marca registrada; esta es una integración independiente que apunta a su formato de página.
Prerrequisitos
| Herramienta | Versión | Notas |
|---|---|---|
| Node.js | ≥ 20 LTS | .nvmrc fija 20. Se aplica engine-strict=true. |
| pnpm | 9.x | El gestor de paquetes; el lockfile está commiteado. |
| Docker | en ejecución | Requerido por @wordpress/env (wp-env) para el sitio WP de desarrollo. |
| PHP | ≥ 7.4 (en contenedor) | Proporcionado por el contenedor Docker de wp-env — no se necesita PHP en el host. |
| Composer | (en contenedor) | La configuración de Composer/PHPCS del plugin es proporcionada por WP-P01. |
No necesitas PHP ni Composer en el host; el tooling de PHP se ejecuta dentro del contenedor wp-env.
Instalación y 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
Ejecutar el binario del servidor (sin herramientas conectadas todavía)
Después de pnpm build, el binario del servidor existe en packages/server/dist/index.js. Con sin env configurado
imprime un mensaje claro y sale limpiamente (código de salida 0):
node packages/server/dist/index.js
# -> elementor-ultra-mcp: missing required environment variable(s): WP_URL, WP_USER, WP_APP_PASSWORD. ...
Cuando está configurado, lee las siguientes variables de entorno:
| Variable | Requerida | Significado |
|---|---|---|
WP_URL | sí | URL base del sitio WordPress objetivo. |
WP_USER | sí | Nombre de usuario de WordPress (propietario de la Application Password). |
WP_APP_PASSWORD | sí | Application Password de WordPress (autenticación HTTP Basic). |
MCP_TRANSPORT | no | stdio (predeterminado) o http (Streamable HTTP). |
ULTRA_TOOLS | no | Perfil de herramientas lean (predeterminado) o full. |
El enlace de transporte real + el registro de herramientas son añadidos por WP-T01 en
packages/server/src/server.ts. El binario (index.ts)import()perezosamente./server.jse imprime "server core not yet wired" hasta que ese módulo exista — así que el binario compila y arranca de forma independiente en este scaffold.
Sitio WordPress local de desarrollo (wp-env)
El sitio de desarrollo usa @wordpress/env y fija
Elementor 4.1.1 + Elementor Pro 4.1.0 exactamente mediante zips de plugin locales (no el slug
de wp.org, que trae la última versión y no aloja Pro en absoluto).
Dónde viven los zips del plugin (y dónde debe colocarse Pro)
.wp-env.json referencia dos zips locales bajo .wp-env-plugins/ (un directorio gitignored):
.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)
Estos zips no están commiteados (son binarios con licencia y están en gitignore). Después de un clonado fresco debes colocarlos tú mismo:
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
Los nombres de archivo exactos anteriores deben coincidir con las rutas en .wp-env.json.
Iniciar / detener
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 también monta ./plugin/elementor-ultra-mcp como plugin. El contenido de ese directorio
(el bootstrap, composer.json, phpcs.xml.dist, readme.txt y includes/) es creado por
WP-P01; una vez que estén, el plugin compañero se puede activar en el sitio wp-env. La configuración de
Composer/PHPCS del propio plugin también es proporcionada por WP-P01.
Estructura del 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)
Pin del MCP SDK (BLOQUEADO)
packages/server fija @modelcontextprotocol/sdk ^1.29 con zod como peer requerido.
Nunca añadas ningún paquete 2.x de @modelcontextprotocol/* — en 1.x, inputSchema/outputSchema son
mapas ZodRawShape y los transportes son imports profundos de .js. CI protege contra la aparición de una dependencia 2.x
en el lockfile (WP-F07).