Elementor MCP
Allows AI agents to design complete websites and generate import-ready Elementor v4 JSON, enabling seamless integration with the Elementor page builder.
Provides dynamic tags to bind WordPress content (e.g., post-title, featured-image, author) and supports Theme Builder templates with display conditions, allowing integration with WordPress sites.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Elementor MCPdesign a landing page for a coffee shop"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Elementor MCP
An MCP (Model Context Protocol) server that lets AI agents design complete websites and emit import-ready Elementor v4 JSON. The agent makes design decisions; the server guarantees structurally valid output.
Quick start
npm install @smecha10/elementor-mcp
npx elementor-mcpRegister with an MCP client
Claude Desktop - add to claude_desktop_config.json:
{
"mcpServers": {
"elementor": {
"command": "npx",
"args": ["-y", "@smecha10/elementor-mcp"],
"env": { "ELEMENTOR_MCP_OUT": "./output" }
}
}
}HTTP transport:
ELEMENTOR_MCP_TRANSPORT=http ELEMENTOR_MCP_PORT=3001 npx elementor-mcpRelated MCP server: PixelCheck
Features
27 section templates - hero, feature-grid, bento, timeline, portfolio-grid, team-section, countdown, error-404, and more
39 widget types - heading, text, button, image, icon, accordion, form, tabs, pricing, carousel, portfolio, HTML, and more
Dual format output - atomic (default, Elementor v4 $$type) or classic (flat settings, maximum import compatibility)
Motion effects - entrance/hover animations, scroll effects, mouse effects, 3D transforms, sticky, v4 interactions
Dynamic tags - bind WordPress content (post-title, featured-image, author, etc.)
@keyframes injection - CSS keyframe animations in page-level custom_css
Global widgets - reusable widget definitions shared across pages
CSS custom properties - auto-generated from theme tokens, with dark mode support
Popup builder - triggers, entrance/exit animations, timing rules
Theme Builder - header/footer/single/archive templates with display conditions
Brand-driven theme generation - 6 design personalities, WCAG contrast checks
SEO sidecar - meta tags, Open Graph, Twitter cards, JSON-LD schema
Schema learning - feed real Elementor exports to learn exact widget settings
HTTP + stdio transport - use remotely or locally
Tools (15)
Tool | Purpose |
get_intake_brief | Client questionnaire - run first |
get_design_playbook | Design system and best-practice rules |
generate_theme | Brand color + personality to full WCAG-checked theme |
generate_seo | Meta + Open Graph + JSON-LD schema sidecar |
list_widgets | All blueprint node types (with pagination) |
get_widget_schema | Fields, example, and learned schema for one widget |
list_motion_options | All animation/effect/interaction options |
list_dynamic_tags | Dynamic tag names for WordPress content binding |
list_templates | All 27 section templates (with pagination) |
get_template | Params + example for one template |
validate_blueprint | Compile in memory, report errors |
build_page | Compile and write one import-ready .json (supports dryRun) |
build_popup | Compile a popup with triggers and timing |
build_site | Compile a multi-page site (supports dryRun) |
learn_from_export | Ingest Elementor exports, learn widget schemas |
Prompt templates (3)
Prompt | Purpose |
design-website | Full intake to theme to build to SEO workflow |
design-landing-page | Single landing page workflow |
design-popup | Popup design workflow |
Dual format output
Format | Settings | Widget names | Layout | Use case |
atomic (default) | $$type wrapped | e-heading, e-paragraph | e-flexbox | Elementor v4 editor |
classic | Flat settings | heading, text-editor | container | Maximum import compatibility |
Most real-world Elementor installations use the flat settings format. Use "classic" for maximum compatibility.
Development
git clone https://github.com/Smecha10/elementor-mcp.git
cd elementor-mcp
npm install
npm run build # tsc
npm run selftest # compile sample site + verify
npm test # vitest (16 tests)License
MIT - see LICENSE file
Changelog
v0.5.0
Classic format compiler (flat settings, container elType, classic widget names)
12 new template archetypes (27 total)
Schema learning from 7 real Elementor templates (21 types, 275 instances)
Vitest test framework (16 tests), GitHub Actions CI
3 MCP prompt templates, pagination, dryRun option
v0.4.0
@keyframes injection, global widgets, HTTP transport
v0.3.0
Motion effects, interactions, dynamic tags, popup builder, Theme Builder conditions, CSS custom properties
v0.2.0
15 TypeScript source files, 9 new Tier 1 widgets, template type support
v0.1.0
Initial release: blueprint compiler, 15 section templates, 6 brand personalities, SEO sidecar, schema learning
Available Tools
15 toolsbuild_pageBuild Elementor pageA
Compile a blueprint into import-ready Elementor JSON and write it to a file. The file can be imported in Elementor (Site Settings → Import/Export, or paste into the page template import). Set format: "classic" for flat settings output (recommended for maximum import compatibility with all Elementor versions) or format: "atomic" (default, v4 $$type-wrapped widgets). Supports popup type with triggers/timing via the popup field, Theme Builder conditions via conditions, dynamic tags via dynamic on nodes, CSS custom properties via cssVars, native background/box-shadow props in style, @keyframes CSS animations via keyframes, and reusable widget definitions via globals.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Validate and compile without writing files. | |
| blueprint | No | The blueprint object: { title?, fileName?, theme?, tree: [...], type?, format? ("atomic"|"classic"), popup?, cssVars?, conditions?, keyframes?, globals? }. | |
| outputDir | No | Directory to write into. Defaults to $ELEMENTOR_MCP_OUT or ./output. | |
| designIntensity | No | Visual richness: minimal (no motion), standard (tasteful entrance animations), premium (full motion + scroll effects + decorative backgrounds). Default: standard. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses that it writes to a file, supports dry run, and covers formats, popup, conditions, dynamic tags, CSS vars, animations, and globals. However, it does not mention overwrite behavior or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long and packed with information, starting with the core function then listing features in a dense paragraph. It could be more structured (e.g., bullet points) to improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters and no output schema, the description covers the tool's main function, file output, format options, and supported features. It is fairly complete, though it could mention error handling or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes parameters well. The description adds value by explaining format differences ('classic' vs 'atomic') and listing supported features, which provides context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'compile' and 'write' and the resource 'blueprint into import-ready Elementor JSON'. It distinguishes from siblings like build_popup and validate_blueprint by mentioning specific supported features (popup, conditions) and formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives like build_popup or validate_blueprint. It mentions support for popup type but does not advise using build_popup for popups. No when-not-to-use or context information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_popupBuild Elementor popupA
Compile a popup blueprint into import-ready Elementor v4 JSON with popup triggers, entrance/exit animations, and timing rules in page_settings. Use type: 'popup' with a popup config. The popup content goes in the tree.
| Name | Required | Description | Default |
|---|---|---|---|
| tree | No | Content tree for the popup body (same blueprint nodes as pages). | |
| theme | No | Theme object from generate_theme. | |
| title | Yes | Popup title (shown in Elementor). | |
| timing | No | Array of { type: 'times'|'days'|'sessions'|'devices', settings: {...} }. E.g. times: { count: 1, period: 'session' }. | |
| fileName | No | Output file name (without extension). | |
| triggers | No | Array of { type: 'page_load'|'scrolling'|'click'|'exit_intent', settings?: {...} }. E.g. scrolling needs { offset: 25 }, click needs { selector: '.my-trigger' }. | |
| outputDir | No | Directory to write into. Defaults to $ELEMENTOR_MCP_OUT or ./output. | |
| exitAnimation | No | Exit animation name, e.g. 'fadeOut'. | |
| entranceAnimation | No | Entrance animation name, e.g. 'fadeIn', 'slideInDown'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the output (import-ready JSON) and mentions page_settings includes triggers/animations/timing, but it does not disclose side effects like file writing (outputDir parameter) or any destructive actions. The description is adequate but missing some behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that are front-loaded with the core purpose. Every word adds value, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description covers the high-level purpose and structure. It does not explain prerequisites (e.g., generate_theme for theme) or the return value, but it is largely complete for understanding the tool's role in a popup-building workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context by stating the overall structure (popup config, content in tree) and references triggers/animations/timing in page_settings, which provides meaning beyond individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compiles a popup blueprint into Elementor v4 JSON with specific features like triggers, animations, and timing rules. It distinguishes from sibling tools like build_page and build_site by specifying it's for popups, not pages or sites.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Use type: popup with a popup config,' which implies when to use the tool (for popups). However, it does not explicitly state when not to use it or mention alternatives like build_page for pages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_siteBuild a multi-page siteA
Compile a whole site to import-ready Elementor JSON: one file per page, all sharing a theme and an optional header/footer (e.g. navbar/footer templates). Supports site-level globals for reusable widget definitions across all pages. Set format: "classic" at site level for flat settings output (recommended for maximum import compatibility), or per-page format to override. Writes a site-manifest.json alongside the pages.
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | The site: { title?, theme?, format? ("atomic"|"classic"), header?: nodes[], footer?: nodes[], pages: [{ title, fileName?, theme?, format?, tree: [...] }], globals? }. | |
| dryRun | No | Validate and compile without writing files. | |
| outputDir | No | Directory to write into. Defaults to $ELEMENTOR_MCP_OUT or ./output. | |
| designIntensity | No | Visual richness: minimal (no motion), standard (tasteful entrance animations), premium (full motion + scroll effects + decorative backgrounds). Default: standard. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that it writes multiple files (one per page plus site-manifest.json) and supports dry run validation. However, it does not mention whether it overwrites existing files, idempotency, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with the main purpose front-loaded. The second sentence is relatively long but includes necessary details. It is concise enough for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the input parameters, output (multiple files + manifest), and key behaviors like dry run. It lacks explanation of return values or error scenarios but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning by explaining the structure of the site parameter (e.g., pages array with tree, globals) and the purpose of format choices ('classic' recommended for compatibility). This adds value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compiles a whole site into import-ready Elementor JSON with one file per page, shared theme, and optional header/footer. This distinguishes it from sibling tools like build_page (single page) and build_popup (popup).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (building multi-page sites with shared elements) and mentions format options. It does not explicitly state when not to use or provide alternatives, but the context from sibling tools gives implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_seoGenerate SEO meta + schemaB
Produce an SEO sidecar for a page: trimmed meta title/description, slug, robots, canonical, Open Graph + Twitter tags, JSON-LD business/page schema, and a ready-to-paste block. Returns warnings (missing description, no OG image, etc.). Keep page JSON clean — apply this at the WordPress/SEO-plugin level.
| Name | Required | Description | Default |
|---|---|---|---|
| seo | No | SeoInput: { title, metaTitle?, metaDescription?, slug?, keywords?, canonical?, ogImage?, siteName?, pageType?, noindex?, business?: { name, type?, telephone?, email?, address?, sameAs?, ... } }. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full disclosure. It mentions returning warnings and a ready-to-paste head block, but it does not clarify whether the tool modifies existing data, its idempotency, required permissions, or potential side effects. The phrase 'Keep page JSON clean' is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose. Uses technical terms appropriately but is concise. A slight improvement would be breaking into bullet points for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of SEO (multiple tags, schema types, warnings), and no output schema, the description should detail the return structure, field behavior, and example usage. It mentions warnings and head block but is incomplete for a tool of this scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (single 'seo' parameter with descriptive fields). The description adds context about the output but does not clarify the meaning or constraints of individual fields beyond the schema's existing documentation. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it produces an 'SEO sidecar' including meta title/description, slug, robots, canonical, Open Graph, Twitter tags, JSON-LD schema, and a head block. This specific verb+resource combination distinguishes it from siblings like build_page or validate_blueprint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises to 'apply this at the WordPress/SEO-plugin level' implying it is for final output, but it does not explicitly state when to use this tool versus alternatives like build_page. There is partial guidance but no clear exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_themeGenerate a brand themeA
Turn a brand color (+ optional accent) and a design 'personality' into a complete, WCAG-checked Elementor theme (colors, font pairing, radii, shadow, spacing). Drop the returned theme straight into a blueprint/site. Run after intake so the palette is built around the client's brand, not a generic template.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | Brand voice adjectives — used only to suggest a personality if none is given. | |
| scheme | No | Light (default) or dark base. | |
| industry | No | Industry — used only to suggest a personality if none is given. | |
| brandColor | Yes | Primary brand color as hex, e.g. '#1A2D5A'. | |
| accentColor | No | Optional accent (CTA) hex. If omitted, one is derived from the brand color. | |
| personality | No | Design character. One of: corporate, modern, elegant, bold, playful, minimal. Default 'modern'. | |
| accentStrategy | No | How to derive the accent when none is given. Default 'auto'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses that the output is WCAG-checked and ready to drop into a blueprint, but it doesn't mention authentication, rate limits, side effects, or whether it's safe to call multiple times.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence packs the core functionality, the second gives a clear usage instruction. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, 100% schema coverage, no output schema, the description is sufficiently complete. It explains the input-output flow and usage timing. Minor gap: no mention of error handling or validation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining that 'tone' and 'industry' are only used to suggest personality if not provided, which goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's action ('turn a brand color... into a complete, WCAG-checked Elementor theme') and distinguishes it from sibling tools like build_page or generate_seo by focusing on theme generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells when to use ('Run after intake') and implies context (client branding, not generic). The only missing element is explicit when-not-to-use or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_design_playbookGet design playbookA
Return the design system and best-practice rules to follow when generating a site (theme tokens, spacing scale, type scale, layout, section patterns, accessibility). Read this before building.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It implies a read-only operation ('Return') but doesn't explicitly state idempotency, side-effect freedom, or rate limits. The lack of any behavioral caveats leaves some ambiguity for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs substantial content, listing key aspects of the design system. It is front-loaded with the purpose and ends with a usage directive. Every word earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description adequately covers purpose and usage timing. It does not specify the return format (e.g., JSON) or explicit idempotency, but for a straightforward read tool, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (vacuous). The description does not need to add parameter semantics, and the baseline for 0 parameters is 4. No additional information about parameters is necessary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the design system and best-practice rules for site generation, listed specific aspects (theme tokens, spacing, etc.). The verb 'Return' and resource are precise, and it distinguishes well from sibling tools like build_site, generate_theme, and get_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Read this before building,' which gives clear timing for use relative to building tools. It doesn't provide when-not-to-use or alternatives, but the sibling tools are all building/generation, making the prerequisite clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_intake_briefGet client intake questionnaireA
Return the structured intake to run BEFORE designing: company facts, audience/goals, brand & design direction, content/structure, and SEO. Ask the client these, fill the returned brief skeleton, then feed brandColor+personality to generate_theme and the answers into the page copy. This is what makes each site specific instead of generic.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | `markdown` (ask-through script) or `json` (questions + brief skeleton). Default markdown. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It discloses the output is a structured brief skeleton that needs to be filled, and implies no side effects (read-only). Provides useful behavioral context beyond the name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no wasted words. First sentence states purpose and contents, second gives actionable workflow, third emphasizes value. Well-structured and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only 1 parameter and no output schema, the description fully explains what the tool returns, how to use it, and its role in the larger process. No gaps for the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with enum descriptions. The description indirectly references formats by saying 'ask-through script' (implies markdown) but doesn't explicitly tie parameter values to use cases. Decent but could be more direct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns a structured intake for use before designing, listing content areas (company facts, audience/goals, etc.). The verb 'return' and resource 'intake brief' are specific, and the purpose is distinct from sibling tools like get_template or get_design_playbook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use 'BEFORE designing' and provides sequential steps: ask client, fill skeleton, feed answers to generate_theme and page copy. Explains why it's important ('makes each site specific'). No sibling comparisons but clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateGet template params + exampleA
Get the parameters and a concrete example for one section template.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Template name, e.g. 'hero'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. The verb 'Get' implies a read-only, non-destructive operation, but the description does not explicitly state that it has no side effects or discuss authorization or rate limits. For a simple read tool, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is front-loaded with the action and resource, making it easy for an AI agent to quickly grasp the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately explains what it does. It mentions both 'parameters' and 'concrete example,' covering expected return content. However, it could be slightly more explicit about what 'concrete example' means (e.g., usage demo) to fully compensate for the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the 'name' parameter ('Template name, e.g. 'hero'.'). The tool description adds context that this is 'for one section template,' which clarifies the parameter's role. However, no further detail is given about the parameter's format or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the parameters and a concrete example for one section template,' which specifies the verb ('Get'), the resource ('parameters and a concrete example'), and the scope ('one section template'). It distinguishes from sibling tools like 'list_templates' (which lists all templates) by focusing on a single template's details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention what the tool does not do (e.g., it does not list all templates) or when to prefer sibling tools like 'list_templates' or 'get_design_playbook'. An explicit usage note would help the agent select appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_widget_schemaGet widget schemaA
Get the fields and a concrete blueprint example for one node type. Call before using an unfamiliar widget.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | A blueprint node type, e.g. 'heading', 'flex', 'form', 'html', 'raw'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description implies a read-only operation ('Get'), but does not explicitly state that it has no side effects. It is adequate but lacks explicit safety guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action and purpose, no wasted words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description sufficiently explains what is returned ('fields and a concrete blueprint example'). Could be slightly more explicit about the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds context like 'one node type' and examples. The parameter description is clear and well-supported by the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'fields and a concrete blueprint example for one node type'. It differentiates from sibling tools like 'list_widgets' which lists all widgets, not schema for a specific type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description instructs 'Call before using an unfamiliar widget', providing clear guidance on when to use the tool. However, it does not mention when not to use or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
learn_from_exportLearn from an Elementor exportA
Ingest an Elementor JSON export and extract the settings schema of every widget it contains, merging into a persistent registry. Use this to teach the server the exact shape of widgets/settings not yet known (then get_widget_schema will show them). Provide a file path OR the JSON inline.
| Name | Required | Description | Default |
|---|---|---|---|
| json | No | The export object inline (alternative to path). | |
| path | No | Path to an Elementor export .json file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool mutates state by merging into a persistent registry, and specifies input options. Mutation is clearly stated, and no contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first defines the core function, the second adds usage context and input options. No wasted words, front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description adequately explains the process (ingest, extract, merge) and the effect (registry update). References get_widget_schema for retrieval. Slightly light on return value but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters are described in the schema). The description adds 'Provide a file path OR the JSON inline' which repeats the mutual exclusivity already implied by the schema, adding minimal new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Ingest' and the resource 'Elementor JSON export', and distinguishes itself from siblings like get_widget_schema by explaining that this tool feeds data into that one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this to teach the server the exact shape of widgets/settings not yet known' and mentions the follow-up tool get_widget_schema, implying when to use it. No explicit when-not or alternatives, but clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dynamic_tagsList dynamic tagsA
List all available dynamic tag names for use in the dynamic field of any blueprint node. Dynamic tags pull content from WordPress (post title, featured image, author, etc.). Use them in template-type documents (single, archive) to create dynamic content.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description holds full burden. It explains the tool lists dynamic tag names and describes their nature (pull WordPress content). Does not disclose potential side effects, error states, or requirements, but for a read-only list operation the transparency is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no redundancy. Purpose is stated upfront, followed by supportive context and usage advice. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, description adequately covers what is returned and why it matters. Could mention potential data source availability or error scenarios, but not essential for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so bar for parameter semantics is low. Description adds value by explaining what the output contains and its purpose, surpassing the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'list' with the resource 'dynamic tag names', clearly stating the tool enumerates available tags. It distinguishes from sibling tools by specifying the context of use (blueprint's dynamic field) and content type (WordPress data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains where to use the tags (dynamic field of blueprint nodes) and in which document types (template-type: single, archive). Provides clear application context but does not explicitly state when not to use or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_motion_optionsList motion & animation optionsA
List all available entrance animations, hover animations, and interaction triggers/effects/easing options for use in the motion field of any node. Call before adding motion to a blueprint.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full burden. It discloses that the tool lists options, implying a read-only operation. However, it doesn't mention any specifics about response size, performance, or permissions. Minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. First sentence states what the tool lists, second gives usage context. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is sufficient. It covers what is listed and when to call. Could potentially mention that it returns a list, but that's implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (100% coverage vacuously). With zero parameters, the baseline is 4. The description adds value by enumerating the types of options listed (entrance animations, hover animations, interaction triggers/effects/easing), beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'List', the resource 'motion & animation options', and the context 'for use in the motion field of any node'. It clearly distinguishes from sibling tools which deal with pages, popups, sites, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance: 'Call before adding motion to a blueprint.' This tells the agent when to invoke. It doesn't mention alternatives or when not to use, but given the tool's simplicity and no sibling with similar purpose, this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesList section templatesA
List ready-made, theme-aware section templates (hero, feature-grid, cta-band, testimonials, pricing, faq, contact, navbar, footer). Use them in a blueprint via a node: { type: "template", template: "", params: {…} }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Return at most N results. | |
| offset | No | Skip N results (pagination). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only says 'list' with no mention of read-only nature, authentication, rate limits, or side effects, leaving the agent underinformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: the first states the purpose and examples, the second the usage context. No redundancy, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not hint at the return format or content. While the tool is simple, a brief note on the response (e.g., array of template objects) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the two parameters (limit, offset) with adequate descriptions. The description adds no extra semantic information beyond the schema, meeting the baseline for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List ready-made, theme-aware section templates' and enumerates specific template types. This verb+resource+scope formulation distinguishes it from sibling tools like build_page or get_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool—'Use them in a blueprint via a node'—but does not provide explicit exclusions or direct alternatives for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_widgetsList blueprint widgetsA
List all blueprint node types the compiler supports, grouped by category. Use this to discover what you can place in a blueprint tree. Optionally filter by category.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Return at most N results. | |
| offset | No | Skip N results (pagination). | |
| category | No | Filter to a single category. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only states the listing behavior with no mention of side effects, permissions, rate limits, or pagination behavior. Implicitly read-only, but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. Front-loaded with purpose, then guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a simple list tool. Covers purpose, optional filtering, and usage context. Lacks mention of pagination, but limit/offset parameters are self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all 3 parameters. The description adds minimal value ('Optionally filter by category') beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it lists all blueprint node types supported by the compiler, grouped by category. Distinguishes from siblings like list_templates and list_dynamic_tags by focusing on 'blueprint node types'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides usage context: 'Use this to discover what you can place in a blueprint tree.' Additional guidance on optional filtering, but no explicit when-not-to-use or comparison with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_blueprintValidate blueprintA
Compile a blueprint in-memory without writing a file. Returns the element count and any errors so you can fix issues before building. Supports keyframes (CSS @keyframes animations) and globals (named widget definitions for reuse). Set format: "classic" for flat settings output (recommended for maximum import compatibility) or format: "atomic" (default, v4 $$type-wrapped widgets).
| Name | Required | Description | Default |
|---|---|---|---|
| blueprint | No | The blueprint object: { title?, theme?, tree: [...], type?, format? ("atomic"|"classic"), popup?, cssVars?, conditions?, keyframes?, globals? }. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains in-memory compilation, return of element count and errors, support for keyframes/globals, and format parameter options. It does not mention destructive behavior, auth needs, or rate limits, but as a validation tool, non-destructive is implied. Good coverage of behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first sentence states core purpose and return type; second elaborates on supported features and format parameter. Front-loaded, no fluff, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description adequately covers purpose, return type (element count and errors), and special parameters. It lacks detailed return format for errors, but is reasonably complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter. The description adds value by explaining the format parameter options ('classic' vs 'atomic') and mentioning keyframes/globals support, which supplements the schema's structural description. Baseline 3, plus extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Compile a blueprint in-memory without writing a file. Returns the element count and any errors', providing a specific verb (compile/validate) and resource (blueprint). It clearly distinguishes from sibling tools like build_page, build_popup, build_site which likely write files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'so you can fix issues before building' strongly implies use before build tools. It provides context but does not explicitly state when not to use or name alternatives. Given sibling tools are all build-oriented, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v0.6.1- First observed
build_page - First observed
build_popup - First observed
build_site - First observed
generate_seo - First observed
generate_theme - First observed
get_design_playbook - First observed
get_intake_brief - First observed
get_template - First observed
get_widget_schema - First observed
learn_from_export - First observed
list_dynamic_tags - First observed
list_motion_options - First observed
list_templates - First observed
list_widgets - First observed
validate_blueprint
TDQS
Each tool targets a distinct aspect of the Elementor workflow: building (page/popup/site), generating (SEO/theme), getting design rules/intake/template/widget examples, listing templates/widgets/dynamic tags/motion options, learning from exports, and validating. No two tools have overlapping purposes.
All 15 tool names follow a consistent snake_case with a verb_noun pattern (e.g., build_page, generate_theme, list_templates). There is no mixing of conventions or ambiguous verbs.
15 tools is well-scoped for an Elementor MCP server. It covers intake, design, building, validation, SEO, and discovery without being excessive or insufficient.
The tool surface covers the full lifecycle: intake (get_intake_brief), design system (get_design_playbook, generate_theme), blueprint creation (build_page, build_popup, build_site), validation (validate_blueprint), SEO (generate_seo), and discovery (list_*, get_*, learn_from_export). No obvious gaps for its stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
Build, edit, host, and publish websites from AI assistants. Setup: https://mcp.orivox.org/
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
An MCP server that integrates with Discord to provide AI-powered features.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceAn MCP server that automatically generates static websites from natural language instructions, creating Next.js-based sites with optional automatic deployment to AWS S3.-
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI agents real browser capabilities including screenshotting, action execution, data extraction, and multi-persona auditing for frontend validation.746MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that lets AI agents use your real browser as an API, accessing any website with your login state, no keys or scrapers needed.1MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI agents to manage WordPress sites, including Elementor page building, content CRUD, plugin management, and site configuration via the WordPress REST API.68ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Smecha10/elementor-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server