Install AI Tools

B2C Commerce tools, documentation, and skills for your assistant.

Claude

Install the plugin Recommended

bash
claude plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling
claude plugin install b2c-dx-mcp@b2c-developer-tooling

Start a new Claude Code session. To install for the current project only, run it from your project directory with --scope project.

Manual MCP setup
bash
claude mcp add --transport stdio --scope user b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new session. To configure the current project only, run it from your project directory with --scope project. See Claude Code MCP setup.

Claude Desktop setup

Codex

Install the plugin Recommended

bash
codex plugin marketplace add SalesforceCommerceCloud/b2c-developer-tooling
codex plugin add b2c-dx-mcp@b2c-developer-tooling

Start a new Codex session in your project. This setup also works with the Codex IDE extension and the ChatGPT Work desktop app.

Manual MCP setup
bash
codex mcp add b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Or add this to ~/.codex/config.toml (or $CODEX_HOME/config.toml if customized):

toml
[mcp_servers.b2c-dx-mcp]
command = "npx"
args = ["-y", "@salesforce/b2c-dx-mcp@latest"]

Start a new session. See Codex MCP configuration.

ChatGPT online setup

VS Code

Install the plugin Recommended

  1. Open the Command Palette (Cmd/Ctrl+Shift+P) and run Chat: Install Plugin from Source.
  2. Enter SalesforceCommerceCloud/b2c-developer-tooling.
  3. Select b2c-dx-mcp and follow the installation prompts.
  4. Start a new chat in GitHub Copilot.
Manual MCP setup

Add this to .vscode/mcp.json in your workspace:

json
{
  "servers": {
    "b2c-dx-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@salesforce/b2c-dx-mcp@latest"]
    }
  }
}

See VS Code MCP setup.

Copilot CLI setup

Cursor

Reload the MCP server in Cursor after installation.

Manual MCP setup

Add this to .cursor/mcp.json in your project:

json
{
  "mcpServers": {
    "b2c-dx-mcp": {
      "command": "npx",
      "args": ["-y", "@salesforce/b2c-dx-mcp@latest"]
    }
  }
}

For all projects, use ~/.cursor/mcp.json instead.

See Cursor's MCP documentation.

OpenCode

Add this to opencode.json in your project:

json
{
  "mcp": {
    "b2c-dx-mcp": {
      "type": "local",
      "command": ["npx", "-y", "@salesforce/b2c-dx-mcp@latest"],
      "enabled": true
    }
  }
}

Restart OpenCode. For all projects, use ~/.config/opencode/opencode.json. See OpenCode MCP setup.

Gemini

Run:

bash
gemini mcp add --scope user b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new Gemini CLI session. To configure the current project only, run it from your project directory with --scope project. See Gemini CLI MCP setup.

No separate skills plugins needed.

Other clients and manual setup →
Skip to content
View as Markdown
View as Markdown

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:

bash
npx -y @salesforce/b2c-dx-mcp@latest --toolsets CARTRIDGES,MRT

Set 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:

OptionEnvironment variableSelection
--toolsetsSFCC_TOOLSETSComma-separated toolsets, such as CARTRIDGES,MRT.
--toolsSFCC_TOOLSComma-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:

json
{
  "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:

bash
npx -y @salesforce/b2c-dx-mcp@latest --scapi-schemas ./schemas/cdn-zones-v1.json

The 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.