Install AI Tools

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

Claude

Using Claude Desktop? See Claude Desktop (Cowork) setup.

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.

Codex/ChatGPT

Using the ChatGPT desktop app (ChatGPT Work)? See ChatGPT Work setup.

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. Codex plugins also work in ChatGPT Work.

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.

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

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

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

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

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

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

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

Inherited from ​

DwJsonConfig.autoUpload


cartridgeIgnoreDirs? ​

optional cartridgeIgnoreDirs: string[]

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

Directory names skipped at any depth when archiving cartridges for deploy

Inherited from ​

DwJsonConfig.cartridgeIgnoreDirs


cartridges? ​

optional cartridges: string | string[]

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

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

Catalog IDs for WebDAV browsing

Inherited from ​

DwJsonConfig.catalogs


certificate? ​

optional certificate: string

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

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

Passphrase for the certificate

Inherited from ​

DwJsonConfig.certificatePassphrase


cipHost? ​

optional cipHost: string

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

Optional CIP analytics host override

Inherited from ​

DwJsonConfig.cipHost


clientAuthMethod? ​

optional clientAuthMethod: ClientAuthMethod

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

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

Array of named instance configurations


contentLibrary? ​

optional contentLibrary: string

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

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

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

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

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

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

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

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

MRT API key

Inherited from ​

DwJsonConfig.mrtApiKey


mrtBackend? ​

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

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

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

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

MRT cloud origin URL

Inherited from ​

DwJsonConfig.mrtOrigin


mrtProject? ​

optional mrtProject: string

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

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

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

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

ODS API hostname

Inherited from ​

DwJsonConfig.sandboxApiHost


scapiSchemas? ​

optional scapiSchemas: string[]

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

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

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

Tenant/Organization ID for SCAPI

Inherited from ​

DwJsonConfig.tenantId


userAuth? ​

optional userAuth: boolean

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

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

Alternate hostname for WebDAV (if different from main hostname)

Inherited from ​

DwJsonConfig.webdavHostname