# Salesforce Commerce Cloud MCP

> Salesforce Commerce Cloud MCP Server connects your AI client directly to core Salesforce e-commerce data. Use it to manage products, track orders, and validate pricing across complex catalogs using natural conversation. Need to find a product family or check order line items? Your agent handles the whole workflow.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** commerce-cloud, product-catalog, order-tracking, price-books, retail-operations, sales-fulfillment

## Description

You're connectin’ your AI client straight into Salesforce Commerce Cloud, so you don't gotta waste time clicking through endless dashboards. This server lets you handle everything from product catalog deep dives to order fulfillment tracking just by talking to it. Your agent handles the whole workflow.

**Managing Orders and Tracking Fulfillment**

You can pin down specific customer orders using `sf_search_orders`, which checks for them by number or account name, giving you the status, total amount, and effective date right away. If you're dealing with a complex order, use `sf_order_items` to pull every single line item associated with that order; it details the product name, how many units were ordered, the unit cost, and the final total price for each item. For managing fulfillment queues, you can run `sf_orders_by_status`, letting you filter orders down to only those marked 'Draft' or 'Activated.'

**Handling Product Catalog Data**

The catalog is huge, but we’ll get you what you need. You can search the whole product database using `sf_search_products` by name or SKU; this tells ya about the item's family, description, and if it's active. Need to browse a specific segment? Use `sf_products_by_family` to grab every available, active product that belongs to one category, like 'Software.' And when you gotta fix something—like changing a product’s name, status, code, or even grouping it under a new family—you run `sf_update_product`. 

**Pricing Logic and Pricebooks**

The pricing structure is complicated, but we'll make sense of it. First, you can use `sf_list_pricebooks` to get a list of every single price book in your org; this shows you the name, description, and whether it’s the standard one. To check what an item costs under specific rules, run `sf_pricebook_entries`. This pulls out the exact unit price and active status for a product within any given price book context.

**How It All Works Together**

Your agent doesn't just give you data; it handles the whole sequence. You can search for an order using `sf_search_orders`, then grab all of its line items with `sf_order_items`. If you need to verify what that product costs under a specific channel, your agent runs `sf_list_pricebooks` first, and then uses `sf_pricebook_entries` against the relevant price book. You can browse an entire category using `sf_products_by_family`, find a SKU with `sf_search_products`, and if you spot an error in the product details, you use `sf_update_product`. This keeps your AI client focused on action, not just reading data.

## Tools

### sf_list_pricebooks
Lists all price books in Salesforce, showing their name, description, and if they are marked as standard.

### sf_order_items
Gets every product line item for a specific order, detailing the quantity, unit cost, and total price per item.

### sf_orders_by_status
Retrieves Salesforce orders filtered by status (Draft or Activated) for fulfillment tracking.

### sf_pricebook_entries
Gets all product price entries within a specific price book, listing unit prices and active status.

### sf_products_by_family
Retrieves all active products that belong to one specified family for catalog browsing.

### sf_search_orders
Searches Salesforce orders by number or account name, showing status, total amount, and effective date.

### sf_search_products
Searches the product catalog by name or SKU to find items with their family, description, and active status.

### sf_update_product
Updates a product in the Salesforce catalog—changing its name, status, code, or grouping (family).

## Prompt Examples

**Prompt:** 
```
Search for all products in the Enterprise family
```

**Response:** 
```
📦 **Enterprise Products**
| Name | Code | Status |
|---|---|---|
| Enterprise Suite | ENT-001 | ✅ Active |
| Enterprise Plus | ENT-002 | ✅ Active |
| Enterprise Lite | ENT-003 | ❌ Inactive |
```

**Prompt:** 
```
Show all draft orders
```

**Response:** 
```
📋 **Draft Orders**
| Order # | Account | Total |
|---|---|---|
| ORD-001 | Acme Corp | $12,500 |
| ORD-002 | TechCo | $8,900 |
```

**Prompt:** 
```
What items are in order ORD-001?
```

**Response:** 
```
📋 **ORD-001 Line Items**
| Product | Qty | Unit Price | Total |
|---|---|---|---|
| Enterprise Suite | 5 | $2,000 | $10,000 |
| Support Add-on | 5 | $500 | $2,500 |
```

## Capabilities

### List all Price Books
Get a list of every price book in your Salesforce org, showing its name, description, and if it's the standard one.

### Inspect Order Contents
Pull every line item from a specific order—including product names, quantities, unit prices, and total cost per item.

### Filter Orders by Status
Search for orders based only on their status (like 'Draft' or 'Activated') to manage fulfillment queues.

### Check Product Pricing Details
Retrieve the specific unit price and active status of a product within any given price book context.

### Browse by Product Family
View all available, active products that belong to a specified category or product family (e.g., 'Software').

### Search and Verify Orders
Find specific customer orders using the order number or account name, seeing status, total amount, and date.

### Catalog Search & Update
Search the entire product catalog by code or name, or update product details like description, status, or family.

## Use Cases

### Checking pricing discrepancies
A Sales Rep needs to quote a client using the 'Partner Pricing' tier. Instead of opening multiple price books and cross-referencing data, they ask their agent to run `sf_pricebook_entries` for that product against the specific price book ID. The agent returns the correct unit price immediately.

### Finding a lost order
A Customer Service Agent gets an email from a client with only an account name. They use `sf_search_orders` to look up that account, quickly finding all associated orders, their status (Draft/Activated), and the total amount.

### Decommissioning old products
The Product Manager needs to remove a product line entirely. They use `sf_update_product` to set the item's `IsActive` status to false, ensuring it never appears in future searches or orders.

### Audit order content
An analyst needs proof of what was purchased on a specific invoice. They pass the order number to the agent, which runs `sf_order_items`. The result is a clear table showing every product sold and its final unit price.

## Benefits

- Track order history instantly. Use `sf_search_orders` to look up an order by number or account name, getting the total amount and status without leaving your chat window.
- Validate pricing across channels. Run `sf_pricebook_entries` to check a product's unit price in any specific context (like 'Enterprise Discount') before confirming a quote.
- Maintain catalog integrity easily. Use `sf_update_product` when you need to discontinue an item or reclassify its family grouping, logging the change immediately.
- Review order details precisely. The `sf_order_items` tool breaks down any order into line items, showing exactly what was purchased and at what unit price.
- Manage fulfillment queues. Use `sf_orders_by_status` to filter for all 'Draft' orders across your organization, letting you focus only on pending work.
- Browse the catalog by grouping. If a user asks about 'Software,' use `sf_products_by_family` to get an immediate list of relevant, active products.

## How It Works

The bottom line is: your AI client handles the API complexity; you just talk about what you need.

1. You prompt your AI agent with a goal (e.g., 'Show me all draft orders for Acme Corp').
2. The server determines which tool to run (like `sf_search_orders`) and executes the necessary calls against Salesforce.
3. Your agent receives structured data—a clean list, table, or set of records—which it then formats and presents directly back to you.

## Frequently Asked Questions

**How do I use sf_search_orders to find a specific customer order?**
You pass your agent an identifying detail, like the account name or order number. The agent runs `sf_search_orders` and returns all relevant transaction details, including status and total amount.

**What is the best tool for checking product pricing? sf_pricebook_entries?**
Yes, `sf_pricebook_entries` is the right tool. It gets the unit price of a specific product within any defined context or channel's price book.

**Can I use sf_products_by_family to browse the catalog?**
Yes, `sf_products_by_family` pulls all active products that share one family designation. This is great for category-level browsing in your AI conversation.

**What should I use if I need to update a product's details?**
You must use `sf_update_product`. This single tool lets you change the name, description, active status, or family of an existing catalog item.

**If I need to see the detailed line item breakdown of an order, should I use sf_order_items?**
Yes. This tool returns every product name, quantity, unit price, and total price for a specific order number. It's best for auditing or verifying complex billing structures.

**How can I check the overall status of multiple orders at once? Which tool should I use: sf_orders_by_status?**
Use `sf_orders_by_status` to filter all orders by their current state. You get lists and counts for Draft or Activated records, which is key for mass fulfillment reporting.

**Before I check specific product pricing, how do I list all available price books using sf_list_pricebooks?**
This function lists every price book in the Salesforce org. It gives you the name, description, active status, and tells you if it's the default standard price book.

**I need to find a product using only its SKU or part of its name; what does sf_search_products provide?**
It searches the catalog by name or product code. The results show you the family, description, and whether the product is currently active for sale.

**What product data can I manage?**
Search products by name or code, filter by family, view active status, and update fields like name, description, and active status.

**Can I view order details?**
Yes — search orders, filter by status, and view complete line items with quantities and prices.

**How do price books work?**
List all price books, then view entries for each — showing product, unit price, and active status.