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

b2c_tooling_sdk.instance ​

B2C instance management.

Mirrors src/instance/index.ts. The B2CInstance class represents a connection to a specific B2C Commerce instance, combining instance configuration with authentication to provide lazy, typed API clients (WebDAV, OCAPI).

Typically an instance is built from resolved configuration (resolve_config(...).create_b2c_instance()) rather than constructed directly.

Classes ​

B2CInstance ​

python
class B2CInstance

Represents a connection to a B2C Commerce instance.

Provides lazy, typed API clients for WebDAV and OCAPI. Authentication is handled automatically based on the configured credentials: WebDAV prefers Basic auth when configured and allowed, otherwise falls back to OAuth; OCAPI always uses OAuth.

Fields

NameTypeDescription
webdav_hostnamestrThe hostname used for WebDAV operations (falls back to the main hostname).
api_backendApiBackendBackend preference for dual-backend operations (defaults to "auto").
scapi_client_configScapiClientConfig | NoneSCAPI coordinates + a scope-flexible auth strategy, or None if unavailable. Returns None unless short_code and tenant_id are configured and the configured OAuth flow is stateless (client-credentials or JWT Bearer). Browser user-auth and fixed-token sessions are excluded because SCAPI Admin APIs require system authentication that can request sfcc.* scopes per request.
webdavWebDavClientLazy WebDAV client for file operations.
ocapiOcapiClientLazy OCAPI Data API client (always uses OAuth).

B2CInstanceOptions ​

python
class B2CInstanceOptions

Optional runtime dependencies for a B2CInstance.

oauth_strategy lets callers reuse their own session-aware auth resolution (PKCE refresh, implicit fallback) without eagerly starting browser auth for Basic-only WebDAV work. It may be a strategy instance or a zero-arg factory.

Fields

NameTypeDefault
oauth_strategyAuthStrategy | Callable[[], AuthStrategy] | NoneNone

InstanceConfig ​

python
class InstanceConfig

Instance configuration (hostname, code version, SCAPI coordinates, TLS).

Fields

NameTypeDefault
hostnamestr
code_versionstr | NoneNone
webdav_hostnamestr | NoneNone
tls_optionsTlsOptions | NoneNone
short_codestr | NoneNone
tenant_idstr | NoneNone
api_backendApiBackend | NoneNone

ScapiClientConfig ​

python
class ScapiClientConfig

SCAPI connection coordinates plus a scope-flexible auth strategy.

Returned by B2CInstance.scapi_client_config only when the instance carries both a short_code and tenant_id and is configured with a stateless OAuth flow (client-credentials or JWT Bearer) able to request arbitrary sfcc.* scopes per request.

Fields

NameType
short_codestr
tenant_idstr
authAuthStrategy

Attributes ​

ApiBackend ​

python
ApiBackend = Literal['ocapi', 'scapi', 'auto']