Adobe Commerce / Magento MCP
MCP server for integrating with Adobe Commerce and Magento REST API to manage products, categories, customers, pricing, and attributes.
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 suitestests/utils/- Test utilities and mockstests/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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。