@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 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 including undo/redo, saving, page settings, and page information. Use this tool when you need to:
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:required-resources": [
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: `This tool provides AI-powered custom CSS styling for Elementor elements. Use this when users want advanced styling that goes beyond Elementor capabilities and can't be targeted using the element settings.
818
-
819
- **When to use this tool:**
820
- - Visual effects: shadows, filters, pseudo-elements, advanced selectors
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: SERVER_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: SERVER_INSTRUCTIONS, name: "Elementor" });
1117
+ sdk.registerLocalServer({ server, version: VERSION, description: V3_DESCRIPTION, name: "Elementor" });
1079
1118
  return server;
1080
1119
  }
1081
1120