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 --scope project

Start a new Claude Code session in your project. Use --scope user instead for all projects.

Manual MCP setup

From your project directory:

bash
claude mcp add --transport stdio --scope project b2c-dx-mcp -- npx -y @salesforce/b2c-dx-mcp@latest

Start a new session. Use --scope user instead for all projects. 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

From your project directory, run:

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

Start a new Gemini CLI session. Use --scope user instead for all projects. 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 / ConfigSource

Interface: ConfigSource

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:358

A configuration source that can contribute config values.

Implement this interface to create custom configuration sources. Sources are called in order, and later sources can override earlier ones.

Example

typescript
import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions } from '@salesforce/b2c-tooling-sdk/config';

class MyCustomSource implements ConfigSource {
  name = 'my-custom-source';

  async load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined> {
    // Load config from your custom source (sync return values also work)
    return { config: { hostname: 'example.com' }, location: '/path/to/config' };
  }
}

Properties

credentialFields?

optional credentialFields: keyof NormalizedConfig[]

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:418

Fields this source can securely store (e.g., ['password', 'clientSecret']).


name

name: string

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:360

Human-readable name for diagnostics


priority?

optional priority: number

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:373

Priority for source ordering. Lower numbers = higher priority.

Recommended ranges:

  • < 0: Before built-in sources (override defaults)
  • 0: Built-in sources (DwJsonSource, MobifySource)
  • 1-999: After built-in sources (fill gaps)
  • 1000: Lowest priority (PackageJsonSource)

Default

ts
0

Methods

createInstance()?

optional createInstance(options): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:397

Create a new instance in this source.

Parameters

options

CreateInstanceOptions & ResolveConfigOptions

Creation options including name and config

Returns

MaybePromise<void>


listInstances()?

optional listInstances(options?): MaybePromise<InstanceInfo[]>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:391

List all instances from this source.

Parameters

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<InstanceInfo[]>

Array of instance info objects. May return synchronously or as a Promise.


load()

load(options): MaybePromise<ConfigLoadResult | undefined>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:382

Load configuration from this source.

Parameters

options

ResolveConfigOptions

Resolution options

Returns

MaybePromise<ConfigLoadResult | undefined>

Config and location from this source, or undefined if source not available. May return synchronously or as a Promise.


removeCredential()?

optional removeCredential(instanceName, field, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:440

Remove a credential for an instance.

Parameters

instanceName

string

Instance name

field

keyof NormalizedConfig

Config field to remove

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>


removeInstance()?

optional removeInstance(name, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:404

Remove an instance from this source.

Parameters

name

string

Instance name to remove

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>


setActiveInstance()?

optional setActiveInstance(name, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:411

Set an instance as active.

Parameters

name

string

Instance name to set as active

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>


storeCredential()?

optional storeCredential(instanceName, field, value, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:427

Store a credential value for an instance.

Parameters

instanceName

string

Instance name

field

keyof NormalizedConfig

Config field to store

value

string

Value to store

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>