Skip to content

Commit 917c230

Browse files
authored
@W-21197996 Unregister placeholder tools and update readme (#202)
1 parent cc243d7 commit 917c230

File tree

12 files changed

+46
-283
lines changed

12 files changed

+46
-283
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@salesforce/b2c-dx-docs': patch
3+
---
4+
5+
MCP docs: preview release wording, sidebar nav, remove placeholder tool references
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
'@salesforce/b2c-dx-mcp': patch
3+
---
4+
5+
Unregister placeholder tools and update README for preview release
6+
7+
- Remove placeholder tools (PWA Kit, Storefront Next) so users only see implemented tools at startup
8+
- Update README: preview release wording, accurate tool tables, credential notes, example prompts
9+
- Fix package license to Apache-2.0

docs/mcp/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: MCP Server for Salesforce B2C Commerce - AI-assisted development to
66

77
The B2C DX MCP Server enables AI assistants (like Cursor, Claude Desktop, and others) to help with B2C Commerce development tasks. It provides toolsets for **SCAPI**, **CARTRIDGES**, **MRT**, **PWAV3**, and **STOREFRONTNEXT** development.
88

9-
> ⚠️ **Active Development**: This package is under active development. Some tools are currently **placeholder implementations** that return mock responses. Tool implementations will be added incrementally.
9+
> ⚠️ **Preview Release**: This package is in preview. Tools are functional but require `--allow-non-ga-tools` to enable. Additional tools will be added in future releases.
1010
1111
## Overview
1212

docs/mcp/toolsets.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Available toolsets and tools in the B2C DX MCP Server for SCAPI, CA
66

77
The B2C DX MCP Server provides five toolsets with specialized tools for different B2C Commerce development workflows.
88

9-
> **Note:** Some tools are currently placeholder or early release implementations. Use `--allow-non-ga-tools` flag to enable them.
9+
> **Note:** Tools require `--allow-non-ga-tools` to enable (preview release).
1010
1111
## Overview
1212

@@ -53,21 +53,14 @@ Managed Runtime operations for PWA Kit and Storefront Next deployments.
5353

5454
PWA Kit v3 development tools for building headless storefronts.
5555

56-
**Status:** 🚧 Placeholder
56+
**Status:** 🚧 Early Access (PWA Kit-specific tools planned)
5757

5858
**Auto-enabled for:** PWA Kit v3 projects (detected by `@salesforce/pwa-kit-*` dependencies)
5959

6060
### Tools
6161

6262
| Tool | Description | Documentation |
6363
|------|-------------|---------------|
64-
| `pwakit_create_storefront` | Create a new PWA Kit storefront project ||
65-
| `pwakit_create_page` | Create a new page component in the PWA Kit project ||
66-
| `pwakit_create_component` | Create a React component in the PWA Kit project ||
67-
| `pwakit_get_dev_guidelines` | Get PWA Kit development guidelines and best practices ||
68-
| `pwakit_recommend_hooks` | Recommend appropriate React hooks for PWA Kit use cases ||
69-
| `pwakit_run_site_test` | Run site tests for PWA Kit project ||
70-
| `pwakit_install_agent_rules` | Install AI agent rules for PWA Kit development ||
7164
| [`scapi_schemas_list`](./tools/scapi-schemas-list) | List or fetch SCAPI schemas (standard and custom). Use apiFamily: "custom" for custom APIs. | [View details](./tools/scapi-schemas-list) |
7265
| [`scapi_custom_apis_status`](./tools/scapi-custom-apis-status) | Get registration status of custom API endpoints (active/not_registered). Remote only, requires OAuth. | [View details](./tools/scapi-custom-apis-status) |
7366
| [`mrt_bundle_push`](./tools/mrt-bundle-push) | Build, push bundle (optionally deploy) | [View details](./tools/mrt-bundle-push) |
@@ -86,13 +79,12 @@ Salesforce Commerce API discovery and exploration.
8679
|------|-------------|---------------|
8780
| [`scapi_schemas_list`](./tools/scapi-schemas-list) | List or fetch SCAPI schemas (standard and custom). Use apiFamily: "custom" for custom APIs. | [View details](./tools/scapi-schemas-list) |
8881
| [`scapi_custom_apis_status`](./tools/scapi-custom-apis-status) | Get registration status of custom API endpoints (active/not_registered). Remote only, requires OAuth. | [View details](./tools/scapi-custom-apis-status) |
89-
| `scapi_customapi_scaffold` | Scaffold a new custom SCAPI API (not yet implemented) ||
9082

9183
## STOREFRONTNEXT
9284

9385
Storefront Next development tools for building modern storefronts.
9486

95-
**Status:** 🚧 Placeholder
87+
**Status:** 🚧 Early Access
9688

9789
**Auto-enabled for:** Storefront Next projects (detected by `@salesforce/storefront-next*` dependencies)
9890

@@ -101,12 +93,7 @@ Storefront Next development tools for building modern storefronts.
10193
| Tool | Description | Documentation |
10294
|------|-------------|---------------|
10395
| `storefront_next_development_guidelines` | Get Storefront Next development guidelines and best practices ||
104-
| `storefront_next_site_theming` | Configure and manage site theming for Storefront Next ||
105-
| `storefront_next_figma_to_component_workflow` | Convert Figma designs to Storefront Next components ||
106-
| `storefront_next_generate_component` | Generate a new Storefront Next component ||
107-
| `storefront_next_map_tokens_to_theme` | Map design tokens to Storefront Next theme configuration ||
10896
| [`storefront_next_page_designer_decorator`](./tools/storefront-next-page-designer-decorator) | Add Page Designer decorators to Storefront Next components | [View details](./tools/storefront-next-page-designer-decorator) |
109-
| `storefront_next_generate_page_designer_metadata` | Generate Page Designer metadata for Storefront Next components ||
11097
| [`scapi_schemas_list`](./tools/scapi-schemas-list) | List or fetch SCAPI schemas (standard and custom). Use apiFamily: "custom" for custom APIs. | [View details](./tools/scapi-schemas-list) |
11198
| [`scapi_custom_apis_status`](./tools/scapi-custom-apis-status) | Get registration status of custom API endpoints (active/not_registered). Remote only, requires OAuth. | [View details](./tools/scapi-custom-apis-status) |
11299
| [`mrt_bundle_push`](./tools/mrt-bundle-push) | Build, push bundle (optionally deploy) | [View details](./tools/mrt-bundle-push) |

packages/b2c-dx-mcp/README.md

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
MCP (Model Context Protocol) server for Salesforce B2C Commerce developer experience tools.
44

5-
> ⚠️ **Active Development**: This package is under active development. Some tools are currently **placeholder implementations** that return mock responses. Tool implementations will be added incrementally.
5+
> ⚠️ **Preview Release**: This package is in preview. Tools are functional but require `--allow-non-ga-tools` to enable. Additional tools will be added in future releases.
66
77
## Overview
88

@@ -184,6 +184,8 @@ Credentials can be provided via **config files** (recommended), **environment va
184184
| **PWAV3** | `--project-directory` only (+ MRT config for deployments) |
185185
| **STOREFRONTNEXT** | `--project-directory` only (+ MRT/CARTRIDGES config for those tools) |
186186

187+
> **Note:** SCAPI and CARTRIDGES use the same `hostname` (your B2C instance). All B2C credentials are typically stored together in `dw.json`.
188+
187189
**Option 1: Config files (recommended)**
188190

189191
B2C credentials — [`dw.json`](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/configuration.html#configuration-file) in your project root:
@@ -254,7 +256,7 @@ See [Flag Reference](#flag-reference) for all available flags and env vars.
254256

255257
Use `--toolsets all` to enable all toolsets, or select specific ones with `--toolsets CARTRIDGES,MRT`.
256258

257-
> **Note:** All tools are currently placeholder implementations. Use `--allow-non-ga-tools` flag to enable them.
259+
> **Note:** Tools require `--allow-non-ga-tools` to enable (preview release).
258260
259261
#### CARTRIDGES
260262
Cartridge development, deployment, and code version management.
@@ -274,17 +276,10 @@ Managed Runtime operations for PWA Kit and Storefront Next deployments.
274276

275277
#### PWAV3
276278
PWA Kit v3 development tools for building headless storefronts.
277-
- **Status:** 🚧 Placeholder
279+
- **Status:** 🚧 Early Access (PWA Kit-specific tools planned)
278280

279281
| Tool | Description |
280282
|------|-------------|
281-
| `pwakit_create_storefront` | Create a new PWA Kit storefront project |
282-
| `pwakit_create_page` | Create a new page component in PWA Kit project |
283-
| `pwakit_create_component` | Create a new React component in PWA Kit project |
284-
| `pwakit_get_dev_guidelines` | Get PWA Kit development guidelines and best practices |
285-
| `pwakit_recommend_hooks` | Recommend appropriate React hooks for PWA Kit use cases |
286-
| `pwakit_run_site_test` | Run site tests for PWA Kit project |
287-
| `pwakit_install_agent_rules` | Install AI agent rules for PWA Kit development |
288283
| `scapi_schemas_list` | List or fetch SCAPI schemas (standard and custom). Use apiFamily: "custom" for custom APIs. |
289284
| `scapi_custom_apis_status` | Get registration status of custom API endpoints (active/not_registered). Remote only, requires OAuth. |
290285
| `mrt_bundle_push` | Build, push bundle (optionally deploy) |
@@ -297,21 +292,15 @@ Salesforce Commerce API discovery and exploration.
297292
|------|-------------|
298293
| `scapi_schemas_list` | List or fetch SCAPI schemas (standard and custom). Use apiFamily: "custom" for custom APIs. |
299294
| `scapi_custom_apis_status` | Get registration status of custom API endpoints (active/not_registered). Remote only, requires OAuth. |
300-
| `scapi_customapi_scaffold` | Scaffold a new custom SCAPI API (not yet implemented) |
301295

302296
#### STOREFRONTNEXT
303297
Storefront Next development tools for building modern storefronts.
304-
- **Status:** 🚧 Placeholder
298+
- **Status:** 🚧 Early Access
305299

306300
| Tool | Description |
307301
|------|-------------|
308302
| `storefront_next_development_guidelines` | Get Storefront Next development guidelines and best practices |
309-
| `storefront_next_site_theming` | Configure and manage site theming for Storefront Next |
310-
| `storefront_next_figma_to_component_workflow` | Convert Figma designs to Storefront Next components |
311-
| `storefront_next_generate_component` | Generate a new Storefront Next component |
312-
| `storefront_next_map_tokens_to_theme` | Map design tokens to Storefront Next theme configuration |
313303
| `storefront_next_page_designer_decorator` | Add Page Designer decorators to Storefront Next components |
314-
| `storefront_next_generate_page_designer_metadata` | Generate Page Designer metadata for Storefront Next components |
315304
| `scapi_schemas_list` | List or fetch SCAPI schemas (standard and custom). Use apiFamily: "custom" for custom APIs. |
316305
| `scapi_custom_apis_status` | Get registration status of custom API endpoints (active/not_registered). Remote only, requires OAuth. |
317306
| `mrt_bundle_push` | Build, push bundle (optionally deploy) |
@@ -446,7 +435,7 @@ Configure your IDE to use the local MCP server. Add this to your IDE's MCP confi
446435
Send raw MCP protocol messages:
447436

448437
```bash
449-
# List all tools (--allow-non-ga-tools required for placeholder tools)
438+
# List all tools (--allow-non-ga-tools required for preview tools)
450439
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node bin/dev.js --toolsets all --allow-non-ga-tools
451440

452441
# Call a specific tool

packages/b2c-dx-mcp/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "MCP server for B2C Commerce developer experience tools",
44
"version": "0.4.4",
55
"author": "Salesforce",
6-
"license": "MIT",
6+
"license": "Apache-2.0",
77
"repository": "SalesforceCommerceCloud/b2c-developer-tooling",
88
"keywords": [
99
"salesforce",

packages/b2c-dx-mcp/src/registry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ async function registerTools(tools: McpTool[], server: B2CDxMcpServer, allowNonG
265265
}
266266

267267
// Register the tool
268-
// TODO: Telemetry - Tool registration includes timing/error tracking
268+
// Register the tool (invocations are tracked by B2CDxMcpServer)
269269
server.addTool(tool.name, tool.description, tool.inputSchema, async (args) => tool.handler(args));
270270
}
271271
}

packages/b2c-dx-mcp/src/tools/index.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@
99
*
1010
* This module exports all available tools and utilities.
1111
* Tools use the @salesforce/b2c-tooling-sdk operations layer directly.
12-
*
13-
* > ⚠️ **PLACEHOLDER - ACTIVE DEVELOPMENT**
14-
* > Tools are currently placeholder implementations that return mock responses.
15-
* > Actual implementations are coming soon. Use `--allow-non-ga-tools` flag to enable.
12+
* Use `--allow-non-ga-tools` flag to enable tools (preview release).
1613
*
1714
* @module tools
1815
*/

packages/b2c-dx-mcp/src/tools/pwav3/index.ts

Lines changed: 10 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -8,138 +8,25 @@
88
* PWA Kit v3 toolset for B2C Commerce.
99
*
1010
* This toolset provides MCP tools for PWA Kit v3 development.
11-
*
12-
* > ⚠️ **PLACEHOLDER - ACTIVE DEVELOPMENT**
13-
* > Tools in this module are placeholder implementations that return mock responses.
14-
* > Actual implementations are coming soon. Use `--allow-non-ga-tools` flag to enable.
11+
* PWA Kit-specific tools are planned for future releases.
12+
* mrt_bundle_push (from MRT toolset) is available for PWAV3 projects.
1513
*
1614
* @module tools/pwav3
1715
*/
1816

19-
import {z} from 'zod';
20-
import type {McpTool, Toolset} from '../../utils/index.js';
17+
import type {McpTool} from '../../utils/index.js';
2118
import type {Services} from '../../services.js';
22-
import {createToolAdapter, jsonResult} from '../adapter.js';
23-
24-
/**
25-
* Common input type for placeholder tools.
26-
*/
27-
interface PlaceholderInput {
28-
message?: string;
29-
}
30-
31-
/**
32-
* Common output type for placeholder tools.
33-
*/
34-
interface PlaceholderOutput {
35-
tool: string;
36-
status: string;
37-
message: string;
38-
input: PlaceholderInput;
39-
timestamp: string;
40-
}
41-
42-
/**
43-
* Creates a placeholder tool for PWA Kit development.
44-
*
45-
* Placeholder tools log invocations and return mock responses until
46-
* the actual implementation is available.
47-
*
48-
* @param name - Tool name
49-
* @param description - Tool description
50-
* @param toolsets - Toolsets this tool belongs to
51-
* @param loadServices - Function that loads configuration and returns Services instance
52-
* @returns The configured MCP tool
53-
*/
54-
function createPlaceholderTool(
55-
name: string,
56-
description: string,
57-
toolsets: Toolset[],
58-
loadServices: () => Services,
59-
): McpTool {
60-
return createToolAdapter<PlaceholderInput, PlaceholderOutput>(
61-
{
62-
name,
63-
description: `[PLACEHOLDER] ${description}`,
64-
toolsets,
65-
isGA: false,
66-
requiresInstance: false,
67-
inputSchema: {
68-
message: z.string().optional().describe('Optional message to echo'),
69-
},
70-
async execute(args) {
71-
// Placeholder implementation
72-
const timestamp = new Date().toISOString();
73-
74-
return {
75-
tool: name,
76-
status: 'placeholder',
77-
message: `This is a placeholder implementation for '${name}'. The actual implementation is coming soon.`,
78-
input: args,
79-
timestamp,
80-
};
81-
},
82-
formatOutput: (output) => jsonResult(output),
83-
},
84-
loadServices,
85-
);
86-
}
8719

8820
/**
8921
* Creates all tools for the PWAV3 toolset.
9022
*
91-
* Note: mrt_bundle_push is defined in the MRT toolset with
92-
* toolsets: ["MRT", "PWAV3", "STOREFRONTNEXT"] and will
93-
* automatically appear in PWAV3.
23+
* PWA Kit-specific tools are not yet implemented. mrt_bundle_push is defined
24+
* in the MRT toolset with toolsets: ["MRT", "PWAV3", "STOREFRONTNEXT"] and
25+
* automatically appears in PWAV3 for bundle deployment.
9426
*
95-
* @param loadServices - Function that loads configuration and returns Services instance
96-
* @returns Array of MCP tools
27+
* @param _loadServices - Function that loads configuration and returns Services instance
28+
* @returns Array of MCP tools (empty until PWA Kit tools are implemented)
9729
*/
98-
export function createPwav3Tools(loadServices: () => Services): McpTool[] {
99-
return [
100-
// PWA Kit development tools
101-
createPlaceholderTool(
102-
'pwakit_create_storefront',
103-
'Create a new PWA Kit storefront project',
104-
['PWAV3'],
105-
loadServices,
106-
),
107-
createPlaceholderTool(
108-
'pwakit_create_page',
109-
'Create a new page component in PWA Kit project',
110-
['PWAV3'],
111-
loadServices,
112-
),
113-
createPlaceholderTool(
114-
'pwakit_create_component',
115-
'Create a new React component in PWA Kit project',
116-
['PWAV3'],
117-
loadServices,
118-
),
119-
createPlaceholderTool(
120-
'pwakit_get_dev_guidelines',
121-
'Get PWA Kit development guidelines and best practices',
122-
['PWAV3'],
123-
loadServices,
124-
),
125-
createPlaceholderTool(
126-
'pwakit_recommend_hooks',
127-
'Recommend appropriate React hooks for PWA Kit use cases',
128-
['PWAV3'],
129-
loadServices,
130-
),
131-
createPlaceholderTool('pwakit_run_site_test', 'Run site tests for PWA Kit project', ['PWAV3'], loadServices),
132-
createPlaceholderTool(
133-
'pwakit_install_agent_rules',
134-
'Install AI agent rules for PWA Kit development',
135-
['PWAV3'],
136-
loadServices,
137-
),
138-
createPlaceholderTool(
139-
'pwakit_explore_scapi_shop_api',
140-
'Explore SCAPI Shop API endpoints and capabilities',
141-
['PWAV3'],
142-
loadServices,
143-
),
144-
];
30+
export function createPwav3Tools(_loadServices: () => Services): McpTool[] {
31+
return [];
14532
}

packages/b2c-dx-mcp/src/tools/storefrontnext/README.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -201,15 +201,3 @@ The tool automatically searches for components in these locations (in order):
201201
Component discovery uses the project directory resolved from `--project-directory` flag or `SFCC_PROJECT_DIRECTORY` environment variable (via Services). This ensures searches start from the correct project directory, especially when MCP clients spawn servers from the home directory.
202202

203203
**See also**: [Detailed documentation](./page-designer-decorator/README.md) for complete usage guide, architecture details, and examples.
204-
205-
## Placeholder Tools
206-
207-
The following tools are placeholders awaiting implementation:
208-
209-
- `storefront_next_site_theming` - Configure and manage site theming for Storefront Next
210-
- `storefront_next_figma_to_component_workflow` - Convert Figma designs to Storefront Next components
211-
- `storefront_next_generate_component` - Generate a new Storefront Next component
212-
- `storefront_next_map_tokens_to_theme` - Map design tokens to Storefront Next theme configuration
213-
- `storefront_next_generate_page_designer_metadata` - Generate Page Designer metadata for Storefront Next components
214-
215-
Use `--allow-non-ga-tools` flag to enable placeholder tools.

0 commit comments

Comments
 (0)