Elementor Ultra

resmi

Bangun situs Elementor dengan agen AI — sekitar 90 alat untuk halaman Elementor V4 native yang dapat diedit melalui REST, dengan validasi, cadangan, pemulihan, dan kompiler JSX bertipe. MIT.

Apa yang bisa Anda lakukan dengan Elementor Ultra MCP?

  • Daftar halaman — Minta untuk mendaftar semua halaman Elementor beserta strukturnya melalui alat elementor.page.*.
  • Bangun halaman — Minta untuk membuat halaman Elementor baru dari tata letak, dengan validasi sisi server dan cadangan.
  • Konversi HTML — Minta untuk mengonversi cuplikan HTML menjadi pohon elemen Elementor menggunakan konverter HTML→Elementor.
  • Refaktor situs langsung — Minta untuk memodifikasi widget, desain, atau templat di situs langsung, dengan cadangan otomatis dan pemulihan.
  • Validasi uji-coba — Minta untuk memvalidasi pohon elemen yang diusulkan tanpa menyimpan, menangkap kesalahan secara atomik.

Dokumentasi

Elementor Ultra MCP

Permukaan kendali agen untuk Elementor. Server Model Context Protocol + plugin WordPress pendamping yang memungkinkan agen AI membaca, membangun, memfaktorkan ulang, dan mengatur situs Elementor nyata seperti cara insinyur mengirim perangkat lunak — elemen atomik Editor V4 terlebih dahulu, fallback klasik V3 — dengan validasi otoritatif sisi server, diff, cadangan, dan rollback pada setiap penulisan.

  • packages/server — Server MCP TypeScript: 91 alat (elementor.page.*, widget, design, templates, media, nav, pro.*, konversi HTML→Elementor), transport stdio + HTTP, profil alat lean/full.
  • plugin/elementor-ultra-mcp — Plugin WordPress yang mengekspos jahitan REST otoritatif (/wp-json/elementor-ultra/v1/*): setiap penulisan melewati Document::save() milik Elementor sendiri dengan snapshot cadangan, konkurensi optimis (base_hash), idempotensi (op_id) replay, validator otoritatif, dan priming CSS wajib.
  • packages/shared — permukaan kontrak yang dibekukan: registri rute REST, taksonomi kesalahan, cermin JSON-schema, fixture emas. Identik byte dengan spec/contracts/schemas (dijaga CI).
  • spec/ — catatan rekayasa lengkap: kontrak, keputusan spike, dan paket kerja yang menjadi dasar sistem ini dibangun.

Berpasangan dengan elementor-jsx — kompiler JSX→Elementor yang deploy-nya berjalan di atas jahitan REST plugin ini.

Memulai cepat (gunakan dengan agen)

  1. Instal plugin pendamping di situs WordPress Anda (zip dari Releases; memerlukan Elementor ≥ 4.1) dan buat kata sandi aplikasi.
  2. Hubungkan server ke klien MCP Anda (.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. Minta agen Anda untuk mendaftar halaman, dry-run pohon, membangun halaman. Setiap mutasi divalidasi oleh parser Elementor sendiri di sisi server sebelum apa pun disimpan; pohon yang tidak valid ditolak secara atomik dengan kode kesalahan taksonomi.

Lisensi

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

Tidak berafiliasi dengan atau didukung oleh Elementor Ltd — "Elementor" adalah merek dagang mereka; ini adalah integrasi independen yang menargetkan format halaman mereka.


Prasyarat

AlatVersiCatatan
Node.js≥ 20 LTS.nvmrc mengunci 20. engine-strict=true diberlakukan.
pnpm9.xManajer paket; lockfile dikomit.
DockerberjalanDiperlukan oleh @wordpress/env (wp-env) untuk situs WP pengembangan.
PHP≥ 7.4 (dalam kontainer)Disediakan oleh kontainer Docker wp-env — tidak perlu PHP host.
Composer(dalam kontainer)Pengaturan Composer/PHPCS plugin disediakan oleh WP-P01.

Anda tidak perlu PHP atau Composer di host; alat PHP berjalan di dalam kontainer wp-env.


Instal & bangun

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

Menjalankan bin server (belum ada alat yang terhubung)

Setelah pnpm build, bin server ada di packages/server/dist/index.js. Dengan tidak ada env yang diatur, ia mencetak pesan yang jelas dan keluar dengan bersih (kode keluar 0):

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

Saat dikonfigurasi, ia membaca variabel lingkungan berikut:

VariabelDiperlukanArti
WP_URLyaURL dasar situs WordPress target.
WP_USERyaNama pengguna WordPress (pemilik Application-Password).
WP_APP_PASSWORDyaApplication Password WordPress (otentikasi HTTP Basic).
MCP_TRANSPORTtidakstdio (default) atau http (Streamable HTTP).
ULTRA_TOOLStidaklean (default) atau full profil alat.

Pengikatan transport nyata + registri alat ditambahkan oleh WP-T01 di packages/server/src/server.ts. Bin (index.ts) secara malas import()s ./server.js dan mencetak "server core not yet wired" sampai modul itu ada — sehingga bin dapat dikompilasi dan boot secara mandiri pada kerangka ini.


Situs WordPress pengembangan lokal (wp-env)

Situs pengembangan menggunakan @wordpress/env dan mengunci Elementor 4.1.1 + Elementor Pro 4.1.0 secara tepat melalui zip plugin lokal (bukan slug wp.org, yang menarik versi terbaru dan tidak meng-host Pro sama sekali).

Tempat zip plugin berada (dan tempat Pro harus ditempatkan)

.wp-env.json merujuk dua zip lokal di bawah .wp-env-plugins/ (direktori 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)

Zip ini tidak dikomit (zip ini adalah biner berlisensi dan gitignored). Setelah klon baru, Anda harus menempatkannya sendiri:

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

Nama file persis di atas harus cocok dengan jalur di .wp-env.json.

Mulai / hentikan

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 juga memasang ./plugin/elementor-ultra-mcp sebagai plugin. Isi direktori itu (bootstrap, composer.json, phpcs.xml.dist, readme.txt, dan includes/) dibuat oleh WP-P01; setelah itu ada, plugin pendamping dapat diaktifkan di situs wp-env. Konfigurasi Composer/PHPCS plugin itu sendiri juga disediakan oleh WP-P01.


Tata letak 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 SDK MCP (TERKUNCI)

packages/server mengunci @modelcontextprotocol/sdk ^1.29 dengan zod sebagai peer yang diperlukan. Jangan pernah menambahkan paket @modelcontextprotocol/* 2.x — di 1.x, inputSchema/outputSchema adalah peta ZodRawShape dan transport adalah impor .js yang dalam. CI menjaga agar dependensi 2.x tidak muncul di lockfile (WP-F07).