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

@salesforce/b2c-tooling-sdk / config / DwJsonMultiConfig

Interface: DwJsonMultiConfig ​

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:165

dw.json with multi-config support (configs array).

Extends ​

Properties ​

accountManagerHost? ​

optional accountManagerHost: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:73

Account Manager hostname for OAuth

Inherited from ​

DwJsonConfig.accountManagerHost


active? ​

optional active: boolean

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:37

Whether this config is active (for multi-config files)

Inherited from ​

DwJsonConfig.active


apiBackend? ​

optional apiBackend: "ocapi" | "scapi" | "auto"

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:123

API backend preference for operations that support both OCAPI and SCAPI

Inherited from ​

DwJsonConfig.apiBackend


assetQuery? ​

optional assetQuery: string[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:109

JSON dot-paths for asset extraction during content library parsing (defaults to ['image.path'])

Inherited from ​

DwJsonConfig.assetQuery


authMethods? ​

optional authMethods: AuthMethod[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:63

Allowed authentication methods in priority order

Inherited from ​

DwJsonConfig.authMethods


autoUpload? ​

optional autoUpload: boolean

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:91

Whether to auto-start code upload/sync in IDE extensions

Inherited from ​

DwJsonConfig.autoUpload


cartridges? ​

optional cartridges: string | string[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:93

Cartridge names to include in deploy/watch (string with colon/comma separators, or array)

Inherited from ​

DwJsonConfig.cartridges


catalogs? ​

optional catalogs: string[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:99

Catalog IDs for WebDAV browsing

Inherited from ​

DwJsonConfig.catalogs


certificate? ​

optional certificate: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:117

Path to PKCS12 certificate file for mTLS (two-factor auth)

Inherited from ​

DwJsonConfig.certificate


certificatePassphrase? ​

optional certificatePassphrase: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:119

Passphrase for the certificate

Inherited from ​

DwJsonConfig.certificatePassphrase


cipHost? ​

optional cipHost: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:111

Optional CIP analytics host override

Inherited from ​

DwJsonConfig.cipHost


clientAuthMethod? ​

optional clientAuthMethod: ClientAuthMethod

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:75

How client credentials are sent to Account Manager

Inherited from ​

DwJsonConfig.clientAuthMethod


clientId? ​

optional clientId: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:47

OAuth client ID

Inherited from ​

DwJsonConfig.clientId


clientSecret? ​

optional clientSecret: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:49

OAuth client secret

Inherited from ​

DwJsonConfig.clientSecret


codeVersion? ​

optional codeVersion: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:41

Code version for deployments

Inherited from ​

DwJsonConfig.codeVersion


configs? ​

optional configs: DwJsonConfig[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:167

Array of named instance configurations


contentLibrary? ​

optional contentLibrary: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:97

Default content library ID for content export/list commands

Inherited from ​

DwJsonConfig.contentLibrary


docsCategories? ​

optional docsCategories: string[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:113

Documentation categories to expose (allowlist); dw.json key docs-categories

Inherited from ​

DwJsonConfig.docsCategories


hostname? ​

optional hostname: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:39

B2C instance hostname

Inherited from ​

DwJsonConfig.hostname


importSetExclude? ​

optional importSetExclude: string[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:95

Directory paths to exclude recursively from import-set source discovery

Inherited from ​

DwJsonConfig.importSetExclude


jwtCertPath? ​

optional jwtCertPath: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:127

Path to JWT certificate file (cert.pem) for JWT authentication

Inherited from ​

DwJsonConfig.jwtCertPath


jwtKeyPath? ​

optional jwtKeyPath: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:129

Path to JWT private key file (key.pem) for JWT authentication

Inherited from ​

DwJsonConfig.jwtKeyPath


jwtPassphrase? ​

optional jwtPassphrase: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:131

Optional passphrase for encrypted JWT private key

Inherited from ​

DwJsonConfig.jwtPassphrase


libraries? ​

optional libraries: (string | LibraryEntry)[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:107

Library IDs for WebDAV browsing and the Content Libraries tree.

Accepts either a string array or a mixed array of strings and {id, siteLibrary?} objects. Object entries can mark individual libraries as site-private.

Inherited from ​

DwJsonConfig.libraries


mrtApiKey? ​

optional mrtApiKey: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:81

MRT API key

Inherited from ​

DwJsonConfig.mrtApiKey


mrtBackend? ​

optional mrtBackend: "scapi" | "auto" | "legacy"

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:125

MRT backend preference: legacy MRT Cloud API vs SCAPI MRT deployments API

Inherited from ​

DwJsonConfig.mrtBackend


mrtEnvironment? ​

optional mrtEnvironment: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:79

MRT environment name (e.g., staging, production)

Inherited from ​

DwJsonConfig.mrtEnvironment


mrtOrigin? ​

optional mrtOrigin: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:83

MRT cloud origin URL

Inherited from ​

DwJsonConfig.mrtOrigin


mrtProject? ​

optional mrtProject: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:77

MRT project slug

Inherited from ​

DwJsonConfig.mrtProject


name? ​

optional name: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:35

Instance name (for multi-config files)

Inherited from ​

DwJsonConfig.name


oauthScopes? ​

optional oauthScopes: string[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:51

OAuth scopes

Inherited from ​

DwJsonConfig.oauthScopes


password? ​

optional password: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:45

Password/access-key for Basic auth (WebDAV)

Inherited from ​

DwJsonConfig.password


realm? ​

optional realm: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:89

Default ODS realm for sandbox operations

Inherited from ​

DwJsonConfig.realm


safety? ​

optional safety: object

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:149

Safety configuration for this instance.

confirm? ​

optional confirm: boolean

level? ​

optional level: string

rules? ​

optional rules: object[]

Example ​

json
{
  "safety": {
    "level": "NO_UPDATE",
    "confirm": true,
    "rules": [
      { "job": "sfcc-site-archive-export", "action": "allow" },
      { "command": "sandbox:*", "action": "confirm" }
    ]
  }
}

Inherited from ​

DwJsonConfig.safety


sandboxApiHost? ​

optional sandboxApiHost: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:87

ODS API hostname

Inherited from ​

DwJsonConfig.sandboxApiHost


scapiSchemas? ​

optional scapiSchemas: string[]

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:115

Local SCAPI OpenAPI contracts (files, directories or http(s) URLs) for MCP code mode; dw.json key scapi-schemas

Inherited from ​

DwJsonConfig.scapiSchemas


selfSigned? ​

optional selfSigned: boolean

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:121

Whether to skip SSL/TLS certificate verification (self-signed certs)

Inherited from ​

DwJsonConfig.selfSigned


shortCode? ​

optional shortCode: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:59

SCAPI short code

Inherited from ​

DwJsonConfig.shortCode


siteId? ​

optional siteId: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:57

B2C Commerce site/channel ID

Inherited from ​

DwJsonConfig.siteId


slasClientId? ​

optional slasClientId: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:53

SLAS client ID for shopper authentication

Inherited from ​

DwJsonConfig.slasClientId


slasClientSecret? ​

optional slasClientSecret: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:55

SLAS client secret for private shopper clients

Inherited from ​

DwJsonConfig.slasClientSecret


tenantId? ​

optional tenantId: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:85

Tenant/Organization ID for SCAPI

Inherited from ​

DwJsonConfig.tenantId


userAuth? ​

optional userAuth: boolean

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:71

Shorthand for "auth-methods": ["user"]. When true, browser-based Authorization Code + PKCE is the only OAuth method tried.

Mutually exclusive with authMethods — setting both in the same dw.json is rejected during config mapping.

Inherited from ​

DwJsonConfig.userAuth


username? ​

optional username: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:43

Username for Basic auth (WebDAV)

Inherited from ​

DwJsonConfig.username


webdavHostname? ​

optional webdavHostname: string

Defined in: packages/b2c-tooling-sdk/src/config/dw-json.ts:61

Alternate hostname for WebDAV (if different from main hostname)

Inherited from ​

DwJsonConfig.webdavHostname