MCP Configuration
The MCP uses the same B2C Commerce configuration as the CLI and IDE extension. See Configuration for project files, environment variables, and named instances, and Authentication for credentials and API access. Documentation and skills need no B2C Commerce credentials.
This page covers settings specific to running the MCP server.
Startup configuration
Plugin installation needs no additional launch settings. For a manual installation, add options to the server command in your client's MCP configuration. For example, to select two toolsets:
npx -y @salesforce/b2c-dx-mcp@latest --toolsets CARTRIDGES,MRTSet startup environment variables in your MCP client's server configuration or the environment that launches it. Use that environment for toolset and documentation selection; project .env files supply per-project B2C configuration. Restart the MCP connection after changing startup settings.
Project defaults
Your assistant can select a project or named instance for each task. To fix a startup default, use the shared --project-directory, --config, or --instance options. See Configuration for their values and file formats. These defaults do not restrict which projects the assistant can access.
Tools and toolsets
All toolsets are enabled by default. Use names from MCP Tools to choose a subset:
| Option | Environment variable | Selection |
|---|---|---|
--toolsets | SFCC_TOOLSETS | Comma-separated toolsets, such as CARTRIDGES,MRT. |
--tools | SFCC_TOOLS | Comma-separated tool names, such as skills_read,docs_search,docs_read. |
Explicit selection replaces the default of all toolsets. Combining --toolsets and --tools includes both selections. Valid toolsets are CARTRIDGES, DIAGNOSTICS, MRT, PWAV3, SCAPI, STOREFRONTNEXT, CIP, and all.
Toolsets include shared skills and documentation. When selecting individual tools, include skills_read for the skill collections and the documentation tools you want. Invalid names are ignored; if no valid selection remains, the server falls back to all toolsets.
Documentation topics
Use --docs-topics or SFCC_DOCS_TOPICS to select documentation topics, separated by commas:
script-api, job-step, commerce-api, pwa-kit-managed-runtime, sfnext, sfra, b2c-commerce, commerce-solutions, ocapi, tooling, help-admin, help-merchant, help-kb.
Omit this option to include all available topics. It does not restrict the included skills.
Saved workflows
Saved SCAPI workflows remain available across sessions and clients. To back them up, copy the scapi/snippets/ folder from your B2C data directory:
- macOS/Linux:
~/.local/share/b2c/scapi/snippets/ - Windows:
%LOCALAPPDATA%\b2c\scapi\snippets\
These are the default locations; a custom B2C data directory changes the path. Built-in workflows update with the package and are separate from your saved files.
Local SCAPI contracts
This is a developer option for beta and pre-release APIs that are not yet in the bundled or live contracts. Give SCAPI code mode your own OpenAPI 3 JSON files, folders containing them, or http(s) URLs of them, in your project configuration. This works with plugin installs, where you don't control the server's arguments or working directory:
{
"scapi-schemas": ["./schemas/cdn-zones-v1.json"]
}Put this in the project's dw.json, or set SFCC_SCAPI_SCHEMAS (comma-separated) in the project's .env. Relative paths resolve from the project directory, and the server reads the setting on each tool call, so changes apply without a restart. A URL lets you share a contract with a config-only change; the server fetches it once and keeps it until it restarts.
You can also pass --scapi-schemas when starting the server. It replaces any project setting:
npx -y @salesforce/b2c-dx-mcp@latest --scapi-schemas ./schemas/cdn-zones-v1.jsonThe API is identified by the /<family>/<name>/<version> path of the contract's servers[0].url. A local contract replaces the bundled or live contract for the same API, or adds a new one. Search results show it with origin: "local". Flag paths resolve from --project-directory when it is set, or from the server's working directory otherwise. An invalid contract stops the server when passed by flag, or fails the SCAPI tool call when set in project configuration. Safety Mode and request targeting work as they do for other contracts.
Logging
Use --log-level debug temporarily when investigating a connection or configuration problem. Review logs before sharing them.
See Security and Access before sharing logs.