@elementor/elementor-v3-mcp 4.1.0-838 → 4.1.0-beta1
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.js
CHANGED
|
@@ -36,6 +36,74 @@ var import_editor_mcp = require("@elementor/editor-mcp");
|
|
|
36
36
|
var import_elementor_mcp_common = require("@elementor/elementor-mcp-common");
|
|
37
37
|
var import_mcp2 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
38
38
|
|
|
39
|
+
// src/mcp-description-resource.ts
|
|
40
|
+
var V3_DESCRIPTION_URI = "elementor://elementor/server-description";
|
|
41
|
+
var V3_DESCRIPTION = `## Elementor Page Builder
|
|
42
|
+
|
|
43
|
+
### Capabilities:
|
|
44
|
+
**Page Management:**
|
|
45
|
+
- Manage page settings, saving and routing pages
|
|
46
|
+
- Control the editor UI, including switching between desktop, tablet, and mobile views
|
|
47
|
+
|
|
48
|
+
**Global Styles:**
|
|
49
|
+
- Work with global styles, helping manage shared design settings like colors and fonts across the site
|
|
50
|
+
|
|
51
|
+
**AI-Powered Content Creation:**
|
|
52
|
+
- Generate and edit text and insert it into the page
|
|
53
|
+
- Generate images and place them on the canvas
|
|
54
|
+
|
|
55
|
+
**Custom Styling & Code:**
|
|
56
|
+
- Apply custom CSS to elements
|
|
57
|
+
- Generate supported code snippets
|
|
58
|
+
|
|
59
|
+
### Limitations:
|
|
60
|
+
**Element Management (Not Supported):**
|
|
61
|
+
- Cannot create or edit individual Elementor elements such as widgets or containers
|
|
62
|
+
- Cannot build page layouts or create containers
|
|
63
|
+
- Cannot modify widget-level settings
|
|
64
|
+
- Cannot apply motion effects
|
|
65
|
+
- Cannot reorder sections or perform detailed canvas-level edits
|
|
66
|
+
- Cannot create fully designed or polished pages
|
|
67
|
+
- Cannot fully resolve responsiveness issues
|
|
68
|
+
- Support for these editor-level capabilities is planned for Editor V4
|
|
69
|
+
|
|
70
|
+
**Theme Builder:**
|
|
71
|
+
- Cannot create or manage Theme Builder templates, including headers, footers, single posts, archives, products, loop items, or 404 pages
|
|
72
|
+
- Cannot set display conditions for templates
|
|
73
|
+
- Cannot configure popup triggers and advanced rules
|
|
74
|
+
|
|
75
|
+
**System Settings:**
|
|
76
|
+
- Cannot change Elementor system-level settings
|
|
77
|
+
- Cannot activate or work with Editor V4
|
|
78
|
+
- Cannot manage form submissions
|
|
79
|
+
- Cannot add custom fonts or icons
|
|
80
|
+
- Cannot manage user roles
|
|
81
|
+
- Cannot roll back Elementor versions
|
|
82
|
+
- Cannot place the site in maintenance mode
|
|
83
|
+
- Cannot export the website
|
|
84
|
+
- Cannot apply full website templates
|
|
85
|
+
|
|
86
|
+
**Code & Widgets:**
|
|
87
|
+
- Cannot register PHP code or create new custom widgets, though Angie may provide guidance, code snippets, or plugin suggestions where helpful
|
|
88
|
+
|
|
89
|
+
**Note**: While page names can include terms like "header" or "footer", these won't function as actual theme parts without Theme Builder access.
|
|
90
|
+
|
|
91
|
+
**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.`;
|
|
92
|
+
function addV3DescriptionResource(server) {
|
|
93
|
+
server.registerResource(
|
|
94
|
+
"elementor-v3-server-description",
|
|
95
|
+
V3_DESCRIPTION_URI,
|
|
96
|
+
{
|
|
97
|
+
title: "Elementor V3 Server Description",
|
|
98
|
+
description: "Elementor V3 MCP capabilities and limitations",
|
|
99
|
+
mimeType: "text/plain"
|
|
100
|
+
},
|
|
101
|
+
async (uri) => ({
|
|
102
|
+
contents: [{ uri: uri.href, mimeType: "text/plain", text: V3_DESCRIPTION }]
|
|
103
|
+
})
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
|
|
39
107
|
// src/resources.ts
|
|
40
108
|
var import_mcp = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
41
109
|
|
|
@@ -270,6 +338,14 @@ function addAiTool(server) {
|
|
|
270
338
|
},
|
|
271
339
|
annotations: {
|
|
272
340
|
title: "Manage AI Integration"
|
|
341
|
+
},
|
|
342
|
+
_meta: {
|
|
343
|
+
"angie/requiredResources": [
|
|
344
|
+
{
|
|
345
|
+
uri: V3_DESCRIPTION_URI,
|
|
346
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
347
|
+
}
|
|
348
|
+
]
|
|
273
349
|
}
|
|
274
350
|
},
|
|
275
351
|
async (params) => {
|
|
@@ -354,6 +430,14 @@ function addDynamicTool(server) {
|
|
|
354
430
|
},
|
|
355
431
|
annotations: {
|
|
356
432
|
title: "Manage Dynamic Content"
|
|
433
|
+
},
|
|
434
|
+
_meta: {
|
|
435
|
+
"angie/requiredResources": [
|
|
436
|
+
{
|
|
437
|
+
uri: V3_DESCRIPTION_URI,
|
|
438
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
439
|
+
}
|
|
440
|
+
]
|
|
357
441
|
}
|
|
358
442
|
},
|
|
359
443
|
async (params) => {
|
|
@@ -513,12 +597,7 @@ function addPageTool(server) {
|
|
|
513
597
|
server.registerTool(
|
|
514
598
|
"page",
|
|
515
599
|
{
|
|
516
|
-
description: `Manage page and document operations
|
|
517
|
-
- Undo or redo changes (history-undo, history-redo, history-undo-all) - Use these when user asks to undo, revert, or redo recent changes
|
|
518
|
-
- Save page changes (save-draft, save-publish, save-update, save-discard)
|
|
519
|
-
- Get or update page settings like page title, description, keywords, styling (get-settings, update-settings)
|
|
520
|
-
- Open or preview pages (open, preview)
|
|
521
|
-
This tool handles document-level operations and change history.`,
|
|
600
|
+
description: `Manage page and document operations: history, save, settings, and open/preview.`,
|
|
522
601
|
inputSchema: {
|
|
523
602
|
action: import_schema3.z.enum([
|
|
524
603
|
"save-draft",
|
|
@@ -544,7 +623,11 @@ function addPageTool(server) {
|
|
|
544
623
|
title: "Manage Page"
|
|
545
624
|
},
|
|
546
625
|
_meta: {
|
|
547
|
-
"angie
|
|
626
|
+
"angie/requiredResources": [
|
|
627
|
+
{
|
|
628
|
+
uri: V3_DESCRIPTION_URI,
|
|
629
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
630
|
+
},
|
|
548
631
|
{
|
|
549
632
|
uri: RESOURCE_URI_PAGE_SETTINGS,
|
|
550
633
|
whenToUse: "When updating page settings (action=update-settings) to understand the page schema, available settings, their allowed values, and current page configuration"
|
|
@@ -725,6 +808,14 @@ function addRoutesTool(server) {
|
|
|
725
808
|
},
|
|
726
809
|
annotations: {
|
|
727
810
|
title: "Manage Routes"
|
|
811
|
+
},
|
|
812
|
+
_meta: {
|
|
813
|
+
"angie/requiredResources": [
|
|
814
|
+
{
|
|
815
|
+
uri: V3_DESCRIPTION_URI,
|
|
816
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
817
|
+
}
|
|
818
|
+
]
|
|
728
819
|
}
|
|
729
820
|
},
|
|
730
821
|
async (params) => {
|
|
@@ -814,28 +905,10 @@ function addStylingTool(server) {
|
|
|
814
905
|
server.registerTool(
|
|
815
906
|
"styling",
|
|
816
907
|
{
|
|
817
|
-
description: `
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
-
|
|
821
|
-
- Complex animations with custom keyframes or CSS transitions
|
|
822
|
-
- Styling that requires media queries or complex CSS rules
|
|
823
|
-
- Click-triggered effects or other non-motion triggers
|
|
824
|
-
- Custom hover effects that don't involve motion (color changes, opacity, etc.)
|
|
825
|
-
|
|
826
|
-
**When NOT to use this tool:**
|
|
827
|
-
- Basic styling achievable through Elementor settings (colors, typography, spacing, borders, simple hover effects) -> use the elementor__elements with "update-settings" action.
|
|
828
|
-
|
|
829
|
-
**Do NOT use this tool if the user mentions motion effects with supported triggers:**
|
|
830
|
-
- "on hover" with motion (movement, rotation, scaling) \u2192 use motion-effects tool
|
|
831
|
-
- "on scroll" with motion effects \u2192 use motion-effects tool
|
|
832
|
-
- "mouse move" / "follow mouse" \u2192 use motion-effects tool
|
|
833
|
-
- "entrance" / "fade in" / "slide in" animations \u2192 use motion-effects tool
|
|
834
|
-
|
|
835
|
-
**Actions available:**
|
|
836
|
-
- **custom-css**: Generate and apply AI-powered custom CSS to elements
|
|
837
|
-
|
|
838
|
-
This tool generates CSS code using AI, provides preview functionality, and handles user approval workflow for applying custom styles.`,
|
|
908
|
+
description: `Apply custom CSS to legacy/V3 elements.
|
|
909
|
+
- Do NOT use for V4 elements \u2014 V4 has its own MCP and tools.
|
|
910
|
+
- Do NOT use for animations or motion \u2014 use the interactions tools.
|
|
911
|
+
- Do NOT use for basic styling \u2014 V3 elements support basic styling via the V3 settings tool.`,
|
|
839
912
|
inputSchema: {
|
|
840
913
|
action: import_schema5.z.enum(["custom-css"]).describe(
|
|
841
914
|
"The styling operation to perform. Currently supports custom-css for AI-generated CSS styling."
|
|
@@ -849,6 +922,14 @@ This tool generates CSS code using AI, provides preview functionality, and handl
|
|
|
849
922
|
},
|
|
850
923
|
annotations: {
|
|
851
924
|
title: "Apply Custom Styling"
|
|
925
|
+
},
|
|
926
|
+
_meta: {
|
|
927
|
+
"angie/requiredResources": [
|
|
928
|
+
{
|
|
929
|
+
uri: V3_DESCRIPTION_URI,
|
|
930
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
931
|
+
}
|
|
932
|
+
]
|
|
852
933
|
}
|
|
853
934
|
},
|
|
854
935
|
async (params) => {
|
|
@@ -942,6 +1023,14 @@ function addUiTool(server) {
|
|
|
942
1023
|
},
|
|
943
1024
|
annotations: {
|
|
944
1025
|
title: "Manage UI"
|
|
1026
|
+
},
|
|
1027
|
+
_meta: {
|
|
1028
|
+
"angie/requiredResources": [
|
|
1029
|
+
{
|
|
1030
|
+
uri: V3_DESCRIPTION_URI,
|
|
1031
|
+
whenToUse: "Read to understand Elementor capabilities and limitations before using this tool."
|
|
1032
|
+
}
|
|
1033
|
+
]
|
|
945
1034
|
}
|
|
946
1035
|
},
|
|
947
1036
|
async (params) => {
|
|
@@ -997,57 +1086,6 @@ async function handleUiPaste(params) {
|
|
|
997
1086
|
}
|
|
998
1087
|
|
|
999
1088
|
// src/elementor-mcp-server.ts
|
|
1000
|
-
var SERVER_INSTRUCTIONS = `## Elementor Page Builder
|
|
1001
|
-
|
|
1002
|
-
### Capabilities:
|
|
1003
|
-
**Page Management:**
|
|
1004
|
-
- Manage page settings, saving and routing pages
|
|
1005
|
-
- Control the editor UI, including switching between desktop, tablet, and mobile views
|
|
1006
|
-
|
|
1007
|
-
**Global Styles:**
|
|
1008
|
-
- Work with global styles, helping manage shared design settings like colors and fonts across the site
|
|
1009
|
-
|
|
1010
|
-
**AI-Powered Content Creation:**
|
|
1011
|
-
- Generate and edit text and insert it into the page
|
|
1012
|
-
- Generate images and place them on the canvas
|
|
1013
|
-
|
|
1014
|
-
**Custom Styling & Code:**
|
|
1015
|
-
- Apply custom CSS to elements
|
|
1016
|
-
- Generate supported code snippets
|
|
1017
|
-
|
|
1018
|
-
### Limitations:
|
|
1019
|
-
**Element Management (Not Supported):**
|
|
1020
|
-
- Cannot create or edit individual Elementor elements such as widgets or containers
|
|
1021
|
-
- Cannot build page layouts or create containers
|
|
1022
|
-
- Cannot modify widget-level settings
|
|
1023
|
-
- Cannot apply motion effects
|
|
1024
|
-
- Cannot reorder sections or perform detailed canvas-level edits
|
|
1025
|
-
- Cannot create fully designed or polished pages
|
|
1026
|
-
- Cannot fully resolve responsiveness issues
|
|
1027
|
-
- Support for these editor-level capabilities is planned for Editor V4
|
|
1028
|
-
|
|
1029
|
-
**Theme Builder:**
|
|
1030
|
-
- Cannot create or manage Theme Builder templates, including headers, footers, single posts, archives, products, loop items, or 404 pages
|
|
1031
|
-
- Cannot set display conditions for templates
|
|
1032
|
-
- Cannot configure popup triggers and advanced rules
|
|
1033
|
-
|
|
1034
|
-
**System Settings:**
|
|
1035
|
-
- Cannot change Elementor system-level settings
|
|
1036
|
-
- Cannot activate or work with Editor V4
|
|
1037
|
-
- Cannot manage form submissions
|
|
1038
|
-
- Cannot add custom fonts or icons
|
|
1039
|
-
- Cannot manage user roles
|
|
1040
|
-
- Cannot roll back Elementor versions
|
|
1041
|
-
- Cannot place the site in maintenance mode
|
|
1042
|
-
- Cannot export the website
|
|
1043
|
-
- Cannot apply full website templates
|
|
1044
|
-
|
|
1045
|
-
**Code & Widgets:**
|
|
1046
|
-
- Cannot register PHP code or create new custom widgets, though Angie may provide guidance, code snippets, or plugin suggestions where helpful
|
|
1047
|
-
|
|
1048
|
-
**Note**: While page names can include terms like "header" or "footer", these won't function as actual theme parts without Theme Builder access.
|
|
1049
|
-
|
|
1050
|
-
**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.`;
|
|
1051
1089
|
var VERSION = "2.0.0";
|
|
1052
1090
|
async function createElementorServer() {
|
|
1053
1091
|
await (0, import_elementor_mcp_common.waitForElementorEditor)();
|
|
@@ -1058,7 +1096,7 @@ async function createElementorServer() {
|
|
|
1058
1096
|
title: "Elementor"
|
|
1059
1097
|
},
|
|
1060
1098
|
{
|
|
1061
|
-
instructions:
|
|
1099
|
+
instructions: `Controls the Elementor editor: page settings, UI, global styles, AI content, and custom CSS.`,
|
|
1062
1100
|
capabilities: {
|
|
1063
1101
|
resources: {
|
|
1064
1102
|
subscribe: true
|
|
@@ -1066,6 +1104,7 @@ async function createElementorServer() {
|
|
|
1066
1104
|
}
|
|
1067
1105
|
}
|
|
1068
1106
|
);
|
|
1107
|
+
addV3DescriptionResource(server);
|
|
1069
1108
|
addElementorResources(server);
|
|
1070
1109
|
addPageTool(server);
|
|
1071
1110
|
addUiTool(server);
|
|
@@ -1075,7 +1114,7 @@ async function createElementorServer() {
|
|
|
1075
1114
|
addStylingTool(server);
|
|
1076
1115
|
const sdk = (0, import_editor_mcp.getAngieSdk)();
|
|
1077
1116
|
await sdk.waitForReady();
|
|
1078
|
-
sdk.registerLocalServer({ server, version: VERSION, description:
|
|
1117
|
+
sdk.registerLocalServer({ server, version: VERSION, description: V3_DESCRIPTION, name: "Elementor" });
|
|
1079
1118
|
return server;
|
|
1080
1119
|
}
|
|
1081
1120
|
|