Skip to main content
Glama

Elementor MCP

CI License Node

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-mcp

Register 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-mcp

Related 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 tools
build_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoValidate and compile without writing files.
blueprintNoThe blueprint object: { title?, fileName?, theme?, tree: [...], type?, format? ("atomic"|"classic"), popup?, cssVars?, conditions?, keyframes?, globals? }.
outputDirNoDirectory to write into. Defaults to $ELEMENTOR_MCP_OUT or ./output.
designIntensityNoVisual richness: minimal (no motion), standard (tasteful entrance animations), premium (full motion + scroll effects + decorative backgrounds). Default: standard.

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
treeNoContent tree for the popup body (same blueprint nodes as pages).
themeNoTheme object from generate_theme.
titleYesPopup title (shown in Elementor).
timingNoArray of { type: 'times'|'days'|'sessions'|'devices', settings: {...} }. E.g. times: { count: 1, period: 'session' }.
fileNameNoOutput file name (without extension).
triggersNoArray of { type: 'page_load'|'scrolling'|'click'|'exit_intent', settings?: {...} }. E.g. scrolling needs { offset: 25 }, click needs { selector: '.my-trigger' }.
outputDirNoDirectory to write into. Defaults to $ELEMENTOR_MCP_OUT or ./output.
exitAnimationNoExit animation name, e.g. 'fadeOut'.
entranceAnimationNoEntrance animation name, e.g. 'fadeIn', 'slideInDown'.

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe site: { title?, theme?, format? ("atomic"|"classic"), header?: nodes[], footer?: nodes[], pages: [{ title, fileName?, theme?, format?, tree: [...] }], globals? }.
dryRunNoValidate and compile without writing files.
outputDirNoDirectory to write into. Defaults to $ELEMENTOR_MCP_OUT or ./output.
designIntensityNoVisual richness: minimal (no motion), standard (tasteful entrance animations), premium (full motion + scroll effects + decorative backgrounds). Default: standard.

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
seoNoSeoInput: { title, metaTitle?, metaDescription?, slug?, keywords?, canonical?, ogImage?, siteName?, pageType?, noindex?, business?: { name, type?, telephone?, email?, address?, sameAs?, ... } }.

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toneNoBrand voice adjectives — used only to suggest a personality if none is given.
schemeNoLight (default) or dark base.
industryNoIndustry — used only to suggest a personality if none is given.
brandColorYesPrimary brand color as hex, e.g. '#1A2D5A'.
accentColorNoOptional accent (CTA) hex. If omitted, one is derived from the brand color.
personalityNoDesign character. One of: corporate, modern, elegant, bold, playful, minimal. Default 'modern'.
accentStrategyNoHow to derive the accent when none is given. Default 'auto'.

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNo`markdown` (ask-through script) or `json` (questions + brief skeleton). Default markdown.

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTemplate name, e.g. 'hero'.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesA blueprint node type, e.g. 'heading', 'flex', 'form', 'html', 'raw'.

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonNoThe export object inline (alternative to path).
pathNoPath to an Elementor export .json file.

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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: {…} }.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoReturn at most N results.
offsetNoSkip N results (pagination).

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoReturn at most N results.
offsetNoSkip N results (pagination).
categoryNoFilter to a single category.

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
blueprintNoThe blueprint object: { title?, theme?, tree: [...], type?, format? ("atomic"|"classic"), popup?, cssVars?, conditions?, keyframes?, globals? }.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 15 tool updatesv0.6.1
    • First observedbuild_page
    • First observedbuild_popup
    • First observedbuild_site
    • First observedgenerate_seo
    • First observedgenerate_theme
    • First observedget_design_playbook
    • First observedget_intake_brief
    • First observedget_template
    • First observedget_widget_schema
    • First observedlearn_from_export
    • First observedlist_dynamic_tags
    • First observedlist_motion_options
    • First observedlist_templates
    • First observedlist_widgets
    • First observedvalidate_blueprint

TDQS

A4.1/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

15 tools is well-scoped for an Elementor MCP server. It covers intake, design, building, validation, SEO, and discovery without being excessive or insufficient.

Completeness5/5

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

ActivityStale
ResponsivenessSyncing

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

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that automatically generates static websites from natural language instructions, creating Next.js-based sites with optional automatic deployment to AWS S3.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that lets AI agents use your real browser as an API, accessing any website with your login state, no keys or scrapers needed.
    1
    MIT

Latest Blog Posts

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