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

SLAS Shopper Login ​

The b2c_tooling_sdk.slas subpackage retrieves shopper access tokens from the SLAS (Shopper Login and API Access Service) Shopper Login service. It supports both public (PKCE) and private (client_credentials / HTTP Basic) client flows, for guest and registered customers.

This subpackage is intentionally not re-exported from the top-level b2c_tooling_sdk package — import it directly:

python
from b2c_tooling_sdk.slas import get_guest_token, get_registered_token

(Blocking twins live in b2c_tooling_sdk.sync — from b2c_tooling_sdk.sync import get_guest_token.)

Guest tokens ​

Provide a SlasTokenConfig with your SCAPI short code, organization ID, SLAS client ID, site ID, and redirect URI. A public client omits slas_client_secret; a private client provides it.

python
from b2c_tooling_sdk.slas import get_guest_token, SlasTokenConfig

token = await get_guest_token(
    SlasTokenConfig(
        short_code="abcd1234",
        organization_id="f_ecom_zzte_053",
        slas_client_id="your-slas-client-id",
        site_id="RefArch",
        redirect_uri="http://localhost:3000/callback",
        # slas_client_secret="..."   # omit for a public (PKCE) client
    )
)

print(token.access_token)  # shopper JWT
print(token.usid, token.customer_id, token.expires_in)

The result is a SlasTokenResponse with access_token, refresh_token, expires_in, token_type, usid, customer_id, and an optional id_token.

Registered customer tokens ​

get_registered_token takes a SlasRegisteredLoginConfig (a SlasTokenConfig plus shopper_login and shopper_password):

python
from b2c_tooling_sdk.slas import get_registered_token, SlasRegisteredLoginConfig

token = await get_registered_token(
    SlasRegisteredLoginConfig(
        short_code="abcd1234",
        organization_id="f_ecom_zzte_053",
        slas_client_id="your-slas-client-id",
        site_id="RefArch",
        redirect_uri="http://localhost:3000/callback",
        shopper_login="jdoe@example.com",
        shopper_password="s3cret",
    )
)

PKCE helpers ​

For public clients the SDK generates the PKCE code verifier and challenge for you internally. If you are wiring your own flow, the helpers are exported directly:

python
from b2c_tooling_sdk.slas import generate_code_verifier, generate_code_challenge

verifier = generate_code_verifier()
challenge = generate_code_challenge(verifier)

API reference ​

See the SLAS section of the API reference.