Labsco
MCP SERVER

Commerce Cloud MCP Server

by BrinsilElias

Read products and orders from Salesforce Commerce Cloud, and write product descriptions or content bodies generated from your design images back into it.

E-commerce & Marketplace Operations
Summary
The OCAPI import is a real setup step, and nothing works before it.

The endpoints this server needs are off by default in Business Manager, so a correct build with correct credentials still returns nothing until the configuration files are pasted in. Once past that, the interesting capability is the write side: turning a design image into a content asset body, or product images into a description, and putting the result back — which is what separates it from a read-only catalog browser.

What it is

A Node server connecting an AI client to a Salesforce Commerce Cloud instance over OCAPI. It reads catalog and order data, and — the part that distinguishes it — writes generated content back: a product description built from product images, or a content asset body built from a design image.

What you get
  • Product details fetched from Commerce Cloud
  • Product updates: generate descriptions from images and write the product details back automatically
  • Order analysis, for questions about purchase behaviour rather than one order at a time
  • Custom objects — read, write and create
  • Content assets fetched, and content bodies generated from design images and written back
  • Site preferences, promotions and campaigns, and job configurations are listed as future work, not shipped
Requirements

Node.js version 22 or higher, Git, and a Salesforce Commerce Cloud instance with OCAPI access. Clone, `npm install`, copy `.env.example` to `.env` and fill in your Commerce Cloud credentials, then `npm run build`. Before it will work you must import the OCAPI configurations from the repository's `data/ocapi` directory into Business Manager under Administration → Site Development → Open Commerce API Settings, choosing the Shop or Data API type for each file — those settings enable the endpoints the server calls. Point your client at `dist/index.js` with an absolute path.