home / mcp / commercetools mcp essentials server

Commercetools MCP Essentials Server

Provides an MCP server with a broad set of commercetools tools and a streamable HTTP option for integration with agents and clients.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "commercetools-mcp-essentials": {
      "url": "http://localhost:8888/mcp",
      "headers": {
        "API_URL": "YOUR_API_URL",
        "AUTH_URL": "YOUR_AUTH_URL",
        "CLIENT_ID": "YOUR_CLIENT_ID",
        "PROJECT_KEY": "YOUR_PROJECT_KEY",
        "ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
        "CLIENT_SECRET": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

You run a Commercetools MCP Essentials server to expose a broad set of Commerce tools to MCP clients and agent frameworks. It supports both a local (stdio) server you boot up directly and a remote, streamable HTTP server that clients can connect to over HTTP. This guide shows practical steps to start the server, connect clients, and configure common options so you can access products, carts, orders, and more through MCP tooling.

How to use

Start with the local stdio MCP server to boot a complete MCP environment on your machine. This server runs via Node tooling and exposes a set of tools that you can enable for your MCP clients. If you prefer remote access over HTTP, you can launch the Streamable HTTP MCP server and connect clients to the HTTP endpoint. Use the standard credentials flow or a pre-existing access token to authorize the server and define which actions your MCP clients may perform.

How to install

Prerequisites you need before starting: Node.js 18 or later.

npm install -g npm@latest
node -v

Install and run the local stdio MCP server using the npx command shown here. Replace the placeholder values with your actual credentials and endpoints.

npx -y @commercetools/mcp-essentials \
  --tools=all \
  --clientId=CLIENT_ID \
  --clientSecret=CLIENT_SECRET \
  --projectKey=PROJECT_KEY \
  --authUrl=AUTH_URL \
  --apiUrl=API_URL \
  --dynamicToolLoadingThreshold=30

If you want to explicitly use client_credentials as the authentication type (optional since default), include it in the command.

To load all tools with admin privileges, you can pass --isAdmin=true in the same command (when applicable). If you want to restrict to read-only tools, switch to --tools=all.read.

Additional configuration and remote options

You can also run a Streamable HTTP MCP server. This starts a remote HTTP server listening on a TCP port and exposes the MCP API over HTTP. Use the remote mode with a port such as 8888.

npx -y @commercetools/mcp-essentials \
  --tools=all \
  --authType=client_credentials \
  --clientId=CLIENT_ID \
  --clientSecret=CLIENT_SECRET \
  --projectKey=PROJECT_KEY \
  --authUrl=AUTH_URL \
  --apiUrl=API_URL \
  --remote=true \
  --stateless=true \
  --port=8888

Clients can then connect to the HTTP endpoint at http://localhost:8888/mcp using a configuration similar to the one shown for Claude Desktop, which references the remote server.

More usage notes

Dynamic tool loading helps optimize performance when you enable many tools. By default, the system switches to dynamic loading when the number of enabled tools exceeds 30. You can adjust this with --dynamicToolLoadingThreshold or by exporting DYNAMIC_TOOL_LOADING_THRESHOLD in your environment.

See how you can integrate MCP Essentials with agent frameworks such as LangChain or Vercel AI SDK by obtaining the tool set from the server and wiring them into your agent’s tooling pipeline.

Available tools

all

Enable all available MCP tools (read, create, and update operations)

all.read

Enable all read-only MCP tools

products.read

Read product information

products.create

Create product information

products.update

Update product information

project.read

Read project information

product-search.read

Search products

category.read

Read category information

category.create

Create category

category.update

Update category information

channel.read

Read channel information

channel.create

Create channel

channel.update

Update channel information

product-selection.read

Read product selection

product-selection.create

Create product selection

product-selection.update

Update product selection

order.read

Read order information

order.create

Create order (from cart, quote, import)

order.update

Update order information

cart.read

Read cart information

cart.create

Create cart

cart.update

Update cart information

customer.read

Read customer information

customer.create

Create customer

customer.update

Update customer information

customer-group.read

Read customer group

customer-group.create

Create customer group

customer-group.update

Update customer group

quote.read

Read quote information

quote.create

Create quote

quote.update

Update quote information

quote-request.read

Read quote request

quote-request.create

Create quote request

quote-request.update

Update quote request

staged-quote.read

Read staged quote

staged-quote.create

Create staged quote

staged-quote.update

Update staged quote

standalone-price.read

Read standalone price

standalone-price.create

Create standalone price

standalone-price.update

Update standalone price

product-discount.read

Read product discount

product-discount.create

Create product discount

product-discount.update

Update product discount

cart-discount.read

Read cart discount

cart-discount.create

Create cart discount

cart-discount.update

Update cart discount

discount-code.read

Read discount code information

discount-code.create

Create discount code

discount-code.update

Update discount code information

product-type.read

Read product type

product-type.create

Create product type

product-type.update

Update product type

bulk.create

Create entities in bulk

bulk.update

Update entities in bulk

inventory.read

Read inventory information

inventory.create

Create inventory

inventory.update

Update inventory information

store.read

Read store

store.create

Create store

store.update

Update store

business-unit.read

Read business unit

business-unit.create

Create business unit

business-unit.update

Update business unit

payments.read

Read payment information

payments.create

Create payment

payments.update

Update payment information

tax-category.read

Read tax category information

tax-category.create

Create tax category

tax-category.update

Update tax category information

shipping-methods.read

Read shipping method information

shipping-methods.create

Create shipping method

shipping-methods.update

Update shipping method information

zones.read

Read zone information

zones.create

Create zone

zones.update

Update zone information

recurring-orders.read

Read recurring order information

recurring-orders.create

Create recurring order

recurring-orders.update

Update recurring order information

shopping-lists.read

Read shopping list information

shopping-lists.create

Create shopping list

shopping-lists.update

Update shopping list information

extensions.read

Read extension information

extensions.create

Create extension

extensions.update

Update extension information

subscriptions.read

Read subscription information

subscriptions.create

Create subscription

subscriptions.update

Update subscription information

payment-methods.read

Read payment method information

payment-methods.create

Create payment method

payment-methods.update

Update payment method information

product-tailoring.read

Read product tailoring information

product-tailoring.create

Create product tailoring

product-tailoring.update

Update product tailoring information

custom-objects.read

Read custom object information

custom-objects.create

Create custom object

custom-objects.update

Update custom object information

types.read

Read type information

types.create

Create type

types.update

Update type information