Elementor Ultra

公式

AIエージェントでElementorサイトを構築 — ネイティブで編集可能なElementor V4ページ向けの約90ツールをREST経由で提供。検証、バックアップ、ロールバック、型付きJSXコンパイラを備える。MIT。

Elementor Ultra MCPで何ができますか?

  • ページ一覧 — Elementorの全ページとその構造をelementor.page.*ツールで一覧表示するよう依頼します。
  • ページを構築 — レイアウトから新しいElementorページを作成するよう依頼します。サーバーサイド検証とバックアップ付きです。
  • HTMLを変換 — HTMLスニペットをHTML→Elementorコンバーターを使用してElementor要素ツリーに変換するよう依頼します。
  • ライブサイトをリファクタリング — ライブサイト上のウィジェット、デザイン、テンプレートを変更するよう依頼します。自動バックアップとロールバック付きです。
  • ドライラン検証 — 保存せずに提案された要素ツリーを検証し、エラーを原子的に検出するよう依頼します。

ドキュメント

Elementor Ultra MCP

Elementorのためのエージェント制御サーフェス。 AIエージェントがエンジニアがソフトウェアをリリースするのと同じように、実際のElementorサイトを読み取り、構築、リファクタリング、管理できるようにするModel Context Protocolサーバー + コンパニオンWordPressプラグインです。Editor V4のアトミック要素を第一に、V3クラシックをフォールバックとして使用し、すべての書き込みで権威あるサーバーサイド検証、差分、バックアップ、ロールバックを提供します。

  • packages/server — TypeScript MCPサーバー: 91ツールelementor.page.*widgetdesigntemplatesmedianavpro.*、HTML→Elementor変換)、stdio + HTTPトランスポート、リーン/フルツールプロファイル。
  • plugin/elementor-ultra-mcp — 権威あるRESTシーム(/wp-json/elementor-ultra/v1/*)を公開するWordPressプラグイン: すべての書き込みはElementor自身のDocument::save()を通過し、バックアップスナップショット、楽観的並行性制御(base_hash)、冪等性(op_id)リプレイ、権威あるバリデーター、必須のCSSプライミングを備えます。
  • packages/shared — 凍結されたコントラクトサーフェス: RESTルートレジストリ、エラータクソノミ、JSONスキーマミラー、ゴールデンフィクスチャ。spec/contracts/schemasとバイト単位で同一(CIで保護)。
  • spec/ — 完全なエンジニアリング記録: システムが構築されたコントラクト、スパイク判定、ワークパッケージ。

elementor-jsxと連携 — このプラグインのRESTシーム上でデプロイされるJSX→Elementorコンパイラ。

クイックスタート(エージェントで使用)

  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.nvmrc20を固定します。engine-strict=trueが適用されます。
pnpm9.xパッケージマネージャー。ロックファイルはコミット済み。
Docker実行中開発用WPサイトの@wordpress/env(wp-env)に必要。
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に存在します。envが未設定の場合、明確なメッセージを表示してクリーンに終了します(終了コード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_USERはいWordPressユーザー名(アプリケーションパスワード所有者)。
WP_APP_PASSWORDはいWordPress アプリケーションパスワード(HTTP Basic認証)。
MCP_TRANSPORTいいえstdio(デフォルト)またはhttp(Streamable HTTP)。
ULTRA_TOOLSいいえlean(デフォルト)またはfullツールプロファイル。

実際のトランスポートバインディング + ツールレジストリは、packages/server/src/server.tsWP-T01によって追加されます。 bin(index.ts)は、そのモジュールが存在するまで./server.jsを遅延import()し、"server core not yet wired"(サーバーコア未接続)と表示します。そのため、このスキャフォールド上でbinは単体でコンパイルおよび起動できます。


ローカルWordPress開発サイト(wp-env)

開発サイトは@wordpress/envを使用し、ローカルプラグインzipを介してElementor 4.1.1 + Elementor Pro 4.1.0を_正確に_固定します(最新バージョンを取得しProを一切ホストしないwp.orgスラッグではなく)。

プラグインzipの場所(およびProの配置場所)

.wp-env.jsonは**.wp-env-plugins/**(gitignoreされたディレクトリ)配下の2つのローカル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されています)。新規クローン後は自分で配置する必要があります:

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もプラグインとしてマウントします。そのディレクトリの内容(ブートストラップ、composer.jsonphpcs.xml.distreadme.txtincludes/)はWP-P01**によって作成されます。これらが配置されると、wp-envサイトでコンパニオンプラグインを有効化できます。プラグイン独自のComposer/PHPCS設定もWP-P01が提供します。


モノレポ構成

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/serverzodを必須ピアとして**@modelcontextprotocol/sdk ^1.29を固定します。@modelcontextprotocol/*2.xパッケージは絶対に追加しないでください。1.xでは、inputSchema/outputSchemaZodRawShapeマップ**であり、トランスポートは深い.jsインポートです。CIはロックファイルに2.x依存関係が現れないように保護します(WP-F07)。