@elementor/elementor-v3-mcp 4.1.0-838 → 4.1.0-beta2

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.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 including undo/redo, saving, page settings, and page information. Use this tool when you need to:
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:required-resources": [
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: `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.
785
-
786
- **When to use this tool:**
787
- - Visual effects: shadows, filters, pseudo-elements, advanced selectors
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: SERVER_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: SERVER_INSTRUCTIONS, name: "Elementor" });
1084
+ sdk.registerLocalServer({ server, version: VERSION, description: V3_DESCRIPTION, name: "Elementor" });
1046
1085
  return server;
1047
1086
  }
1048
1087