Adobe Commerce / Magento MCP

Adobe Commerce / Magento MCP

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

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured