Elementor Ultra

官方

使用AI代理構建Elementor網站 — 約90個工具,透過REST原生建立可編輯的Elementor V4頁面,具備驗證、備份、回滾及型別化JSX編譯器。MIT授權。

你可以用 Elementor Ultra MCP 做什麼?

  • List pages — 要求列出所有 Elementor 頁面及其結構,透過 elementor.page.* 工具。
  • Build a page — 要求從版面配置建立新的 Elementor 頁面,具備伺服器端驗證與備份。
  • Convert HTML — 要求使用 HTML→Elementor 轉換器,將 HTML 片段轉換為 Elementor 元素樹。
  • Refactor live site — 要求修改即時網站上的小工具、設計或範本,具備自動備份與復原功能。
  • Dry-run validation — 要求驗證提議的元素樹而不儲存,以原子方式捕捉錯誤。

文件

Elementor Ultra MCP

AI 代理的 Elementor 控制面。 一個 Model Context Protocol 伺服器 + 配套的 WordPress 外掛,讓 AI 代理能像工程師交付軟體一樣讀取、建置、重構並治理真實的 Elementor 網站 — 以 Editor V4 原子元素優先,V3 經典模式為後備 — 每次寫入都經過權威的伺服器端 驗證、差異比對、備份與回滾。

  • packages/server — TypeScript MCP 伺服器:91 個工具elementor.page.*widgetdesigntemplatesmedianavpro.*、HTML→Elementor 轉換), stdio + HTTP 傳輸,精簡/完整工具設定檔。
  • plugin/elementor-ultra-mcp — WordPress 外掛,暴露權威的 REST 接縫 (/wp-json/elementor-ultra/v1/*):每次寫入都透過 Elementor 自身的 Document::save(),並帶有備份快照、樂觀並行(base_hash)、 冪等性(op_id)重播、權威驗證器,以及強制的 CSS 預先處理。
  • packages/shared — 凍結的契約表面:REST 路由註冊表、錯誤分類、 JSON-schema 鏡像、黃金測試夾具。與 spec/contracts/schemas 位元組一致(CI 守護)。
  • spec/ — 完整的工程記錄:契約、技術驗證結論,以及系統所依據的工作包。

elementor-jsx 搭配 — 這是 JSX→Elementor 編譯器,其部署透過此外掛的 REST 接縫進行。

快速入門(與代理一起使用)

  1. 在你的 WordPress 網站上安裝配套外掛(從 Releases 取得 zip;需要 Elementor ≥ 4.1)並建立應用程式密碼。
  2. 將伺服器接入你的 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. 請你的代理列出頁面、試跑一棵樹、建置一個頁面。每次變更都會在儲存前 由 Elementor 自身的解析器在伺服器端驗證;無效的樹會以分類錯誤碼 原子性地被拒絕。

授權

  • TypeScript 套件(packages/*):MIT © 2026 Algorismus
  • WordPress 外掛(plugin/elementor-ultra-mcp):GPL-2.0-or-later(WordPress 慣例)

與 Elementor Ltd 無關聯或未獲其背書 —「Elementor」是他們的商標;這是一個 針對其頁面格式的獨立整合。


前置需求

工具版本備註
Node.js≥ 20 LTS.nvmrc 固定 20engine-strict=true 被強制執行。
pnpm9.x套件管理器;lockfile 已提交。
Docker執行中@wordpress/env(wp-env)開發用 WP 網站所需。
PHP≥ 7.4 (容器內)由 wp-env Docker 容器提供 — 主機不需要 PHP。
Composer(容器內)外掛的 Composer/PHPCS 設定由 WP-P01 提供。

不需要在主機上安裝 PHP 或 Composer;PHP 工具鏈在 wp-env 容器內執行。


安裝與建置

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

執行伺服器 bin(尚未接線工具)

pnpm build 之後,伺服器 bin 位於 packages/server/dist/index.js未設定任何環境變數時,它會 印出明確訊息並乾淨退出(退出碼 0):

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

設定完成後,它會讀取以下環境變數:

變數必填意義
WP_URL目標 WordPress 網站的基礎 URL。
WP_USERWordPress 使用者名稱(應用程式密碼擁有者)。
WP_APP_PASSWORDWordPress 應用程式密碼(HTTP Basic 認證)。
MCP_TRANSPORTstdio(預設)或 http(Streamable HTTP)。
ULTRA_TOOLSlean(預設)或 full 工具設定檔。

實際的傳輸綁定 + 工具註冊表由 WP-T01packages/server/src/server.ts 中加入。 bin(index.ts)會延遲 import() ./server.js,並印出 "server core not yet wired",直到 該模組存在 — 因此 bin 能在這個脚手架中獨立編譯並啟動。


本機 WordPress 開發網站(wp-env)

開發網站使用 @wordpress/env 並透過本機外掛 zip(而非 wp.org slug,後者會拉取最新版本且完全不提供 Pro)精確固定 Elementor 4.1.1 + Elementor Pro 4.1.0

外掛 zip 的位置(以及 Pro 必須放置的位置)

.wp-env.json 引用 .wp-env-plugins/(一個被 gitignore 的目錄)下的兩個本機 zip:

.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 不會被提交(它們是授權的二進位檔且被 gitignore)。全新 clone 後 你必須自行放置它們:

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

上述確切檔名必須與 .wp-env.json 中的路徑相符。

啟動 / 停止

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 也將 ./plugin/elementor-ultra-mcp 掛載為外掛。該目錄的內容 (bootstrap、composer.jsonphpcs.xml.distreadme.txtincludes/)由 WP-P01 建立;一旦就緒,配套外掛即可在 wp-env 網站中啟用。外掛自身的 Composer/PHPCS 設定也由 WP-P01 提供。


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)

MCP SDK 固定版本(鎖定)

packages/server 固定 @modelcontextprotocol/sdk ^1.29,並以 zod 作為必需的 peer。 絕不要加入任何 @modelcontextprotocol/* 2.x 套件 — 在 1.x 中,inputSchema/outputSchemaZodRawShape maps,傳輸是深層的 .js 匯入。CI 會防止 lockfile 中出現 2.x 依賴 (WP-F07)。