salesforce-metadata-mcp 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +115 -0
- package/README.md +63 -3
- package/dist/index.js +4 -4
- package/dist/schemas/index.js +438 -0
- package/dist/services/salesforce.js +1106 -0
- package/dist/tools/admin.js +103 -0
- package/dist/tools/agentforce.js +50 -2
- package/dist/tools/apex.js +85 -2
- package/dist/tools/audit.js +96 -0
- package/dist/tools/automation.js +67 -2
- package/dist/tools/data.js +96 -2
- package/dist/tools/deployment.js +109 -2
- package/dist/tools/einstein.js +79 -0
- package/dist/tools/experience.js +55 -2
- package/dist/tools/index.js +8 -0
- package/dist/tools/integrations.js +93 -2
- package/dist/tools/monitoring.js +80 -0
- package/dist/tools/objects.js +89 -2
- package/dist/tools/omnistudio.js +51 -0
- package/dist/tools/ui.js +32 -2
- package/package.json +29 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,120 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.5.0] - 2026-05-28
|
|
4
|
+
|
|
5
|
+
### New Tools — 45 Additions Across 11 Categories
|
|
6
|
+
|
|
7
|
+
#### Admin & Org Management (6 new)
|
|
8
|
+
- `sf_create_user_role_hierarchy` — Create a UserRole in the Salesforce role hierarchy with optional parent role
|
|
9
|
+
- `sf_reset_user_password` — Reset a user's password and send a password-reset email
|
|
10
|
+
- `sf_freeze_user` — Freeze or unfreeze a user account (blocks login without deactivating)
|
|
11
|
+
- `sf_create_territory` — Create an Enterprise Territory Management (ETM) Territory2
|
|
12
|
+
- `sf_assign_territory_to_user` — Assign a user to a Territory2 via UserTerritory2Association
|
|
13
|
+
- `sf_create_forecast_hierarchy` — Configure a Collaborative Forecasting hierarchy manager relationship
|
|
14
|
+
|
|
15
|
+
#### Object Schema (5 new)
|
|
16
|
+
- `sf_delete_custom_object` — Permanently delete a custom object and all its records (destructive)
|
|
17
|
+
- `sf_delete_custom_field` — Permanently delete a custom field from an object (destructive)
|
|
18
|
+
- `sf_create_rollup_summary_field` — Create a Roll-Up Summary field (COUNT/SUM/MIN/MAX) on a master object
|
|
19
|
+
- `sf_create_external_id_field` — Create an External ID indexed field for upsert operations
|
|
20
|
+
- `sf_enable_object_features` — Enable history tracking, activities, reports, search, feeds, and Bulk API on a custom object
|
|
21
|
+
|
|
22
|
+
#### Automation & Flows (4 new)
|
|
23
|
+
- `sf_update_flow` — Update a Flow's label, description, or API version
|
|
24
|
+
- `sf_clone_flow` — Clone a Flow to a new API name and label
|
|
25
|
+
- `sf_create_flow_test` — Create a Flow Interview Test definition for the Flow Test Manager
|
|
26
|
+
- `sf_create_invocable_action` — Register a custom Invocable Action wrapping an @InvocableMethod Apex class
|
|
27
|
+
|
|
28
|
+
#### Apex Development (5 new)
|
|
29
|
+
- `sf_search_apex` — Search Apex class and trigger source code for a keyword across the org
|
|
30
|
+
- `sf_get_apex_logs` — List recent Apex debug log entries with metadata (operation, duration, size)
|
|
31
|
+
- `sf_get_apex_log_body` — Retrieve the full content of an Apex debug log by ID
|
|
32
|
+
- `sf_create_apex_batch` — Generate and deploy a complete Database.Batchable Apex batch class
|
|
33
|
+
- `sf_create_apex_scheduler` — Generate and deploy a Schedulable Apex class, with optional immediate scheduling
|
|
34
|
+
|
|
35
|
+
#### Deployment & Environment Management (5 new)
|
|
36
|
+
- `sf_rollback_deployment` — Cancel an in-progress metadata deployment by async job ID
|
|
37
|
+
- `sf_create_scratch_org` — Create a new scratch org using SF CLI (requires Dev Hub)
|
|
38
|
+
- `sf_create_sandbox` — Create a new sandbox (Developer, Developer_Pro, Partial, or Full)
|
|
39
|
+
- `sf_refresh_sandbox` — Refresh an existing sandbox to match the current production state
|
|
40
|
+
- `sf_export_package_xml` — Generate a package.xml manifest by listing all components of specified metadata types
|
|
41
|
+
|
|
42
|
+
#### Experience Cloud (3 new)
|
|
43
|
+
- `sf_create_experience_container` — Create a container region within an Experience Cloud page
|
|
44
|
+
- `sf_set_experience_site_login` — Configure login, self-registration, and SSO settings for an Experience site
|
|
45
|
+
- `sf_create_cms_content` — Create a CMS content item in a Salesforce CMS workspace
|
|
46
|
+
|
|
47
|
+
#### Data Management (4 new)
|
|
48
|
+
- `sf_export_records` — Export Salesforce records as CSV data via SOQL
|
|
49
|
+
- `sf_upsert_record` — Upsert a record using an External ID field for matching
|
|
50
|
+
- `sf_get_record` — Retrieve a single record by 15/18-char ID with optional field selection
|
|
51
|
+
- `sf_search_records` — Cross-object text search using SOSL with configurable search group and object list
|
|
52
|
+
|
|
53
|
+
#### Integrations & Events (3 new)
|
|
54
|
+
- `sf_create_platform_event_subscription` — Create an Apex trigger subscribing to a Platform Event channel
|
|
55
|
+
- `sf_create_change_data_capture` — Enable Change Data Capture for one or more Salesforce objects
|
|
56
|
+
- `sf_create_rest_resource` — Create and deploy an Apex REST resource (@RestResource) class
|
|
57
|
+
|
|
58
|
+
#### Monitoring & Observability (4 new)
|
|
59
|
+
- `sf_get_org_limits` — Retrieve current API and governor limit usage via the Limits REST API
|
|
60
|
+
- `sf_get_flow_errors` — Retrieve Flow interview fault records with error messages and related records
|
|
61
|
+
- `sf_get_apex_test_results` — Query Apex test results from recent test runs via Tooling API
|
|
62
|
+
- `sf_get_deployment_history` — Retrieve recent deployment history with status, component counts, and errors
|
|
63
|
+
|
|
64
|
+
#### Agentforce (3 new)
|
|
65
|
+
- `sf_create_agent_channel` — Create a BotChannel connecting an agent to a deployment channel (Embedded Service, Slack, etc.)
|
|
66
|
+
- `sf_clone_agent` — Clone an Agentforce Agent with all its topics, actions, and planner bundle
|
|
67
|
+
- `sf_export_agent` — Export a complete agent configuration as JSON for documentation or migration
|
|
68
|
+
|
|
69
|
+
#### OmniStudio (3 new)
|
|
70
|
+
- `sf_export_omnistudio_component` — Export any OmniStudio component as JSON for backup or migration
|
|
71
|
+
- `sf_import_omnistudio_component` — Import an OmniStudio component from previously exported JSON
|
|
72
|
+
- `sf_create_document_generation` — Create an OmniStudio Document Generation configuration (OmniDocumentGenerationConfig)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## [2.4.0] - 2026-05-28
|
|
77
|
+
|
|
78
|
+
### New Tools — 14 Additions Across 6 Categories
|
|
79
|
+
|
|
80
|
+
#### Lightning Pages & App Builder (2 new)
|
|
81
|
+
- `sf_create_lightning_app_page` — Create a Lightning App Page (FlexiPage of type AppPage) for use in Lightning Apps
|
|
82
|
+
- `sf_create_letterhead` — Create email letterheads (Letterhead metadata) for Classic email templates
|
|
83
|
+
|
|
84
|
+
#### Users & Data Management (2 new)
|
|
85
|
+
- `sf_delete_record` — Delete a single SObject record by ID via REST API
|
|
86
|
+
- `sf_send_email` — Send email from Salesforce via the emailSimple invocable action
|
|
87
|
+
|
|
88
|
+
#### Audit Trail & Monitoring (4 new)
|
|
89
|
+
- `sf_get_setup_audit_trail` — Query SetupAuditTrail for org configuration change history (last 6 months)
|
|
90
|
+
- `sf_get_login_history` — Query LoginHistory for user login activity (source IP, browser, status)
|
|
91
|
+
- `sf_get_event_logs` — Fetch and parse EventLogFile entries (Login, API, Report, Flow, Apex, LightningPageView, etc.)
|
|
92
|
+
- `sf_get_field_history` — Query {Object}History for field-level change history on a specific record
|
|
93
|
+
|
|
94
|
+
#### Deployment & Org Management (1 new)
|
|
95
|
+
- `sf_compare_orgs` — Compare metadata between two orgs using SF CLI aliases; returns components only in source, only in target, or different in both
|
|
96
|
+
|
|
97
|
+
#### Integration & Connectivity (2 new)
|
|
98
|
+
- `sf_create_certificate` — Create a self-signed Certificate (Certificate metadata) for callout signing and SSO
|
|
99
|
+
- `sf_create_event_relay` — Create an EventRelayConfig to relay Platform Events or CDC to Amazon EventBridge or another event bus
|
|
100
|
+
|
|
101
|
+
#### Einstein & AI Features (3 new)
|
|
102
|
+
- `sf_create_einstein_prediction` — Create an Einstein Prediction Builder definition (MLPredictionDefinition metadata) for binary classification or regression
|
|
103
|
+
- `sf_create_next_best_action` — Create a Next Best Action recommendation strategy (RecommendationStrategy metadata)
|
|
104
|
+
- `sf_create_einstein_bot` — Create a classic Einstein Bot with ML domain and conversation dialogs (Bot + BotVersion metadata)
|
|
105
|
+
|
|
106
|
+
### Notes on Existing Tools
|
|
107
|
+
The following tools requested in v2.4.0 were already present from earlier releases and are unchanged:
|
|
108
|
+
- Security & Permissions: `sf_create_permission_set_group`, `sf_create_muting_permission_set`, `sf_set_field_level_security`, `sf_set_org_wide_defaults`, `sf_clone_profile`, `sf_update_profile`
|
|
109
|
+
- Lightning Pages: `sf_create_lightning_record_page`, `sf_create_lightning_home_page`, `sf_update_lightning_page`, `sf_assign_lightning_page`, `sf_assign_compact_layout`
|
|
110
|
+
- Reports & Dashboards: `sf_create_report`, `sf_update_dashboard`, `sf_create_report_folder`, `sf_share_report_folder`
|
|
111
|
+
- Users & Data: `sf_create_user`, `sf_update_user`, `sf_assign_queue_member`, `sf_create_public_group`, `sf_query_records`, `sf_create_record`, `sf_update_record`, `sf_bulk_import_records`
|
|
112
|
+
- Deployment: `sf_validate_deployment`, `sf_list_metadata`
|
|
113
|
+
- Integrations: `sf_create_outbound_message`, `sf_create_auth_provider`
|
|
114
|
+
- GitHub Actions workflows: present since v2.3.0 (ci.yml, publish.yml, sf-release-monitor.yml, api-version-bump.yml)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
3
118
|
## [2.3.0] - 2026-05-28
|
|
4
119
|
|
|
5
120
|
### New Tools — 30 Additions Across 8 Categories
|
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# salesforce-metadata-mcp
|
|
2
2
|
|
|
3
|
-
[](https://npmjs.com/package/salesforce-metadata-mcp)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://modelcontextprotocol.io)
|
|
6
6
|
|
|
7
|
-
**The most comprehensive Salesforce MCP server.**
|
|
7
|
+
**The most comprehensive Salesforce MCP server.** 200+ tools for building, configuring, and automating Salesforce orgs directly from Claude or any MCP client — covering metadata, Apex, LWC, Agentforce agents, OmniStudio, OmniChannel, Experience Cloud, Field Service, Messaging, Einstein AI, audit trail, bulk data, users, reports, security, territories, sandboxes, CDC, REST resources, document generation, and more.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -46,6 +46,44 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
|
|
|
46
46
|
|
|
47
47
|
---
|
|
48
48
|
|
|
49
|
+
## What's New in v2.5.0
|
|
50
|
+
|
|
51
|
+
45 new tools across 11 categories:
|
|
52
|
+
|
|
53
|
+
- **Admin & Org Management** — Role hierarchy, reset password, freeze user, ETM territories, forecast hierarchy
|
|
54
|
+
- **Object Schema** — Delete custom objects/fields, roll-up summary fields, external ID fields, enable object features
|
|
55
|
+
- **Automation & Flows** — Update/clone flows, flow tests, custom invocable actions
|
|
56
|
+
- **Apex Development** — Search Apex source code, get/read debug logs, create batch and scheduler classes
|
|
57
|
+
- **Deployment & Environments** — Cancel deployments, create scratch orgs, create/refresh sandboxes, export package.xml
|
|
58
|
+
- **Experience Cloud** — Experience containers, site login config, CMS content creation
|
|
59
|
+
- **Data Management** — Export records to CSV, upsert by external ID, get record by ID, SOSL search
|
|
60
|
+
- **Integrations & Events** — Platform Event trigger subscriptions, CDC enablement, Apex REST resources
|
|
61
|
+
- **Monitoring** — Org limits usage, flow runtime errors, Apex test results, deployment history
|
|
62
|
+
- **Agentforce** — Agent channels, clone agents, export agent configurations
|
|
63
|
+
- **OmniStudio** — Export/import components, document generation templates
|
|
64
|
+
|
|
65
|
+
See [CHANGELOG.md](CHANGELOG.md) for full release notes.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## What's New in v2.4.0
|
|
70
|
+
|
|
71
|
+
14 new tools across 6 categories:
|
|
72
|
+
|
|
73
|
+
- **Lightning App Page** — `sf_create_lightning_app_page` for Lightning App tab pages
|
|
74
|
+
- **Letterhead** — `sf_create_letterhead` for Classic email template branding
|
|
75
|
+
- **Record Delete** — `sf_delete_record` via REST API
|
|
76
|
+
- **Email** — `sf_send_email` via the emailSimple invocable action
|
|
77
|
+
- **Audit Trail** — `sf_get_setup_audit_trail`, `sf_get_login_history`, `sf_get_event_logs`, `sf_get_field_history`
|
|
78
|
+
- **Org Comparison** — `sf_compare_orgs` using SF CLI aliases
|
|
79
|
+
- **Certificates** — `sf_create_certificate` (self-signed, for callout signing/SSO)
|
|
80
|
+
- **Event Relay** — `sf_create_event_relay` to Amazon EventBridge or event bus
|
|
81
|
+
- **Einstein AI** — `sf_create_einstein_prediction`, `sf_create_next_best_action`, `sf_create_einstein_bot`
|
|
82
|
+
|
|
83
|
+
See [CHANGELOG.md](CHANGELOG.md) for full release notes.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
49
87
|
## What's New in v2.3.0
|
|
50
88
|
|
|
51
89
|
30 new tools across 8 categories:
|
|
@@ -82,7 +120,7 @@ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
|
|
|
82
120
|
|
|
83
121
|
---
|
|
84
122
|
|
|
85
|
-
## Tools (
|
|
123
|
+
## Tools (155+)
|
|
86
124
|
|
|
87
125
|
### Objects & Fields
|
|
88
126
|
| Tool | Description |
|
|
@@ -159,6 +197,8 @@ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
|
|
|
159
197
|
| `sf_create_lightning_home_page` | Create a Lightning Home Page (FlexiPage) |
|
|
160
198
|
| `sf_update_lightning_page` | Update an existing Lightning Page |
|
|
161
199
|
| `sf_assign_lightning_page` | Assign a Lightning Page to an Experience site |
|
|
200
|
+
| `sf_create_lightning_app_page` | Create a Lightning App Page (FlexiPage for App tabs) |
|
|
201
|
+
| `sf_create_letterhead` | Create an email letterhead for Classic email templates |
|
|
162
202
|
|
|
163
203
|
### Apex, Visualforce & Aura
|
|
164
204
|
| Tool | Description |
|
|
@@ -199,6 +239,8 @@ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
|
|
|
199
239
|
| `sf_create_record` | Create a single SObject record |
|
|
200
240
|
| `sf_update_record` | Update an existing SObject record by ID |
|
|
201
241
|
| `sf_bulk_import_records` | Bulk insert/upsert/update/delete via Bulk API 2.0 |
|
|
242
|
+
| `sf_delete_record` | Delete a single SObject record by ID |
|
|
243
|
+
| `sf_send_email` | Send email from Salesforce via the emailSimple action |
|
|
202
244
|
|
|
203
245
|
### Experience Cloud
|
|
204
246
|
| Tool | Description |
|
|
@@ -238,6 +280,8 @@ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
|
|
|
238
280
|
| `sf_create_csp_setting` | Create CSP trusted sites for LWC |
|
|
239
281
|
| `sf_create_outbound_message` | Create Workflow Outbound Messages |
|
|
240
282
|
| `sf_create_auth_provider` | Create OAuth Auth Providers |
|
|
283
|
+
| `sf_create_certificate` | Create a self-signed Certificate for callout signing/SSO |
|
|
284
|
+
| `sf_create_event_relay` | Create an Event Relay to Amazon EventBridge or event bus |
|
|
241
285
|
|
|
242
286
|
### Change Sets & Deployment
|
|
243
287
|
| Tool | Description |
|
|
@@ -249,6 +293,7 @@ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
|
|
|
249
293
|
| `sf_check_deploy_status` | Check deployment job status |
|
|
250
294
|
| `sf_retrieve_metadata` | Retrieve metadata from the org |
|
|
251
295
|
| `sf_list_metadata` | List all components of a metadata type |
|
|
296
|
+
| `sf_compare_orgs` | Compare metadata between two orgs using SF CLI aliases |
|
|
252
297
|
|
|
253
298
|
### OmniStudio
|
|
254
299
|
| Tool | Description |
|
|
@@ -270,6 +315,21 @@ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
|
|
|
270
315
|
| `sf_create_calculation_matrix` | Create a Calculation Matrix for rule-based lookups |
|
|
271
316
|
| `sf_create_calculation_procedure` | Create a Calculation Procedure with multi-step logic |
|
|
272
317
|
|
|
318
|
+
### Audit Trail & Monitoring
|
|
319
|
+
| Tool | Description |
|
|
320
|
+
|------|-------------|
|
|
321
|
+
| `sf_get_setup_audit_trail` | Query SetupAuditTrail for org configuration change history |
|
|
322
|
+
| `sf_get_login_history` | Query LoginHistory for user login activity |
|
|
323
|
+
| `sf_get_event_logs` | Fetch and parse EventLogFile entries (Login, API, Flow, Apex, etc.) |
|
|
324
|
+
| `sf_get_field_history` | Get field-level change history for a specific record |
|
|
325
|
+
|
|
326
|
+
### Einstein & AI
|
|
327
|
+
| Tool | Description |
|
|
328
|
+
|------|-------------|
|
|
329
|
+
| `sf_create_einstein_prediction` | Create an Einstein Prediction Builder definition |
|
|
330
|
+
| `sf_create_next_best_action` | Create a Next Best Action recommendation strategy |
|
|
331
|
+
| `sf_create_einstein_bot` | Create a classic Einstein Bot with dialogs |
|
|
332
|
+
|
|
273
333
|
### OmniChannel & Field Service
|
|
274
334
|
| Tool | Description |
|
|
275
335
|
|------|-------------|
|
package/dist/index.js
CHANGED
|
@@ -6,14 +6,14 @@ import { createServer } from "http";
|
|
|
6
6
|
import { registerTools } from "./tools/index.js";
|
|
7
7
|
const server = new McpServer({
|
|
8
8
|
name: "salesforce-metadata-mcp",
|
|
9
|
-
version: "2.
|
|
9
|
+
version: "2.5.0",
|
|
10
10
|
});
|
|
11
11
|
registerTools(server);
|
|
12
12
|
// ─── Transport: stdio ─────────────────────────────────────────────────────────
|
|
13
13
|
async function runStdio() {
|
|
14
14
|
const transport = new StdioServerTransport();
|
|
15
15
|
await server.connect(transport);
|
|
16
|
-
console.error("Salesforce Metadata MCP server v2.
|
|
16
|
+
console.error("Salesforce Metadata MCP server v2.5.0 running on stdio");
|
|
17
17
|
}
|
|
18
18
|
// ─── Transport: HTTP ──────────────────────────────────────────────────────────
|
|
19
19
|
function readBody(req) {
|
|
@@ -38,7 +38,7 @@ async function runHTTP() {
|
|
|
38
38
|
const url = req.url ?? "/";
|
|
39
39
|
if (url === "/health" && req.method === "GET") {
|
|
40
40
|
res.writeHead(200, { "Content-Type": "application/json" });
|
|
41
|
-
res.end(JSON.stringify({ status: "ok", server: "salesforce-metadata-mcp", version: "2.
|
|
41
|
+
res.end(JSON.stringify({ status: "ok", server: "salesforce-metadata-mcp", version: "2.5.0"}));
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
if (url === "/mcp" && req.method === "POST") {
|
|
@@ -64,7 +64,7 @@ async function runHTTP() {
|
|
|
64
64
|
res.end(JSON.stringify({ error: "Not found" }));
|
|
65
65
|
});
|
|
66
66
|
httpServer.listen(port, () => {
|
|
67
|
-
console.error(`Salesforce Metadata MCP server v2.
|
|
67
|
+
console.error(`Salesforce Metadata MCP server v2.5.0 running on http://localhost:${port}/mcp`);
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
// ─── Entry point ──────────────────────────────────────────────────────────────
|