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.*、widget、design、templates、media、nav、pro.*、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コンパイラ。
クイックスタート(エージェントで使用)
- WordPressサイトにコンパニオンプラグインをインストールし(Releasesからzipを取得、Elementor ≥ 4.1が必要)、アプリケーションパスワードを作成します。
- サーバーを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",
},
},
},
}
- エージェントにページ一覧の取得、ツリーのドライラン、ページの構築を依頼します。すべての変更は保存前に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は20を固定します。engine-strict=trueが適用されます。 |
| pnpm | 9.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.tsのWP-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.json、phpcs.xml.dist、readme.txt、includes/)は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/serverはzodを必須ピアとして**@modelcontextprotocol/sdk ^1.29を固定します。@modelcontextprotocol/*の2.xパッケージは絶対に追加しないでください。1.xでは、inputSchema/outputSchemaはZodRawShapeマップ**であり、トランスポートは深い.jsインポートです。CIはロックファイルに2.x依存関係が現れないように保護します(WP-F07)。