mcpField
B
b2c-cip

b2c-cip

github.com/salesforcecommercecloudData & databases5773 installsUpdated today
Repository

About b2c-cip

b2c-cip is a skill for analyzing Salesforce Commerce Insights warehouse reports and data with MCP or the `b2c` CLI. It guides report discovery, scoped queries, and interpretation while distinguishing warehouse trends from current records and immediate diagnostics.

Key features

  1. 01Discover reports and parameters
  2. 02Run reports and SQL queries
  3. 03Inspect relevant tables and columns
  4. 04Filter by site and date range
  5. 05Interpret metrics with coverage limits

Use cases

  1. 01Review sales trends for a chosen period
  2. 02Analyze SCAPI latency or error rates
  3. 03Investigate cache ratios or client usage
  4. 04Adapt a report with custom SQL

MCP support

The skill recommends MCP `cip_discover` and `cip_query` when available, and directs users to read the MCP skill before querying. The `b2c` CLI is presented for explicit CLI work, automation, and larger local exports.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/salesforcecommercecloud/b2c-developer-tooling --skill b2c-cip

After installing, type/b2c-cipin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

evals/
trigger-evals.json
references/
KNOWN_TABLES.md
SALES_ANALYSIS.md
STARTER_QUERIES.md

Details

From the project README

CIP analytics

Use warehouse analytics for trends; use SCAPI/logs for current records and immediate diagnosis. If b2c is unavailable, use npx @salesforce/b2c-cli.

Choose the surface

  • Prefer MCP cip_discover / cip_query when available. Read skill://mcp/b2c-mcp-cip/SKILL.md before querying and pass skillRead: true. Discovery/config inspection is ungated. No terminal or token export needed.
  • Use CLI for explicit CLI requests, automation, or larger local CSV/JSON exports. MCP limits results to 500 rows / 24 KB; truncated means incomplete output, and rowCount counts returned rows. CLI defaults differ: date flags use the current month unless overridden. Set explicit dates for the user's task.
  • Both surfaces use the same reports and toolkit configuration. Do not run both to repeat a successful result.

Configuration and access

Reuse resolved tenantId, clientId, clientSecret from dw.json, environment, instance selection, and configuration plugins. Use masked b2c setup inspect only if target/access is unclear; ask for missing values instead of guessing. Do not read secret files or export tokens for normal analytics requests.

Requires Account Manager client credentials and the Salesforce Commerce API role with the target tenant in its tenant filter. User/SLAS/JWT flows do not apply. Overrides:

ValueCLI / environment
Tenant--tenant-id (--tenant) / SFCC_TENANT_ID
Client--client-id / SFCC_CLIENT_ID
Secret--client-secret / SFCC_CLIENT_SECRET
Analytics host--cip-host / SFCC_CIP_HOST
Force staging analytics--staging / SFCC_CIP_STAGING

Tenants ending _prd select production analytics; other tenants select staging. Explicit host configuration wins. Staging analytics is a destination, not an instruction to change the target instance. Non-production data requires 26.1+ Enable Reports & Dashboards Data Tracking. Production tenants in test realms can also need staging analytics. Dashboard: https://ccac.stg.analytics.commercecloud.salesforce.com.

Missing configuration/availability: analytics guide (b2c docs read guide-analytics-reports-cip-ccac). Resolution details: b2c-cli/b2c-config. Read only the relevant section.

Discover and execute

  1. List/search reports; inspect the selected report's parameters. MCP report details also supply tables and available result notes.
  2. Fix site/date scope. Warehouse nsite_id often resembles Sites-Example-Site; verify it in ccdw_dim_site rather than constructing it from a SCAPI site ID.
  3. Run the report. Preview SQL only to adapt it or resolve an unclear definition. Inspect table columns when custom SQL needs them; avoid exhaustive browsing.
b2c cip report list --category "Sales Analytics"
b2c cip report sales-analytics --describe
b2c cip report sales-analytics --site-id Sites-Example-Site --from 2026-09-01 --to 2026-09-07

# Existing report does not fit: inspect the relevant table, then adapt SQL.
b2c cip tables --pattern "ccdw_aggr_sales%"
b2c cip describe ccdw_aggr_sales_summary
b2c cip report sales-analytics --site-id Sites-Example-Site --from 2026-09-01 --to 2026-09-07 --sql

# Execute a reviewed query; CLI replaces <FROM>/<TO> date placeholders.
b2c cip query --file ./query.sql --from 2026-09-01 --to 2026-09-07 --format csv > sales.csv

Raw SQL also accepts a positional query or stdin. MCP SQL must contain literal dates; placeholder substitution is a CLI feature. Preserve exit status/errors when redirecting output. --format table|csv|json controls report/query output; --json uses the CLI's standard JSON envelope.

Select technical reports

QuestionReport / constraint
Slow SCAPI endpointsscapi-latency-distribution; histogram buckets describe a distribution, not exact percentiles
HTTP failuresscapi-error-rate-by-status --status-class 5xx
Cache effectivenessscapi-cache-hit-ratio
Integration client usageocapi-client-usage
SFRA controllerscontroller-health-scorecard, controller-error-rate-trend; site required

SCAPI traffic can be headless or unassigned. Omit optional site filters only for an intended all-site analysis; explain scope. Discover exact parameters with --describe instead of inventing flags. All examples require a chosen date window.

Query and interpret

Filter dates/sites and select needed columns; LIMIT alone does not bound database work. Prefer aggregate tables over fact joins. Use summed revenue / summed orders for period AOV, not daily averages. Preserve null ratios, missing dates, currency, timezone, and coverage limits. Latest event date is not ingestion freshness.

Safety Mode applies; CIP uses POST even for SELECT/metadata. Do not bypass a block. For 401/403, check credentials, role, and tenant filter without inferring that every denial is a missing role. For quota/timeouts, narrow the window or query; no retry loops. Official access and service limits.

Conditional references

Read a matching section only when the task needs it:

Stop once the requested result and material limitations are established.

Comments

Markdown supported