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 / clients / MiddlewareRegistry

Class: MiddlewareRegistry ​

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:159

Registry for HTTP middleware providers.

The registry collects middleware from multiple providers and returns them in registration order when requested by client factories.

Usage Modes ​

SDK Mode: Register providers directly via register():

typescript
globalMiddlewareRegistry.register(myProvider);

CLI Mode: Providers are collected via the b2c:http-middleware hook and registered during command initialization.

Constructors ​

Constructor ​

new MiddlewareRegistry(): MiddlewareRegistry

Returns ​

MiddlewareRegistry

Accessors ​

size ​

Get Signature ​

get size(): number

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:238

Returns the number of registered providers.

Returns ​

number

Methods ​

clear() ​

clear(): void

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:231

Clears all registered providers.

Primarily useful for testing.

Returns ​

void


getMiddleware() ​

getMiddleware(clientType, options): Middleware[]

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:207

Collects middleware from all providers for a specific client type.

Parameters ​

clientType ​

HttpClientType

The type of client requesting middleware

options ​
exclude? ​

string[]

Returns ​

Middleware[]

Array of middleware in registration order


getProviderNames() ​

getProviderNames(): string[]

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:245

Returns the names of all registered providers.

Returns ​

string[]


register() ​

register(provider): void

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:182

Registers a middleware provider.

Providers are called in registration order when middleware is requested.

Parameters ​

provider ​

HttpMiddlewareProvider

The provider to register

Returns ​

void


runWithOverrides() ​

runWithOverrides<T>(providers, callback): T

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:169

Replace named providers for one execution and its asynchronous descendants. Other providers remain installed. Nested scopes inherit overrides, while concurrent executions and callers outside the scope keep their own policy. Clients that capture middleware should be created inside the callback.

Type Parameters ​

T ​

T

Parameters ​

providers ​

readonly HttpMiddlewareProvider[]

callback ​

() => T

Returns ​

T


unregister() ​

unregister(name): boolean

Defined in: packages/b2c-tooling-sdk/src/clients/middleware-registry.ts:192

Unregisters a middleware provider by name.

Parameters ​

name ​

string

The name of the provider to remove

Returns ​

boolean

true if a provider was removed, false if not found