@elementor/elementor-v3-mcp 4.2.0-840 → 4.2.0-842
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +121 -82
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +121 -82
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/elementor-mcp-server.ts +4 -54
- package/src/mcp-description-resource.ts +70 -0
- package/src/tools/ai-tool.ts +9 -0
- package/src/tools/dynamic-tool.ts +9 -0
- package/src/tools/page-tool.ts +7 -7
- package/src/tools/routes-tool.ts +9 -0
- package/src/tools/styling-tool.ts +13 -22
- package/src/tools/ui-tool.ts +9 -0
package/dist/index.mjs
CHANGED
|
@@ -3,6 +3,74 @@ import { getAngieSdk } from "@elementor/editor-mcp";
|
|
|
3
3
|
import { waitForElementorEditor } from "@elementor/elementor-mcp-common";
|
|
4
4
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
5
|
|
|
6
|
+
// src/mcp-description-resource.ts
|
|
7
|
+
var V3_DESCRIPTION_URI = "elementor://elementor/server-description";
|
|
8
|
+
var V3_DESCRIPTION = `## Elementor Page Builder
|
|
9
|
+
|
|
10
|
+
### Capabilities:
|
|
11
|
+
**Page Management:**
|
|
12
|
+
- Manage page settings, saving and routing pages
|
|
13
|
+
- Control the editor UI, including switching between desktop, tablet, and mobile views
|
|
14
|
+
|
|
15
|
+
**Global Styles:**
|
|
16
|
+
- Work with global styles, helping manage shared design settings like colors and fonts across the site
|
|
17
|
+
|
|
18
|
+
**AI-Powered Content Creation:**
|
|
19
|
+
- Generate and edit text and insert it into the page
|
|
20
|
+
- Generate images and place them on the canvas
|
|
21
|
+
|
|
22
|
+
**Custom Styling & Code:**
|
|
23
|
+
- Apply custom CSS to elements
|
|
24
|
+
- Generate supported code snippets
|
|
25
|
+
|
|
26
|
+
### Limitations:
|
|
27
|
+
**Element Management (Not Supported):**
|
|
28
|
+
- Cannot create or edit individual Elementor elements such as widgets or containers
|
|
29
|
+
- Cannot build page layouts or create containers
|
|
30
|
+
- Cannot modify widget-level settings
|
|
31
|
+
- Cannot apply motion effects
|
|
32
|
+
- Cannot reorder sections or perform detailed canvas-level edits
|
|
33
|
+
- Cannot create fully designed or polished pages
|
|
34
|
+
- Cannot fully resolve responsiveness issues
|
|
35
|
+
- Support for these editor-level capabilities is planned for Editor V4
|
|
36
|
+
|
|
37
|
+
**Theme Builder:**
|
|
38
|
+
- Cannot create or manage Theme Builder templates, including headers, footers, single posts, archives, products, loop items, or 404 pages
|
|
39
|
+
- Cannot set display conditions for templates
|
|
40
|
+
- Cannot configure popup triggers and advanced rules
|
|
41
|
+
|
|
42
|
+
**System Settings:**
|
|
43
|
+
- Cannot change Elementor system-level settings
|
|
44
|
+
- Cannot activate or work with Editor V4
|
|
45
|
+
- Cannot manage form submissions
|
|
46
|
+
- Cannot add custom fonts or icons
|
|
47
|
+
- Cannot manage user roles
|
|
48
|
+
- Cannot roll back Elementor versions
|
|
49
|
+
- Cannot place the site in maintenance mode
|
|
50
|
+
- Cannot export the website
|
|
51
|
+
- Cannot apply full website templates
|
|
52
|
+
|
|
53
|
+
**Code & Widgets:**
|
|
54
|
+
- Cannot register PHP code or create new custom widgets, though Angie may provide guidance, code snippets, or plugin suggestions where helpful
|
|
55
|
+
|
|
56
|
+
**Note**: While page names can include terms like "header" or "footer", these won't function as actual theme parts without Theme Builder access.
|
|
57
|
+
|
|
58
|
+
**Important**: When users ask "What can Angie do?" or similar questions about Angie's general capabilities, use the \`what-can-angie-do\` tool from the knowledge MCP server instead of generating your own response.`;
|
|
59
|
+
function addV3DescriptionResource(server) {
|
|
60
|
+
server.registerResource(
|
|
61
|
+
"elementor-v3-server-description",
|
|
62
|
+
V3_DESCRIPTION_URI,
|
|
63
|
+
{
|
|
64
|
+
title: "Elementor V3 Server Description",
|
|
65
|
+
description: "Elementor V3 MCP capabilities and limitations",
|
|
66
|
+
mimeType: "text/plain"
|
|
67
|
+
},
|
|
68
|
+
async (uri) => ({
|
|
69
|
+
contents: [{ uri: uri.href, mimeType: "text/plain", text: V3_DESCRIPTION }]
|
|
70
|
+
})
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
6
74
|
// src/resources.ts
|
|
7
75
|
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
8
76
|
|
|
@@ -237,6 +305,14 @@ function addAiTool(server) {
|
|
|
237
305
|
},
|
|
238
306
|
annotations: {
|
|
239
307
|
title: "Manage AI Integration"
|
|
308
|
+
},
|
|
309
|
+
_meta: {
|
|
310
|
+
"angie/requiredResources": [
|
|
311
|
+
{
|
|
312
|
+
uri: V3_DESCRIPTION_URI,
|
|
313
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
314
|
+
}
|
|
315
|
+
]
|
|
240
316
|
}
|
|
241
317
|
},
|
|
242
318
|
async (params) => {
|
|
@@ -321,6 +397,14 @@ function addDynamicTool(server) {
|
|
|
321
397
|
},
|
|
322
398
|
annotations: {
|
|
323
399
|
title: "Manage Dynamic Content"
|
|
400
|
+
},
|
|
401
|
+
_meta: {
|
|
402
|
+
"angie/requiredResources": [
|
|
403
|
+
{
|
|
404
|
+
uri: V3_DESCRIPTION_URI,
|
|
405
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
406
|
+
}
|
|
407
|
+
]
|
|
324
408
|
}
|
|
325
409
|
},
|
|
326
410
|
async (params) => {
|
|
@@ -480,12 +564,7 @@ function addPageTool(server) {
|
|
|
480
564
|
server.registerTool(
|
|
481
565
|
"page",
|
|
482
566
|
{
|
|
483
|
-
description: `Manage page and document operations
|
|
484
|
-
- Undo or redo changes (history-undo, history-redo, history-undo-all) - Use these when user asks to undo, revert, or redo recent changes
|
|
485
|
-
- Save page changes (save-draft, save-publish, save-update, save-discard)
|
|
486
|
-
- Get or update page settings like page title, description, keywords, styling (get-settings, update-settings)
|
|
487
|
-
- Open or preview pages (open, preview)
|
|
488
|
-
This tool handles document-level operations and change history.`,
|
|
567
|
+
description: `Manage page and document operations: history, save, settings, and open/preview.`,
|
|
489
568
|
inputSchema: {
|
|
490
569
|
action: z3.enum([
|
|
491
570
|
"save-draft",
|
|
@@ -511,7 +590,11 @@ function addPageTool(server) {
|
|
|
511
590
|
title: "Manage Page"
|
|
512
591
|
},
|
|
513
592
|
_meta: {
|
|
514
|
-
"angie
|
|
593
|
+
"angie/requiredResources": [
|
|
594
|
+
{
|
|
595
|
+
uri: V3_DESCRIPTION_URI,
|
|
596
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
597
|
+
},
|
|
515
598
|
{
|
|
516
599
|
uri: RESOURCE_URI_PAGE_SETTINGS,
|
|
517
600
|
whenToUse: "When updating page settings (action=update-settings) to understand the page schema, available settings, their allowed values, and current page configuration"
|
|
@@ -692,6 +775,14 @@ function addRoutesTool(server) {
|
|
|
692
775
|
},
|
|
693
776
|
annotations: {
|
|
694
777
|
title: "Manage Routes"
|
|
778
|
+
},
|
|
779
|
+
_meta: {
|
|
780
|
+
"angie/requiredResources": [
|
|
781
|
+
{
|
|
782
|
+
uri: V3_DESCRIPTION_URI,
|
|
783
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
784
|
+
}
|
|
785
|
+
]
|
|
695
786
|
}
|
|
696
787
|
},
|
|
697
788
|
async (params) => {
|
|
@@ -781,28 +872,10 @@ function addStylingTool(server) {
|
|
|
781
872
|
server.registerTool(
|
|
782
873
|
"styling",
|
|
783
874
|
{
|
|
784
|
-
description: `
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
-
|
|
788
|
-
- Complex animations with custom keyframes or CSS transitions
|
|
789
|
-
- Styling that requires media queries or complex CSS rules
|
|
790
|
-
- Click-triggered effects or other non-motion triggers
|
|
791
|
-
- Custom hover effects that don't involve motion (color changes, opacity, etc.)
|
|
792
|
-
|
|
793
|
-
**When NOT to use this tool:**
|
|
794
|
-
- Basic styling achievable through Elementor settings (colors, typography, spacing, borders, simple hover effects) -> use the elementor__elements with "update-settings" action.
|
|
795
|
-
|
|
796
|
-
**Do NOT use this tool if the user mentions motion effects with supported triggers:**
|
|
797
|
-
- "on hover" with motion (movement, rotation, scaling) \u2192 use motion-effects tool
|
|
798
|
-
- "on scroll" with motion effects \u2192 use motion-effects tool
|
|
799
|
-
- "mouse move" / "follow mouse" \u2192 use motion-effects tool
|
|
800
|
-
- "entrance" / "fade in" / "slide in" animations \u2192 use motion-effects tool
|
|
801
|
-
|
|
802
|
-
**Actions available:**
|
|
803
|
-
- **custom-css**: Generate and apply AI-powered custom CSS to elements
|
|
804
|
-
|
|
805
|
-
This tool generates CSS code using AI, provides preview functionality, and handles user approval workflow for applying custom styles.`,
|
|
875
|
+
description: `Apply custom CSS to legacy/V3 elements.
|
|
876
|
+
- Do NOT use for V4 elements \u2014 V4 has its own MCP and tools.
|
|
877
|
+
- Do NOT use for animations or motion \u2014 use the interactions tools.
|
|
878
|
+
- Do NOT use for basic styling \u2014 V3 elements support basic styling via the V3 settings tool.`,
|
|
806
879
|
inputSchema: {
|
|
807
880
|
action: z5.enum(["custom-css"]).describe(
|
|
808
881
|
"The styling operation to perform. Currently supports custom-css for AI-generated CSS styling."
|
|
@@ -816,6 +889,14 @@ This tool generates CSS code using AI, provides preview functionality, and handl
|
|
|
816
889
|
},
|
|
817
890
|
annotations: {
|
|
818
891
|
title: "Apply Custom Styling"
|
|
892
|
+
},
|
|
893
|
+
_meta: {
|
|
894
|
+
"angie/requiredResources": [
|
|
895
|
+
{
|
|
896
|
+
uri: V3_DESCRIPTION_URI,
|
|
897
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
898
|
+
}
|
|
899
|
+
]
|
|
819
900
|
}
|
|
820
901
|
},
|
|
821
902
|
async (params) => {
|
|
@@ -909,6 +990,14 @@ function addUiTool(server) {
|
|
|
909
990
|
},
|
|
910
991
|
annotations: {
|
|
911
992
|
title: "Manage UI"
|
|
993
|
+
},
|
|
994
|
+
_meta: {
|
|
995
|
+
"angie/requiredResources": [
|
|
996
|
+
{
|
|
997
|
+
uri: V3_DESCRIPTION_URI,
|
|
998
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
999
|
+
}
|
|
1000
|
+
]
|
|
912
1001
|
}
|
|
913
1002
|
},
|
|
914
1003
|
async (params) => {
|
|
@@ -964,57 +1053,6 @@ async function handleUiPaste(params) {
|
|
|
964
1053
|
}
|
|
965
1054
|
|
|
966
1055
|
// src/elementor-mcp-server.ts
|
|
967
|
-
var SERVER_INSTRUCTIONS = `## Elementor Page Builder
|
|
968
|
-
|
|
969
|
-
### Capabilities:
|
|
970
|
-
**Page Management:**
|
|
971
|
-
- Manage page settings, saving and routing pages
|
|
972
|
-
- Control the editor UI, including switching between desktop, tablet, and mobile views
|
|
973
|
-
|
|
974
|
-
**Global Styles:**
|
|
975
|
-
- Work with global styles, helping manage shared design settings like colors and fonts across the site
|
|
976
|
-
|
|
977
|
-
**AI-Powered Content Creation:**
|
|
978
|
-
- Generate and edit text and insert it into the page
|
|
979
|
-
- Generate images and place them on the canvas
|
|
980
|
-
|
|
981
|
-
**Custom Styling & Code:**
|
|
982
|
-
- Apply custom CSS to elements
|
|
983
|
-
- Generate supported code snippets
|
|
984
|
-
|
|
985
|
-
### Limitations:
|
|
986
|
-
**Element Management (Not Supported):**
|
|
987
|
-
- Cannot create or edit individual Elementor elements such as widgets or containers
|
|
988
|
-
- Cannot build page layouts or create containers
|
|
989
|
-
- Cannot modify widget-level settings
|
|
990
|
-
- Cannot apply motion effects
|
|
991
|
-
- Cannot reorder sections or perform detailed canvas-level edits
|
|
992
|
-
- Cannot create fully designed or polished pages
|
|
993
|
-
- Cannot fully resolve responsiveness issues
|
|
994
|
-
- Support for these editor-level capabilities is planned for Editor V4
|
|
995
|
-
|
|
996
|
-
**Theme Builder:**
|
|
997
|
-
- Cannot create or manage Theme Builder templates, including headers, footers, single posts, archives, products, loop items, or 404 pages
|
|
998
|
-
- Cannot set display conditions for templates
|
|
999
|
-
- Cannot configure popup triggers and advanced rules
|
|
1000
|
-
|
|
1001
|
-
**System Settings:**
|
|
1002
|
-
- Cannot change Elementor system-level settings
|
|
1003
|
-
- Cannot activate or work with Editor V4
|
|
1004
|
-
- Cannot manage form submissions
|
|
1005
|
-
- Cannot add custom fonts or icons
|
|
1006
|
-
- Cannot manage user roles
|
|
1007
|
-
- Cannot roll back Elementor versions
|
|
1008
|
-
- Cannot place the site in maintenance mode
|
|
1009
|
-
- Cannot export the website
|
|
1010
|
-
- Cannot apply full website templates
|
|
1011
|
-
|
|
1012
|
-
**Code & Widgets:**
|
|
1013
|
-
- Cannot register PHP code or create new custom widgets, though Angie may provide guidance, code snippets, or plugin suggestions where helpful
|
|
1014
|
-
|
|
1015
|
-
**Note**: While page names can include terms like "header" or "footer", these won't function as actual theme parts without Theme Builder access.
|
|
1016
|
-
|
|
1017
|
-
**Important**: When users ask "What can Angie do?" or similar questions about Angie's general capabilities, use the \`what-can-angie-do\` tool from the knowledge MCP server instead of generating your own response.`;
|
|
1018
1056
|
var VERSION = "2.0.0";
|
|
1019
1057
|
async function createElementorServer() {
|
|
1020
1058
|
await waitForElementorEditor();
|
|
@@ -1025,7 +1063,7 @@ async function createElementorServer() {
|
|
|
1025
1063
|
title: "Elementor"
|
|
1026
1064
|
},
|
|
1027
1065
|
{
|
|
1028
|
-
instructions:
|
|
1066
|
+
instructions: `Controls the Elementor editor: page settings, UI, global styles, AI content, and custom CSS.`,
|
|
1029
1067
|
capabilities: {
|
|
1030
1068
|
resources: {
|
|
1031
1069
|
subscribe: true
|
|
@@ -1033,6 +1071,7 @@ async function createElementorServer() {
|
|
|
1033
1071
|
}
|
|
1034
1072
|
}
|
|
1035
1073
|
);
|
|
1074
|
+
addV3DescriptionResource(server);
|
|
1036
1075
|
addElementorResources(server);
|
|
1037
1076
|
addPageTool(server);
|
|
1038
1077
|
addUiTool(server);
|
|
@@ -1042,7 +1081,7 @@ async function createElementorServer() {
|
|
|
1042
1081
|
addStylingTool(server);
|
|
1043
1082
|
const sdk = getAngieSdk();
|
|
1044
1083
|
await sdk.waitForReady();
|
|
1045
|
-
sdk.registerLocalServer({ server, version: VERSION, description:
|
|
1084
|
+
sdk.registerLocalServer({ server, version: VERSION, description: V3_DESCRIPTION, name: "Elementor" });
|
|
1046
1085
|
return server;
|
|
1047
1086
|
}
|
|
1048
1087
|
|