Skip to main content
Glama
zeluizr

Adobe Commerce MCP

Scaffold an Adobe Commerce module

scaffold-module
Read-onlyIdempotent

Generate registration.php, etc/module.xml, and composer.json for a new Adobe Commerce module; returns file paths and contents for you to write, without writing to disk.

Instructions

Generate registration.php, etc/module.xml and composer.json for a new Adobe Commerce module (Vendor_Module), adapted from the official docs. Returns the files (path and content) for the caller to write; the server never writes to disk. Use it when starting a module.

Input Schema

NameRequiredDescriptionDefault
phpNoPHP constraint for composer.json require (e.g. "~8.3.0||~8.4.0"). Omitted when not given.
moduleYesModule name as Vendor_Module (e.g. "Acme_Reviews"), as registered in registration.php
licenseNocomposer.json license list (default ["proprietary"])
versionNocomposer.json version (default "1.0.0")
basePathNoModule directory relative to the Commerce root (default "app/code/<Vendor>/<Module>")
sequenceNoModules that must load before this one, for <sequence> in module.xml (e.g. ["Magento_Catalog"])
descriptionNocomposer.json description
packageNameNoComposer package name (default "<vendor>/module-<module>", lowercase)

Output Schema

NameRequiredDescriptionDefault
filesYesFiles to write. The server never writes to disk.
notesYesNext steps and caveats

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the single behavior an agent most needs and cannot infer: the tool returns file paths and contents and never writes to disk, so the caller must persist them. This is consistent with readOnlyHint=true/destructiveHint=false and complements rather than repeats the annotations. 'Adapted from the official docs' also signals output fidelity.

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, front-loaded with what gets generated, then the critical return/no-write behavior, then the usage cue. Every sentence carries distinct information; nothing is padding.

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 an output schema covering the returned files, full parameter coverage, and annotations covering safety, the description is nearly complete. The one gap is collision behavior — it does not say what happens if files already exist at basePath, which matters despite idempotentHint=true.

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%, so every parameter including defaults and examples is already documented in structured data. The description adds no new parameter semantics beyond restating the Vendor_Module format, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and enumerates the concrete artifacts generated (registration.php, etc/module.xml, composer.json) for a new Vendor_Module. 'Use it when starting a module' separates it in spirit from the add-* siblings that extend existing modules, but no sibling is named explicitly, so it stops short of a 5.

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?

'Use it when starting a module' gives clear context for selecting it, and 'for a new Adobe Commerce module' implies the boundary against add-plugin/add-observer. There is no explicit when-not or named alternative, so it is clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.