Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

MCP server for integrating with Adobe Commerce and Magento REST API to manage products, categories, customers, pricing, and attributes.

README.md

Adobe Commerce / Magento MCP

A Model Context Protocol (MCP) tool for integrating with the Magento REST API. No direct SQL or server access required.

Supported Editions

This MCP tool is compatible with:

  • Adobe Commerce (formerly Magento): Enterprise-grade eCommerce platform with advanced features and support.
  • Magento Open Source: The free, open-source edition of Magento, suitable for small to medium businesses.

All features are implemented using the official Magento REST API, ensuring compatibility and security for both editions. No direct database or server access is required—just API credentials from your Magento instance.

Available Tools

All registered MCP tools are organized by resource type below:

Products

| Tool ID | Description | | --------------------------- | --------------------------------------------------------------------- | | search-products | Search for products in Adobe Commerce with flexible search filters. | | create-product | Create a new product in Adobe Commerce with the specified attributes. | | update-product | Update an existing product in Adobe Commerce with new attributes. | | get-product-by-sku | Retrieve a specific product from Adobe Commerce by its SKU. | | delete-product | Delete a product from Adobe Commerce by its SKU. | | assign-product-to-website | Assign a product to a website by SKU and website ID. | | remove-product-from-website | Remove a product from a website by SKU and website ID. |

Product Attributes

| Tool ID | Description | | ------------------------------- | ------------------------------------------------------------------------------- | | search-products-attributes | Search for products attributes in Adobe Commerce with flexible search filters. | | create-product-attribute | Create a new product attribute in Adobe Commerce. Supports all attribute types. | | get-product-attribute-by-code | Get a single product attribute by its attribute code. | | update-product-attribute | Update an existing product attribute by its attribute code. | | delete-product-attribute | Delete a product attribute by its attribute code. | | get-product-attribute-options | Get all options for a specific product attribute. | | add-product-attribute-option | Add a new option to a product attribute. | | update-product-attribute-option | Update an existing option of a product attribute. | | delete-product-attribute-option | Delete an option from a product attribute. |

Attribute Sets

| Tool ID | Description | | ----------------------------- | -------------------------------------------------------------------------------------------- | | search-attribute-sets | Search for attribute sets in Adobe Commerce with flexible search filters. | | create-attribute-set | Create a new attribute set in Adobe Commerce. Only attribute_set_name and sort_order needed. | | get-attribute-set-by-id | Get details of an attribute set by its ID. | | get-attributes-from-set | Get all attributes from an attribute set by its ID. | | delete-attribute-set | Delete an attribute set by its ID. | | update-attribute-set | Update an attribute set by its ID. Only provide fields you want to update. | | delete-attribute-from-set | Delete an attribute from an attribute set by set ID and attribute code. | | assign-attribute-to-set-group | Assign an attribute to an attribute set and group in Adobe Commerce. |

Attribute Groups

| Tool ID | Description | | ----------------------- | ------------------------------------------------------------------- | | search-attribute-groups | Search for attribute groups in an attribute set in Adobe Commerce. | | create-attribute-group | Create a new attribute group in an attribute set in Adobe Commerce. | | delete-attribute-group | Delete an attribute group by its ID. | | update-attribute-group | Update an attribute group by its ID in a given attribute set. |

Configurable Products

| Tool ID | Description | | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | add-configurable-product-option | Define which attribute and options are used in a configurable product. Creates framework for product variants. | | link-configurable-child | Link a child product to a configurable product by SKU. The child product becomes a variant of the parent. | | unlink-configurable-child | Unlink a child product from a configurable product by SKU. The child product remains but is no longer a variant. | | get-configurable-product-children | Retrieve all child products for a configurable product by SKU. | | get-configurable-product-options-all | Retrieve all configurable options for a configurable product by SKU. | | get-configurable-product-option-by-id | Retrieve a specific configurable option for a configurable product by SKU and option ID. | | update-configurable-product-option | Update an existing configurable option for a configurable product by SKU and option ID. | | delete-configurable-product-option | Remove a configurable option from a configurable product by SKU and option ID. |

Pricing

| Tool ID | Description | | --------------------- | --------------------------------------------------------------------- | | set-base-prices | Set base prices for multiple products efficiently. | | get-base-prices | Retrieve base prices for multiple products. | | set-special-prices | Set special prices with date ranges for multiple products. | | delete-special-prices | Delete special prices for multiple products. | | get-special-prices | Retrieve special prices for multiple products. | | set-tier-prices | Set tier prices for quantity-based discounts on multiple products. | | replace-tier-prices | Replace all existing tier prices with new ones for multiple products. | | delete-tier-prices | Delete specific tier prices for multiple products. | | get-tier-prices | Retrieve tier prices for multiple products. | | set-costs | Set cost values for multiple products. | | delete-costs | Delete cost values for multiple products. | | get-costs | Retrieve cost values for multiple products. |

Categories

| Tool ID | Description | | ------------------------------ | -------------------------------------------------------------------------------------- | | search-categories | Search for categories in Adobe Commerce with flexible search filters. | | get-category-tree | Retrieve the category tree structure with optional root category and depth parameters. | | get-category-by-id | Retrieve a specific category by its ID. | | create-category | Create a new category in Adobe Commerce. | | update-category | Update an existing category in Adobe Commerce. | | delete-category | Delete a category by its ID. | | move-category | Move a category to a new parent category. | | get-category-attributes | Retrieve category attributes with optional search criteria. | | get-category-attribute-by-code | Retrieve a specific category attribute by its code. | | get-category-attribute-options | Retrieve options for a specific category attribute. | | get-category-products | Retrieve products assigned to a specific category. | | assign-product-to-category | Assign a product to a specific category. | | update-product-in-category | Update a product's assignment in a category. | | remove-product-from-category | Remove a product from a specific category. |

Customers

| Tool ID | Description | | ---------------- | -------------------------------------------------------------------- | | search-customers | Search for customers in Adobe Commerce with flexible search filters. |

Orders

| Tool ID | Description | | ------------- | ----------------------------------------------------------------- | | search-orders | Search for orders in Adobe Commerce with flexible search filters. |

CMS

| Tool ID | Description | | ----------------- | --------------------------------------------------------------------- | | search-cms-blocks | Search for CMS blocks in Adobe Commerce with flexible search filters. | | search-cms-pages | Search for CMS pages in Adobe Commerce with flexible search filters. |

Stores

| Tool ID | Description | | ----------------- | ----------------------------------------------------------------- | | get-store-configs | Retrieve store configurations with optional store code filtering. | | get-store-views | Get all store views in Adobe Commerce. | | get-store-groups | Get all store groups in Adobe Commerce. | | get-websites | Get all websites in Adobe Commerce. |

Inventory Management (MSI - Multi-Source Inventory)

MSI Source Items

| Tool ID | Description | | ------------------------------------------ | --------------------------------------------------------------------- | | search-msi-source-items | Search for source items with flexible filters and pagination. | | create-msi-source-item | Create a new source item with product SKU, source code, and quantity. | | delete-msi-source-item | Delete a source item by SKU and source code. | | are-products-salable-msi | Check if multiple products are salable for given SKUs and stock ID. | | are-products-salable-for-requested-qty-msi | Check if products are salable for specific requested quantities. | | is-product-salable-msi | Check if a specific product is salable for a given stock. | | is-product-salable-for-requested-qty-msi | Check if a product is salable for a specific requested quantity. | | get-product-salable-quantity-msi | Get the salable quantity for a specific product and stock. |

MSI Stocks

| Tool ID | Description | | ------------------- | ------------------------------------------------------- | | search-msi-stocks | Search for stocks with flexible filters and pagination. | | get-msi-stock-by-id | Get stock data by given stockId. | | create-msi-stock | Save Stock data. | | update-msi-stock | Save Stock data. | | delete-msi-stock | Delete the Stock data by stockId. | | resolve-msi-stock | Resolve Stock by Sales Channel type and code. |

MSI Sources

| Tool ID | Description | | ---------------------- | ------------------------------- | | search-msi-sources | Find Sources by SearchCriteria. | | get-msi-source-by-code | Get Source data by given code. | | create-msi-source | Save Source data. | | update-msi-source | Save Source data. |

MSI Stock-Source Links

| Tool ID | Description | | ----------------------------- | -------------------------------------------------- | | search-msi-stock-source-links | Find StockSourceLink list by given SearchCriteria. | | create-msi-stock-source-links | Save StockSourceLink list data. | | delete-msi-stock-source-links | Remove StockSourceLink list. |

MSI Source Selection

| Tool ID | Description | | ----------------------------------- | -------------------------------------------------- | | get-msi-source-selection-algorithms | Get list of available source selection algorithms. | | run-msi-source-selection-algorithm | Get source selection algorithm result. |

Inventory Management (Single Stock System)

| Tool ID | Description | | -------------------------- | ------------------------------------------------------------------------------------------- | | get-single-stock-item | Get stock information for a specific product by SKU (single stock system). | | update-single-stock-item | Update stock item information (quantity, status, etc.) for a product (single stock system). | | get-single-low-stock-items | Get products with low inventory quantity below specified threshold (single stock system). | | get-single-stock-status | Get stock status information for a specific product by SKU (single stock system). |

Each tool provides a set of MCP-compatible operations for its resource type. For a full list and detailed parameters, see the source files in src/tools/.

Usage

1. Install

npm install

2. Build

npm run build

3. Configure

Create or edit your .cursor/mcp.json file and provide your Magento/Adobe Commerce instance credentials:

{
  "mcpServers": {
    "adobe-commerce-mcp": {
      "command": "node",
      "args": ["/path/to/adobe-commerce-mcp/build/index.js"],
      "env": {
        "COMMERCE_BASE_URL": "https://your-magento-instance/",
        "COMMERCE_CONSUMER_KEY": "your_consumer_key",
        "COMMERCE_CONSUMER_SECRET": "your_consumer_secret",
        "COMMERCE_ACCESS_TOKEN": "your_access_token",
        "COMMERCE_ACCESS_TOKEN_SECRET": "your_access_token_secret"
      }
    }
  }
}

4. Run

Start the MCP server as defined in your configuration. The tools will be available for use in any MCP-compatible client or workflow.

Directory Structure

adobe-commerce-mcp/
├── src/
│   ├── adobe/
│   │   ├── categories/         # Category API and types
│   │   ├── cms/                # CMS blocks and pages API and types
│   │   ├── customers/          # Customer API and types
│   │   ├── inventory/          # Inventory API, MSI, and single stock types
│   │   ├── orders/             # Order API and types
│   │   ├── products/           # Product API, attributes, sets, and types
│   │   ├── search-criteria/    # Search criteria schemas and types
│   │   ├── stores/             # Store API and types
│   │   └── types/              # Shared API response and parameter types
│   ├── tools/                  # MCP tool implementations for each resource
│   └── index.ts                # Main MCP server entry point
├── packages/
│   └── commerce-sdk-auth/      # Authentication SDK for Adobe Commerce
├── tests/                      # Test suites and mocks
├── package.json
├── tsconfig.json
└── README.md

Testing

Prerequisites

To run the test suite, you need access to a Magento/Adobe Commerce instance with the following configuration:

Required Website Structure

The test environment requires a multi-website setup with the following structure:

Websites:

  • Website ID 0: admin - Admin website
  • Website ID 1: base - Main Website (default)
  • Website ID 2: second_website - Second website for testing

Store Groups:

  • Group ID 0: Default - Default store group
  • Group ID 1: Main Website Store - Main website store group
  • Group ID 2: Second Store - Second store group

Store Views:

  • Store ID 0: admin - Admin store view
  • Store ID 1: default - Default store view
  • Store ID 2: second_store_view_pl - Second store view (PL)
  • Store ID 3: second_store_view_en - Second store view (EN)

Configuration Requirements

  • Pricing Scope: Set to "Website" based pricing
  • API Access: Valid REST API credentials with appropriate permissions
  • Test Data: Clean test environment with sample products, categories, and attributes

Running Tests

# Run all tests
npm test

# Run tests with coverage
npm run test:coverage

# Run specific test suites
npm test -- --testPathPattern=products
npm test -- --testPathPattern=categories

Test Structure

Tests are organized in the tests/ directory:

  • tests/tools/ - Tool-specific test suites
  • tests/utils/ - Test utilities and mocks
  • tests/fixtures/ - Test data fixtures

Environment Setup

Create a .env.test file based on tests/env.test.example:

cp tests/env.test.example .env.test

Then configure your test environment variables in .env.test.

---

TODO

config

  • IS MSI enabled?
  • can manage stock?
  • if you update stock of simple, update in stock for config
  • simple of configurable should be not visible

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use E-commerce & Retail servers.