# Adobe Commerce MCP (npm · @commenteme/adobe-commerce-mcp)

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

- Trust score: 74/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `@commenteme/adobe-commerce-mcp`: 74/100 (this document), [markdown](https://verifymcp.io/servers/commentemeapp-adobe-commerce-mcp/commenteme-adobe-commerce-mcp.md), [page](https://verifymcp.io/servers/commentemeapp-adobe-commerce-mcp/commenteme-adobe-commerce-mcp)

## Channel facts

- Registry: `npm`
- Package: `@commenteme/adobe-commerce-mcp`
- Version: `0.2.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 92 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 6 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 80/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2119 tokens (~163/item across 13 items; 10 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 96% of tool parameters carry a description.
  - Structured output schemas are declared (50% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Adobe Commerce MCP server?

Adobe Commerce MCP runs locally as an npm package, launched with npx -y @commenteme/adobe-commerce-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

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

### Cursor

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

### VS Code

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

### Codex

```bash
codex mcp add commentemeapp-adobe-commerce-mcp -- npx -y @commenteme/adobe-commerce-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "commentemeapp-adobe-commerce-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@commenteme/adobe-commerce-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add commentemeapp-adobe-commerce-mcp --command npx --arg -y --arg @commenteme/adobe-commerce-mcp
```

### Hermes

```yaml
mcp_servers:
  commentemeapp-adobe-commerce-mcp:
    command: "npx"
    args: ["-y", "@commenteme/adobe-commerce-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "commentemeapp-adobe-commerce-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@commenteme/adobe-commerce-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add commentemeapp-adobe-commerce-mcp -t stdio -c npx -a -y @commenteme/adobe-commerce-mcp
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-04 (score 73, +2)

- [functional improvement] Stability: unverified → 0.17

### 2026-10-31 (score 71, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-30 (score 56)

First indexed and scored.

## MCP tools (10)

### `search-docs` (~197 tokens)

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.

Input parameters:

- `area` (string): Restrict to one doc set: php (PHP extensions), frontend (themes, layouts, UI components, JS), webapi (REST and GraphQL guides), operations (configuration, CLI, installation, performance)
- `limit` (integer): Max results (default 5, max 20)
- `query` (string, required): Keywords to look for in the official Adobe Commerce docs (e.g. "plugin around method", "declarative schema foreign key", "message queue consumer", "full page cache private content")

### `read-doc` (~145 tokens)

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.

Input parameters:

- `ref` (string, required): Document id as returned by search-docs (e.g. "php/development/components/plugins.md"), source path (e.g. "commerce-php/src/pages/development/components/plugins.md") or public URL. Append "#anchor" to…
- `section` (string): Section anchor or heading to read only that section (e.g. "around-methods")

### `explain-config-file` (~163 tokens)

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.

Input parameters:

- `file` (string, required): Config file name or path inside a module (e.g. "di.xml", "etc/adminhtml/system.xml", "db_schema.xml", "crontab.xml", "webapi.xml", "view/frontend/layout/catalog_product_view.xml", "requirejs-config.j…

### `lookup-cli-command` (~126 tokens)

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.

Input parameters:

- `command` (string, required): A bin/magento command, full or with Symfony shortcuts (e.g. "setup:upgrade", "bin/magento s:up", "indexer:reindex"), or keywords to find one (e.g. "static content deploy", "maintenance")

### `lookup-webapi` (~176 tokens)

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.

Input parameters:

- `api` (string): Limit to REST or GraphQL
- `limit` (integer): Max results for keyword search (default 10)
- `method` (string): REST only: HTTP method
- `query` (string, required): GraphQL query or mutation name (e.g. "products", "addProductsToCart"), REST path (e.g. "/V1/products/{sku}", "V1/orders"), or keywords (e.g. "cart coupon", "customer address")

### `scaffold-module` (~246 tokens)

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.

Input parameters:

- `basePath` (string): Module directory relative to the Commerce root (default "app/code/<Vendor>/<Module>")
- `description` (string): composer.json description
- `license` (array): composer.json license list (default ["proprietary"])
- `module` (string, required): Module name as Vendor_Module (e.g. "Acme_Reviews"), as registered in registration.php
- `packageName` (string): Composer package name (default "<vendor>/module-<module>", lowercase)
- `php` (string): PHP constraint for composer.json require (e.g. "~8.3.0||~8.4.0"). Omitted when not given.
- `sequence` (array): Modules that must load before this one, for <sequence> in module.xml (e.g. ["Magento_Catalog"])
- `version` (string): composer.json version (default "1.0.0")

Output parameters:

- `files` (array): Files to write. The server never writes to disk.
- `notes` (array): Next steps and caveats

### `add-plugin` (~275 tokens)

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.

Input parameters:

- `area` (string): di.xml area: global (etc/di.xml) or an area folder (default global)
- `basePath` (string): Module directory relative to the Commerce root (default "app/code/<Vendor>/<Module>")
- `method` (string, required): Public method to intercept (e.g. "getName", "save")
- `module` (string, required): Module name as Vendor_Module (e.g. "Acme_Reviews"), as registered in registration.php
- `pluginClass` (string): Plugin class name inside <Module>\Plugin (default "<TargetShortName>Plugin")
- `pluginName` (string): Plugin name in di.xml (default "<vendor>_<module>_<target>_<method>")
- `sortOrder` (integer): sortOrder attribute in di.xml
- `targetClass` (string, required): Class or interface whose public method is intercepted (e.g. "Magento\Catalog\Model\Product")
- `type` (string, required): Plugin type. The docs advise after over around unless the chain must be stopped.

Output parameters:

- `files` (array): Files to write. The server never writes to disk.
- `notes` (array): Next steps and caveats

### `add-observer` (~192 tokens)

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.

Input parameters:

- `area` (string): global (etc/events.xml, all areas) or one area folder (default global)
- `basePath` (string): Module directory relative to the Commerce root (default "app/code/<Vendor>/<Module>")
- `event` (string, required): Event name to observe (e.g. "catalog_product_save_after", "checkout_cart_add_product_complete")
- `module` (string, required): Module name as Vendor_Module (e.g. "Acme_Reviews"), as registered in registration.php
- `observerClass` (string): Observer class name inside <Module>\Observer (default derived from the event name)
- `observerName` (string): Observer name in events.xml (unique per event)

Output parameters:

- `files` (array): Files to write. The server never writes to disk.
- `notes` (array): Next steps and caveats

### `add-controller` (~279 tokens)

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.

Input parameters:

- `aclResource` (string): adminhtml only: ACL resource for ADMIN_RESOURCE (default "<Vendor_Module>::<controller>")
- `action` (string): Action class (default "Index")
- `area` (string, required): frontend (storefront) or adminhtml (Admin)
- `basePath` (string): Module directory relative to the Commerce root (default "app/code/<Vendor>/<Module>")
- `controller` (string): Controller folder (default "Index")
- `frontName` (string, required): URL front name: the first URL segment, <frontName>/<controller>/<action> (e.g. "reviews")
- `method` (string): HTTP method: GET renders a page with a layout handle, POST returns JSON (default GET)
- `module` (string, required): Module name as Vendor_Module (e.g. "Acme_Reviews"), as registered in registration.php
- `routeId` (string): Route id in routes.xml and first part of the layout handle (default: frontName)
- `title` (string): Page title for GET actions

Output parameters:

- `files` (array): Files to write. The server never writes to disk.
- `notes` (array): Next steps and caveats

### `add-db-schema` (~236 tokens)

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.

Input parameters:

- `basePath` (string): Module directory relative to the Commerce root (default "app/code/<Vendor>/<Module>")
- `columns` (array): Columns. Without columns the table gets an entity_id int unsigned identity primary key.
- `comment` (string): Table comment
- `engine` (string): SQL engine, default "innodb"
- `foreignKeys` (array)
- `indexes` (array)
- `module` (string, required): Module name as Vendor_Module (e.g. "Acme_Reviews"), as registered in registration.php
- `primaryKey` (array): Primary key columns (default: the identity column)
- `resource` (string): Database resource (shard), default "default"
- `table` (string, required): Table name (e.g. "acme_review")
- `unique` (array): Unique constraints, each a list of columns

Output parameters:

- `files` (array): Files to write. The server never writes to disk.
- `notes` (array): Next steps and caveats

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/commentemeapp-adobe-commerce-mcp/commenteme-adobe-commerce-mcp#diagnostics

## Score history

- 2026-11-05: 74
- 2026-11-04: 73
- 2026-11-03: 71
- 2026-11-02: 71
- 2026-11-01: 71
- 2026-10-31: 71
- 2026-10-30: 56

## Common questions

### What is the Adobe Commerce MCP server?

Adobe Commerce MCP is listed in the public MCP registry as io.github.commentemeapp/adobe-commerce-mcp. Offline Adobe Commerce PHP docs, config files, bin/magento CLI, Web API and module scaffolding. This page covers its npm package (@commenteme/adobe-commerce-mcp).

### Is the Adobe Commerce MCP server safe to use?

Adobe Commerce MCP scores 74 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Adobe Commerce MCP server expose?

Adobe Commerce MCP exposes 10 tools: search-docs, read-doc, explain-config-file, lookup-cli-command, lookup-webapi, and 5 more. Their descriptions and schemas cost roughly 2,035 tokens of context every time the server is loaded.

### Is the Adobe Commerce MCP server still maintained?

Adobe Commerce MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Adobe Commerce MCP server under?

Adobe Commerce MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@commenteme/adobe-commerce-mcp
- Socket report: https://socket.dev/npm/package/@commenteme/adobe-commerce-mcp
- Repository: https://github.com/commentemeapp/adobe-commerce-mcp
- Changelog RSS feed: https://verifymcp.io/servers/commentemeapp-adobe-commerce-mcp/commenteme-adobe-commerce-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/commentemeapp-adobe-commerce-mcp/commenteme-adobe-commerce-mcp.json
- HTML version of this page: https://verifymcp.io/servers/commentemeapp-adobe-commerce-mcp/commenteme-adobe-commerce-mcp
