Adobe Commerce MCP

io.github.commentemeapp由 GitHub 帳號 commentemeapp 發布v0.2.0更新於 Oct 30, 2026

Offline Adobe Commerce PHP docs, config files, bin/magento CLI, Web API and module scaffolding

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

離線 Adobe Commerce(Magento)PHP 開發參考:檢索內建文件、說明設定檔、查詢 CLI 與 Web API,並產生模組骨架檔案。

可以做什麼
  • 依領域、頁面 id、來源路徑或公開連結檢索並閱讀內建的 Adobe Commerce 文件
  • 說明 di.xml、events.xml、db_schema.xml、layout 等模組設定檔,包含用途、所在資料夾與區域及 XSD URN
  • 查詢 bin/magento 指令,以及 REST 與 GraphQL Web API 端點和 mutation
  • 產生模組、外掛、observer、controller 與 db_schema.xml 檔案,以路徑和內容回傳,由用戶端寫入
適用情境
適合在 PaaS 或自架伺服器上撰寫 Adobe Commerce / Magento Open Source 的 PHP 模組時使用,可在編輯器內取得文件解答、設定檔說明、CLI 與 API 查詢以及起始檔案。
執行需求
透過 npx 以 stdio 在本機執行,需要 Node.js 18 或更新版本。不需帳號、API 金鑰、網路存取或憑證,所有知識隨套件提供。
安裝前請注意
骨架工具只回傳檔案內容,不會寫入磁碟,需由助理或使用者自行建立檔案;伺服器看不到現有模組,新節點會與既有檔案合併,套用前請先檢查。本專案與 Adobe 無關聯,也未獲其背書。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Adobe Commerce MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[adobe-commerce-mcp · Servidor MCP para módulos de Adobe Commerce en PHP, sin red y sin credenciales]

adobe-commerce-mcp

Servidor MCP para módulos de Adobe Commerce en PHP, sin red y sin credenciales.

[npm] [node] [license]

Instalación

bash
claude mcp add adobe-commerce -- npx -y @commenteme/adobe-commerce-mcp

Requiere Node >= 18. El cliente ejecuta el servidor con npx, así que no hace falta instalarlo. Para Claude Desktop, Cursor, Windsurf, VS Code y otros clientes, mira Otros clientes.

Uso rápido

Reinicia el cliente y pide lo que necesitas en lenguaje natural. El asistente elige la herramienta:

  • "Crea el módulo Acme_Reviews que dependa de Magento_Catalog"
  • "Agrega un plugin after a Magento\Catalog\Model\Product::getName"
  • "Dónde va el system.xml y cuál es su XSD?"
  • "Crea la tabla acme_review con clave foránea a catalog_product_entity"
  • "Que opciones tiene bin/magento setup:static-content:deploy?"
  • "Que argumentos recibe la mutation addProductsToCart?"

Que incluye

Para quien escribe módulos de Adobe Commerce (Magento Open Source) en PaaS o en servidor propio: di.xml, plugins, observers, layout, db_schema.xml, webapi.xml y el resto del día a día en PHP.

  • Documentación oficial offline: 1.896 páginas de cuatro repositorios de AdobeDocs, con búsqueda BM25 por secciones. Cada resultado trae título, URL pública y ruta en el repositorio de origen.
  • Archivos de configuración: que es cada uno, dónde va (carpeta y área), la URN del XSD cuando la documentación la da y las páginas que lo explican.
  • CLI y Web API: los 147 comandos de bin/magento (2.4.9) con sus opciones, 614 endpoints REST del esquema OpenAPI y 225 queries y mutations de GraphQL.
  • Scaffolding: módulo, plugin, observer, controller y tabla de db_schema.xml. Las herramientas devuelven los archivos (ruta y contenido) para que el cliente los escriba, y cada archivo dice de que página de la documentación salió.
  • Local y sin credenciales: no abre conexiones, no pide login y no escribe en disco. Todo el conocimiento está en data/.

Funciona con Claude Code, Claude Desktop, Cursor, VS Code, Windsurf y cualquier cliente MCP con transporte stdio.

Por que existe

El MCP oficial de Adobe, @adobe-commerce/commerce-extensibility-tools, cubre el desarrollo con App Builder (comandos aio). Pide iniciar sesión en Adobe IMS (aio auth login), incluso para buscar documentación; su licencia es propietaria (EULA), y una de sus herramientas envía el historial de la conversación a Adobe. Si desarrollas con App Builder, ocupa ese. Para el desarrollo en PHP no hay servidor oficial: este cubre ese caso con la documentación pública de Adobe Commerce, licencia MIT, sin cuenta y sin red.

Documentación

Otros clientes

En claude_desktop_config.json (Claude Desktop), ~/.cursor/mcp.json o .cursor/mcp.json (Cursor) y ~/.codeium/windsurf/mcp_config.json (Windsurf):

json
{  "mcpServers": {    "adobe-commerce": {      "command": "npx",      "args": ["-y", "@commenteme/adobe-commerce-mcp"]    }  }}

En VS Code, .vscode/mcp.json:

json
{  "servers": {    "adobe-commerce": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@commenteme/adobe-commerce-mcp"]    }  }}

Cualquier cliente con transporte stdio sirve: el comando es npx y los argumentos, -y @commenteme/adobe-commerce-mcp. Con una instalación global (npm install -g @commenteme/adobe-commerce-mcp), el comando es adobe-commerce-mcp. En Claude Code, --scope project deja la configuración en .mcp.json para compartirla con el equipo.

Herramientas

La entrada src/index.ts conecta el servidor por stdio, y las diez herramientas se registran en src/tools/index.ts.

Documentación y referencia

herramientaparámetrosque hace
search-docsquery, area?, limit?Busca en la documentación; area es php, frontend, webapi u operations. Devuelve extractos con título, URL y ruta de origen.
read-docref, section?Devuelve una página completa o una sección, por id, ruta de origen o URL pública.
explain-config-filefileExplica un archivo de configuración: di.xml, events.xml, webapi.xml, db_schema.xml, crontab.xml, routes.xml, system.xml, acl.xml, layout y 32 mas.
lookup-cli-commandcommandDescripción, uso, argumentos y opciones de un comando de bin/magento; acepta atajos (s:up) y palabras clave.
lookup-webapiquery, api?, method?, limit?Endpoints REST (parámetros, cuerpo, que token los llama) y queries y mutations de GraphQL (argumentos, retorno, ejemplo, guía).

Scaffolding

herramientaparámetrosque genera
scaffold-modulemodule, description?, packageName?, version?, license?, sequence?, php?, basePath?registration.php, etc/module.xml y composer.json.
add-pluginmodule, targetClass, method, type, pluginClass?, pluginName?, area?, sortOrder?, basePath?La clase del plugin (before, after o around) y su di.xml.
add-observermodule, event, observerClass?, observerName?, area?, basePath?La clase del observer y su events.xml.
add-controllermodule, area, frontName, routeId?, controller?, action?, method?, title?, aclResource?, basePath?routes.xml y el controller (página GET o JSON por POST); para páginas, el layout y el template; en adminhtml, ADMIN_RESOURCE y acl.xml.
add-db-schemamodule, table, columns?, primaryKey?, unique?, indexes?, foreignKeys?, comment?, resource?, engine?, basePath?La tabla en etc/db_schema.xml, con los pasos del whitelist y de setup:upgrade.

Las herramientas de scaffolding devuelven también structuredContent con files (path, content, source) y notes. Las rutas son relativas a la raíz de la instalación (app/code/<Vendor>/<Module> por defecto). La herramienta no ve el módulo: si el archivo ya existe, el nodo nuevo se fusiona con lo que hay, y las notas lo avisan.

Resources

URIcontenido
adobe-commerce://docsÍndice de la documentación por área y carpeta.
adobe-commerce://docs/{id}Una página, por ejemplo adobe-commerce://docs/php/development/components/plugins.md.
adobe-commerce://config-filesLista de los archivos de configuración del catálogo.
adobe-commerce://sourcesRepositorios, commits y licencias de los datos.

De dónde vienen los datos

Todo sale de los repositorios públicos de documentación de Adobe Commerce, en el commit fijado en data/fonte.json:

repositoriolicenciaque aporta
AdobeDocs/commerce-phpApache-2.0807 páginas: extensiones PHP, arquitectura, tutoriales, estándares de código, referencia de módulos.
AdobeDocs/commerce-frontend-coreApache-2.0262 páginas: temas, layouts, templates, UI components, JavaScript, Page Builder.
AdobeDocs/commerce-webapiApache-2.0532 páginas de guías REST y GraphQL, el esquema OpenAPI 2.4.9 y la referencia generada de GraphQL 2.4.9.
AdobeDocs/commerce-operations.enMIT295 páginas: configuración, CLI, instalación, rendimiento, seguridad, actualización y la referencia de bin/magento.

Quedaron fuera las notas de versión, las mas de 900 páginas de parches del Quality Patches Tool, las herramientas de monitoreo en la nube y la referencia de GraphQL de versiones anteriores. El código y los XSD de magento/magento2 no se usan: su licencia (OSL-3.0) no es compatible con la MIT de este paquete. Los templates de scaffolding se adaptaron de los ejemplos de la documentación.

Las licencias de las fuentes van en data/licenses/ y el detalle, en NOTICE. Este proyecto no está afiliado a Adobe ni cuenta con su respaldo.

Estructura

text
src/├── index.ts            # entry point del binario (stdio)├── server.ts           # McpServer: registra tools y resources├── tools/              # una herramienta por archivo, registradas en tools/index.ts├── scaffold/           # validación de nombres y formato de los archivos generados├── resources/          # adobe-commerce://docs, config-files y sources└── knowledge/          # carga de data/ y búsqueda BM25scripts/├── ingerir.ts          # genera data/ a partir de los clones de AdobeDocs├── catalogo-config.ts  # catálogo de archivos de configuración, con sus fuentes├── probar-mcp.mjs      # arranca el servidor por stdio y comprueba las herramientas└── rastros.mjs         # busca rutas locales, correos personales y nombres de clientesdata/                   # generado: docs, cli.json, webapi/, config-files.json, licenciastest/                   # node --test sobre el build

Desarrollo

bash
npm installnpm run check
comandoque hace
npm run buildCompila TypeScript en build/ y marca el binario como ejecutable.
npm run lintVerificación de tipos de src/ y scripts/.
npm testPruebas con node --test sobre el build.
npm run probar-mcpArranca el servidor compilado por stdio y falla si falta alguna herramienta esperada.
npm run rastrosBusca rutas locales, correos personales y nombres de clientes fuera de node_modules.
npm run checkEl gate: prettier --check, lint, build, pruebas, probar-mcp y rastros.
npm run ingerir -- <carpeta>Regenera data/ a partir de los clones (también con FONTES_DIR).
npm run inspectAbre el MCP Inspector sobre el build.

Para probar la versión local en un cliente, apunta el comando a la build:

bash
claude mcp add adobe-commerce-local -- node /ruta/a/adobe-commerce-mcp/build/index.js

Convenciones: TypeScript con módulos ESM; Prettier sin punto y coma y con comillas simples. Las descripciones de las herramientas van en inglés, porque es lo que el modelo lee para elegirlas. El conocimiento es de solo lectura en tiempo de ejecución: nada se escribe en disco ni se descarga.

Actualizar la documentación

  1. Clona en una misma carpeta AdobeDocs/commerce-php, commerce-frontend-core, commerce-webapi y commerce-operations.en (un clon superficial alcanza).
  2. Corre npm run ingerir -- <carpeta>. El script solo lee los archivos de texto; nada de los clones se ejecuta.
  3. La ingestión falla si una entrada del catálogo de configuración cita una página que no existe o una URN que no aparece en sus fuentes.
  4. Corre npm run check y commitea data/: el paquete lo necesita.

Ramas y publicación

El trabajo nace en una rama salida de dev y el PR va contra dev. Después de probar localmente, dev se promueve a main con merge de la rama completa (sin qa desde el 30/10/2026). El CI corre npm run check en Node 18, 20 y 22.

Para publicar, sube la versión en package.json, server.json y CHANGELOG.md y empuja un tag v*: el workflow publish.yml corre el gate, publica en npm con provenance, crea el GitHub Release y publica server.json en el MCP Registry. Los cambios de cada versión están en CHANGELOG.md.

Contribuir · Licencia

Abre un PR contra dev, con Conventional Commits y npm run check en verde.

MIT. Los datos de data/ conservan las licencias de sus fuentes (Apache-2.0 y MIT): mira NOTICE.


Hecho por commente.me · [email protected]

來源:README.md,提交 ae87b7f

工具

10

search-docs

Search Adobe Commerce docs

Search the official Adobe Commerce (Magento Open Source) developer documentation bundled offline: PHP extensions, frontend core, Web APIs and operations. Use it first for any "how do I" question about modules, plugins, DI, events, declarative schema, layouts, caching, indexers, queues or configuration. Returns excerpts with title, public URL and source path; follow up with read-doc.

輸入參數arealimitquery必填

read-doc

Read an Adobe Commerce doc page

Read a full page, or one section, of the bundled Adobe Commerce documentation by id (from search-docs), source path or public developer.adobe.com / experienceleague.adobe.com URL. Use it after search-docs, or when the user pastes a docs link.

輸入參數ref必填section

explain-config-file

Explain a module config file

Explain an Adobe Commerce module configuration file (di.xml, events.xml, webapi.xml, db_schema.xml, crontab.xml, routes.xml, system.xml, acl.xml, config.xml, layout, ui_component, schema.graphqls, requirejs-config.js and more): what it is for, where it goes (folder and area), the XSD URN from the docs, and the documentation pages. Use it before creating or editing one of these files.

輸入參數file必填

lookup-cli-command

Look up a bin/magento command

Look up a bin/magento command of Adobe Commerce on-premises: description, usage, arguments and options, from the official CLI reference. Accepts full names, Symfony shortcuts (s:up) or keywords. Use it before suggesting or running a bin/magento command.

輸入參數command必填

lookup-webapi

Look up REST endpoints and GraphQL operations

Look up Adobe Commerce Web API: REST endpoints (path, method, parameters, body, which tokens can call it) from the official OpenAPI schema, and GraphQL queries and mutations (arguments, return type, example, guide). Accepts a GraphQL name, a REST path or keywords. Use it when writing integrations or storefront calls.

輸入參數apilimitquery必填method

scaffold-module

Scaffold an Adobe Commerce module

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.

輸入參數phpmodule必填licenseversionbasePathsequencedescriptionpackageName

add-plugin

Add a plugin (interceptor)

Generate a before, after or around plugin class and its di.xml declaration for a public method of a class or interface, adapted from the official plugins docs. Returns the files for the caller to write. Use it to change the behavior of a core or third-party method without rewriting the class.

輸入參數areatype必填method必填module必填basePathsortOrderpluginNamepluginClasstargetClass必填

add-observer

Add an event observer

Generate an observer class and its events.xml subscription (global or per area), adapted from the official events and observers docs. Returns the files for the caller to write. Use it to react to a dispatched event.

輸入參數areaevent必填module必填basePathobserverNameobserverClass

add-controller

Add a controller and route

Generate routes.xml, an action controller (GET page or POST JSON) and, for pages, the layout handle and template, for the frontend or adminhtml area (with ADMIN_RESOURCE and acl.xml for the Admin), adapted from the official routing docs. Returns the files for the caller to write.

輸入參數area必填titleactionmethodmodule必填routeIdbasePathfrontName必填controlleraclResource

add-db-schema

Add a table to db_schema.xml

Generate a declarative schema etc/db_schema.xml table with columns, primary key, unique constraints, foreign keys and indexes, adapted from the official declarative schema docs, plus the whitelist and setup:upgrade steps. Returns the file for the caller to write.

輸入參數table必填enginemodule必填uniquecolumnscommentindexesbasePathresourceprimaryKeyforeignKeys

版本歷史

1
  1. v0.2.0最新Oct 30, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分