Skip to content

Store config MCP

If you run a hosted SmartCut store, you can configure it from your own LLM client (Claude Desktop, Claude.ai, Cursor or a custom agent) over the Model Context Protocol. “Add an 18mm oak product line”, “raise banding prices 10%”, “list my out-of-stock sheets” become things you can just ask for.

It exposes the same store-configuration operations as the admin UI: materials, stock, shared catalogues, settings, pricing (including pricing formulas), extras, and configurable products with their 3D models. Writes go through the same validated path, so nothing the MCP does can put your store into a state the admin couldn’t.

POST https://api.smartcut.dev/ecommerce/mcp

A hosted, remote MCP server over Streamable HTTP, with nothing to install. Each request is scoped to your store only: your organisation is resolved from your API key, so a tool can never read or change another store’s data.

You authenticate with your existing SmartCut API key. There is no separate MCP token.

  1. Sign in at smartcut.dev/account. You need an active e-commerce subscription with API access.
  2. Copy your API key from the account page.
  3. Give it to your MCP client as an Authorization header (see below). The value is the raw key, with no Bearer prefix.

Most clients connect through the mcp-remote bridge. Add the store server to your client’s MCP config (e.g. Claude Desktop’s claude_desktop_config.json):

{
"mcpServers": {
"smartcut-store": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.smartcut.dev/ecommerce/mcp",
"--header", "Authorization:${SMARTCUT_API_KEY}"
],
"env": {
"SMARTCUT_API_KEY": "your-api-key"
}
}
}
}

Passing the key via env keeps it out of the args list and avoids clients that strip spaces from arguments. Note there is no space after Authorization:.

If your client supports remote/HTTP MCP servers natively (a URL plus custom headers), use:

  • URL: https://api.smartcut.dev/ecommerce/mcp
  • Header: Authorization: <your-api-key>
Tool group Does
ecommerce_materials_list / _get / _create / _update / _delete Manage materials (product lines), including a per-material pricingFormula.
ecommerce_stock_list / _get / _create / _update / _delete Manage stock (the cuttable sheets / lengths), including a per-size pricingFormula.
ecommerce_catalogues_available / _list, ecommerce_catalogue_subscribe / _unsubscribe Find and subscribe to shared material catalogues (Egger, Kronospan, …).
ecommerce_catalogue_visibility_rules, ecommerce_catalogue_rules_list / _rule_set / _rule_delete Choose which catalogue entries show, and set their prices and banding.
ecommerce_settings_get / _update Operational store settings.
ecommerce_pricing_get / _update Global pricing configuration, including the store’s pricing formula.
ecommerce_extras_list / _get / _create / _update / _delete / _delete_all / _reorder Manage extras: banding, finish, planing, machining, add-ons — each with its own pricing formula.
ecommerce_formula_validate Dry-run a pricing formula before saving it.
ecommerce_product_spec_reference The guide to the product formats: inputs, panels, hardware, material choices, the formula language and the 3D model, plus their exact schemas. Your assistant reads it before building a product.
ecommerce_template_list / ecommerce_template_get Starter products (shaker door, cabinet, door component calculator), each a complete formula and 3D model to adapt.
ecommerce_product_list / _get List and read your configurable products, including their formula and 3D model.
ecommerce_product_validate Check a proposed product: its formulas, its material groups against your stock, and — given a 3D model — its geometry across the input range.
ecommerce_product_preview See the cut list and a front-elevation image of a product at chosen sizes.
ecommerce_product_save Create or update a product’s formula, 3D model and material groups (saved as a draft).

A configurable product (a cabinet, a door) is described by a formula — its inputs (width, height, number of shelves…), its panels and its hardware — and optionally a 3D model that places those panels for the storefront preview. Ask your client to change either, or to build a new product from a starter template: it learns the format from ecommerce_product_spec_reference, reads the product with ecommerce_product_get (or a template with ecommerce_template_get), checks the change with ecommerce_product_validate, shows you the result with ecommerce_product_preview, and saves with ecommerce_product_save. Saving re-validates and refuses a product that would break; publishing it stays in the admin.

  • Destructive and bulk tools (*_delete, *_delete_all, bulk creates) require an explicit confirm: true and echo what will change before acting, so the model can’t delete a product line on a misread.
  • Settings are operational only. The MCP will not touch payment credentials, custom-domain verification, or publish state. Those stay in the admin UI by design.
  • Hosted store covers the storefront, analytics, webhooks and order APIs.
  • MCP server is the optimisation counterpart, for running cutting calculations.