---
title: "Connect Adobe Commerce to ChatGPT: Manage Catalog and MSI Stock"
slug: connect-adobe-commerce-to-chatgpt-manage-catalog-and-msi-stock
date: 2026-11-07
author: Sidharth Verma
categories: ["AI & Agents"]
excerpt: Learn how to connect Adobe Commerce to ChatGPT using a managed MCP server. Execute catalog updates and MSI stock workflows with natural language.
tldr: A technical guide to generating a secure Adobe Commerce MCP server using Truto. Connect it natively to ChatGPT to automate EAV catalog management and Multi-Source Inventory operations.
canonical: https://truto.one/blog/connect-adobe-commerce-to-chatgpt-manage-catalog-and-msi-stock/
---

# Connect Adobe Commerce to ChatGPT: Manage Catalog and MSI Stock


If you need to connect Adobe Commerce (formerly Magento) to ChatGPT to automate headless catalog management, orchestrate Multi-Source Inventory (MSI) levels, or update complex configurable products, you need a [Model Context Protocol (MCP) server](https://truto.one/what-is-mcp-and-mcp-servers-and-how-do-they-work/). This server acts as the translation layer between ChatGPT's tool calls and Adobe Commerce's REST APIs. You can either build and maintain this infrastructure yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL.

If your team uses Claude, check out our guide on [connecting Adobe Commerce to Claude](https://truto.one/connect-adobe-commerce-to-claude-automate-orders-and-shipments/) or explore our broader architectural overview on [connecting Adobe Commerce to AI Agents](https://truto.one/connect-adobe-commerce-to-ai-agents-sync-sales-rules-and-taxes/).

Giving a Large Language Model (LLM) read and write access to an enterprise e-commerce platform like Adobe Commerce is a massive engineering challenge. You have to handle complex Entity-Attribute-Value (EAV) data payloads, map dynamic custom attributes to MCP tool definitions, and deal with deeply nested `searchCriteria` arrays just to filter a simple product list. 

This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for Adobe Commerce, connect it natively to [ChatGPT](https://truto.one/bring-100-custom-connectors-to-chatgpt-with-superai-by-truto/), and execute complex catalog workflows using natural language.

> Stop writing boilerplate API integration code. Let Truto generate secure, managed MCP servers for your AI agents in seconds.
>
> [Talk to us](https://truto.one/book-a-demo/)

## The Engineering Reality of the Adobe Commerce API

A custom MCP server is a self-hosted integration layer. While the open MCP standard provides a predictable way for models to discover tools, implementing it against Adobe Commerce's highly specific API is exceptionally painful. 

If you decide to build a custom MCP server for Adobe Commerce, you own the entire API lifecycle. Here are the specific integration challenges that break standard CRUD assumptions when working with this platform:

### The Nightmare of `searchCriteria`
Adobe Commerce does not use standard REST query parameters like `?status=active&price>100`. Instead, it forces clients to encode complex, nested filtering logic into URL parameters known as `searchCriteria`. To filter a list of products by category and status, a custom MCP server has to instruct the LLM to generate arrays matching `searchCriteria [filter_groups][0][filters][0][field]=category_id`, along with the corresponding value and condition type parameters. LLMs routinely hallucinate or misformat this deeply nested structure. Truto abstracts this away by automatically injecting flattened `filter_field`, `filter_value`, and `filter_condition_type` parameters into the tool schemas, while automatically handling pagination via `limit` (defaulting to 100, max 300) so ChatGPT never has to calculate offsets.

### EAV Complexity and Custom Attributes
Adobe Commerce's Entity-Attribute-Value architecture means that most custom data points aren't standard JSON keys on a product payload. They are objects inside a `custom_attributes` array (e.g., `{"attribute_code": "color", "value": "red"}`). An LLM attempting to update a product must know exactly which attribute codes exist and format the payload perfectly. If you build a custom MCP server, you must dynamically pull attribute sets and inject them into your JSON-RPC schemas so the LLM knows what fields are valid. 

### MSI vs Legacy Stock
Modern Adobe Commerce environments use Multi-Source Inventory (MSI) to track stock across multiple physical locations. However, the API still exposes the legacy `CatalogInventory` endpoints (`stockItems`), which will break or silently fail on MSI-enabled stores. A custom MCP server must actively hide deprecated endpoints from the LLM to prevent it from calling legacy stock updates that result in inventory reservation errors. Truto handles this mapping natively, providing distinct `source_items.bulk_create` tools for MSI.

## How to Generate an Adobe Commerce MCP Server

Truto dynamically [generates MCP tools](https://truto.one/auto-generated-mcp-tools-for-ai-agents-a-2026-architecture-guide/) based on the actual capabilities of the authenticated Adobe Commerce instance. Each MCP server is scoped to a single connected tenant. 

You can spin up an MCP server for an Adobe Commerce account using two methods: via the Truto UI, or programmatically via the API.

### Method 1: Via the Truto UI

If you are setting this up manually for internal use or testing, the dashboard is the fastest route:

1. Log into your Truto dashboard and navigate to the **Integrated Accounts** page.
2. Select your connected Adobe Commerce instance.
3. Click the **MCP Servers** tab.
4. Click **Create MCP Server**.
5. Select your desired configuration. For example, you can name it "Adobe Commerce Catalog Admin", check the `read` and `write` method filters, and restrict tags to `products` and `inventory`.
6. Click Save and **copy the generated MCP server URL** (it will look like `https://api.truto.one/mcp/<secure-token>`).

### Method 2: Via the Truto API

If you are provisioning MCP servers programmatically for your customers, you will use the Truto API. This single `POST` call validates the underlying tools, generates a cryptographically signed token, and provisions the server in Truto's edge infrastructure.

```bash
curl -X POST https://api.truto.one/integrated-account/$INTEGRATED_ACCOUNT_ID/mcp \
  -H "Authorization: Bearer $TRUTO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ChatGPT Merchandising Agent",
    "config": {
      "methods": ["read", "write", "custom"],
      "tags": ["catalog", "msi_inventory", "pricing"]
    },
    "expires_at": "2026-12-31T23:59:59Z"
  }'
```

The response returns the self-contained URL required to connect the client:

```json
{
  "id": "mcp_abc123",
  "name": "ChatGPT Merchandising Agent",
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f6..."
}
```

## Connecting the MCP Server to ChatGPT

Once you have the `url` from Truto, you need to register it with ChatGPT. The URL acts as the transport endpoint. 

### Method A: Via the ChatGPT UI (Custom Connectors)

For enterprise users leveraging ChatGPT directly in the browser or desktop app:

1. Open ChatGPT and navigate to **Settings -> Apps -> Advanced settings**.
2. Ensure **Developer mode** is toggled on (this exposes the MCP capabilities).
3. Under **MCP servers / Custom connectors**, click to add a new server.
4. **Name:** Enter a descriptive label (e.g., "Adobe Commerce (Truto)").
5. **Server URL:** Paste the Truto MCP URL (`https://api.truto.one/mcp/<token>`).
6. Save the configuration.

ChatGPT will immediately send an `initialize` JSON-RPC handshake to the URL. Truto responds with the server capabilities, and ChatGPT automatically calls `tools/list` to populate the agent's context window with the available Adobe Commerce tools.

### Method B: Via Manual Config File (SSE Client Wrapper)

If you are using an AI framework or a custom client that requires a standard MCP configuration file (like `claude_desktop_config.json` or a programmatic LangChain/Cursor setup), you can bridge standard standard I/O to Truto's HTTP SSE (Server-Sent Events) endpoint using the official MCP CLI wrapper.

Create or update your MCP config file to use the `npx` command to run the remote SSE client:

```json
{
  "mcpServers": {
    "adobe-commerce-truto": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "https://api.truto.one/mcp/<token>"
      ]
    }
  }
}
```

This tells the AI client to execute an SSE bridge that maintains a persistent connection to the Truto edge router.

## Security and Access Control

Exposing an ERP or commerce platform to an autonomous agent requires strict boundaries. Truto provides four native [security mechanisms](https://truto.one/mcp-server-security-zero-data-retention-2026-implementation-guide/) to lock down your MCP server configurations:

*   **Method Filtering:** Limit the server strictly to `read` operations to prevent ChatGPT from modifying stock or placing accidental orders, or selectively allow `write` operations for specific environments.
*   **Tag Filtering:** Restrict the AI's visibility by scoping the server to specific resource tags. An agent designed to update content can be restricted to `cms_blocks` and `cms_pages`, entirely blinding it to `customers` or `orders`.
*   **Extra Authentication (`require_api_token_auth`):** By default, possessing the MCP URL is enough to invoke tools. Enabling this flag forces the client to also pass a valid Truto API token in the `Authorization` header, adding a strict secondary identity layer.
*   **Automatic Expiration (`expires_at`):** Issue short-lived MCP URLs to temporary agents, contractors, or specific automated pipeline runs. Truto automatically destroys the token at the deadline, severing access.

## Hero Tools for Adobe Commerce

Truto normalizes dozens of Adobe Commerce endpoints into flat, LLM-friendly schemas. Here are six high-leverage tools available for your ChatGPT workflows.

### `list_all_adobe_commerce_products`
Retrieves a filtered list of products. Because Truto flattens the `searchCriteria` arrays, ChatGPT can easily look up items by SKU, attribute set, or category without wrestling with complex URL encoding.

> "Fetch the first 50 products that belong to the 'Summer Collection' category. Return their SKUs, names, and current prices."

### `adobe_commerce_source_items_bulk_create`
This is the critical tool for Multi-Source Inventory (MSI). It creates or updates stock quantities for specific SKUs at specific physical source locations (warehouses or stores). 

> "We just received a shipment at the Dallas warehouse (source code: TX-DAL). Update the inventory for SKU 'tshirt-vneck-red-m' to 140 units, and set its status to in-stock."

### `adobe_commerce_tier_prices_bulk_update`
Replaces all tier prices for a given set of SKUs. Essential for B2B catalog management where pricing scales by volume or customer group.

> "Update the tier pricing for the 'Industrial Coffee Maker' (SKU: CM-PRO-900). If the customer group is 'Wholesale' and they buy 10 or more, the price should drop to $249.99."

### `create_a_adobe_commerce_configurable_product_child`
Links a simple product (a specific variant) to a parent configurable product. This is notoriously difficult via raw API but abstracted cleanly here.

> "Link the simple product SKU 'shoes-run-blue-10' to the parent configurable product SKU 'shoes-run-parent'."

### `update_a_adobe_commerce_order_address_by_id`
Updates the billing or shipping address of an existing order. Crucial for customer service agents handling post-purchase correction requests.

> "The customer for order #10004523 reached out. Update the shipping address on that order to 123 New Tech Lane, Austin, TX 78701."

### `create_a_adobe_commerce_product_attribute`
Creates a new custom attribute (e.g., 'material' or 'brand') in the catalog's EAV structure so it can be assigned to products.

> "Create a new product attribute called 'fabric_care'. It should be a text field, visible on the frontend, and not required."

*Note: This is a curated selection of tools. For the complete list of available Adobe Commerce operations, schemas, and required parameters, visit the [Truto Adobe Commerce integration page](https://truto.one/integrations/detail/magento).* 

## Workflows in Action

When ChatGPT is equipped with these MCP tools, it acts as a highly capable orchestrator that can execute complex chained tasks based on natural language intent. 

### Workflow 1: Flash Sale Pricing Update
**Persona:** E-commerce Merchandiser

> "We are running a weekend flash sale for our VIP tier. Set up a special price of $45.00 for all variants of the 'Classic Hoodie' starting today and ending on Sunday. Only apply this to the 'VIP Customers' group."

**Step-by-step execution:**
1. ChatGPT calls `list_all_adobe_commerce_products` filtering by the parent SKU to discover all simple child SKUs associated with the 'Classic Hoodie'.
2. It calls `list_all_adobe_commerce_customer_groups` to find the internal integer ID for 'VIP Customers'.
3. It calls `adobe_commerce_special_prices_search` or `adobe_commerce_tier_prices_bulk_update` constructing a JSON payload that loops through every discovered child SKU, setting the price to $45.00, mapped to the VIP customer group ID, and applying the requested start/end datetimes.

**Outcome:** The merchandiser successfully schedules a massive pricing update across dozens of variants without manually exporting CSVs or navigating the slow Adobe Commerce admin panel.

### Workflow 2: Resolving an Out-of-Stock Allocation Issue
**Persona:** Fulfillment / Warehouse Operations

> "Order #00008892 is blocked because the 'Brooklyn' warehouse is out of stock for SKU 'desk-lamp-led'. Check if the 'Jersey' warehouse has inventory. If they have more than 5 units, adjust the stock source link for this order."

```mermaid
sequenceDiagram
    participant User as User
    participant ChatGPT as ChatGPT
    participant MCP as Truto MCP Server
    participant API as Adobe Commerce API

    User->>ChatGPT: "Check inventory for desk-lamp-led in Jersey..."
    ChatGPT->>MCP: Call list_all_adobe_commerce_source_items<br>(sku: desk-lamp-led)
    MCP->>API: GET /rest/V1/inventory/source-items
    API-->>MCP: Returns stock levels for all sources
    MCP-->>ChatGPT: JSON result showing Jersey has 12 units
    ChatGPT->>MCP: Call create_a_adobe_commerce_order_comment<br>(order_id: 00008892)
    MCP->>API: POST /rest/V1/orders/00008892/comments
    API-->>MCP: Success
    MCP-->>ChatGPT: Comment added
    ChatGPT-->>User: "I confirmed the Jersey warehouse has 12 units. I have updated the order notes for the fulfillment team to re-route."
```

**Step-by-step execution:**
1. ChatGPT calls `list_all_adobe_commerce_source_items` filtering by `sku: desk-lamp-led`. It receives the MSI array showing stock levels per `source_code`.
2. It analyzes the JSON to confirm `source_code: jersey` has `quantity: 12`.
3. It calls `create_a_adobe_commerce_order_comment` to document the stock availability on the order, or invokes shipping tools to alert the specific warehouse.

**Outcome:** Fulfillment operations are unblocked in seconds, dynamically interacting with the MSI system without human intervention.

## Handling Rate Limits in Production

When unleashing AI agents on large datasets, you will inevitably hit vendor rate limits. 

It is critical to understand that **Truto does not retry, throttle, or apply backoff on rate limit errors.** If your ChatGPT agent loops through 500 catalog updates in 10 seconds and trips Adobe Commerce's threshold, the upstream API will return an HTTP 429. Truto strictly acts as a pass-through layer, relaying that 429 error directly back to the calling client.

To help your agents gracefully recover, Truto normalizes the upstream rate limit information into standardized headers per the IETF specification (`ratelimit-limit`, `ratelimit-remaining`, `ratelimit-reset`). The caller (your application or the AI framework) must read these headers and implement its own retry and backoff mechanisms. Do not assume the MCP server will absorb the limit for you.

## A Better Way to Manage Commerce Data

Connecting ChatGPT to Adobe Commerce shouldn't mean spending a sprint writing EAV payload parsers and wrestling with deeply nested `searchCriteria` strings. By deploying a managed MCP server via Truto, you immediately abstract away the platform's legacy architectural quirks, exposing clean, LLM-optimized tools for catalog management, MSI stock orchestration, and order updates. 

Your engineers get to stop maintaining brittle point-to-point connector code, and your users get the power to execute complex e-commerce operations entirely through natural language.

> Ready to connect AI agents to your customers' Adobe Commerce instances? Book a demo to see Truto's auto-generated MCP tools in action.
>
> [Talk to us](https://truto.one/book-a-demo/)
