salesforce-metadata-mcp 2.1.4 → 2.3.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 CHANGED
@@ -1,5 +1,148 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.0] - 2026-05-28
4
+
5
+ ### New Tools — 30 Additions Across 8 Categories
6
+
7
+ #### OmniStudio — FlexCards (4 new)
8
+ - `sf_create_flexcard` — Create an OmniStudio FlexCard (OmniUiCard) with data source, fields, actions, and states
9
+ - `sf_update_flexcard` — Update an existing FlexCard definition
10
+ - `sf_activate_flexcard` — Activate a FlexCard so it is visible on Lightning pages and Experience Cloud sites
11
+ - `sf_get_flexcard` — Retrieve a FlexCard's full configuration
12
+
13
+ #### OmniStudio — OmniScripts (4 new)
14
+ - `sf_create_omniscript` — Create an OmniScript guided interaction flow (Type/SubType/Language)
15
+ - `sf_update_omniscript` — Update an OmniScript's metadata properties
16
+ - `sf_activate_omniscript` — Activate an OmniScript for use in FlexCards and Experience Cloud
17
+ - `sf_get_omniscript` — Retrieve an OmniScript's configuration
18
+
19
+ #### OmniStudio — DataRaptors (2 new)
20
+ - `sf_create_dataraptor` — Create a DataRaptor interface (Extract, Transform, or Load) with field mappings
21
+ - `sf_get_dataraptor` — Retrieve a DataRaptor's configuration and mappings
22
+
23
+ #### OmniStudio — Integration Procedures (4 new)
24
+ - `sf_create_integration_procedure` — Create an Integration Procedure (server-side OmniScript orchestration)
25
+ - `sf_update_integration_procedure` — Update an Integration Procedure's metadata
26
+ - `sf_get_integration_procedure` — Retrieve an Integration Procedure's configuration
27
+ - `sf_activate_integration_procedure` — Activate an Integration Procedure
28
+
29
+ #### OmniStudio — Calculation Matrix & Procedure (2 new)
30
+ - `sf_create_calculation_matrix` — Create a Calculation Matrix for rule-based lookups and decision tables
31
+ - `sf_create_calculation_procedure` — Create a Calculation Procedure orchestrating multi-step calculations
32
+
33
+ #### OmniChannel — Service Channels & Routing (6 new)
34
+ - `sf_create_service_channel` — Create an OmniChannel Service Channel (Case, Chat, Messaging, Voice, Email, Custom)
35
+ - `sf_create_routing_configuration` — Create a Routing Configuration (LeastActive, MostAvailable, ExternalRouting)
36
+ - `sf_create_queue_routing_config` — Link a Routing Configuration to a Queue for OmniChannel routing
37
+ - `sf_create_presence_configuration` — Create a Presence Configuration (PresenceUserConfig) with channel assignments
38
+ - `sf_create_presence_status` — Create a Presence Status (Online, Busy, Offline) for agents
39
+ - `sf_assign_presence_status` — Grant Presence Status access to Profiles and Permission Sets
40
+
41
+ #### OmniChannel — Skills & Field Service (4 new)
42
+ - `sf_create_skill` — Create a Skill for skill-based routing or Field Service Lightning
43
+ - `sf_assign_skill_to_agent` — Assign a Skill to a service agent (creates ServiceResource if needed)
44
+ - `sf_create_service_territory` — Create a Field Service Service Territory with optional operating hours
45
+ - `sf_create_work_type` — Create a Field Service Work Type with duration, block times, and skill requirements
46
+
47
+ #### Messaging, Chat & Voice (4 new)
48
+ - `sf_create_messaging_channel` — Create a Messaging Channel (SMS, WhatsApp, Facebook, Apple Messages, etc.)
49
+ - `sf_create_chat_button` — Create a Live Chat button for embedding on websites
50
+ - `sf_create_embedded_service` — Create an Embedded Service deployment bundling Chat or Messaging for websites
51
+ - `sf_create_bot_routing` — Configure Einstein Bot escalation to a human agent queue via BotVersion transfer dialog
52
+
53
+ ### Bug Fixes
54
+ - Fixed `SetExperienceSiteBrandingSchema` — parameters now correctly match the `setExperienceSiteBranding` service function (`brandingSetName`, `label`, `properties[]` instead of individual color fields)
55
+
56
+ ### CI/CD
57
+ - Added `.github/workflows/ci.yml` — build and module load validation on every push/PR
58
+ - Added `.github/workflows/publish.yml` — automated npm publish on `v*` tag push
59
+ - Added `.github/workflows/sf-release-monitor.yml` — opens a release review issue 3× per year (Feb, Jun, Oct)
60
+ - Added `.github/workflows/api-version-bump.yml` — auto PR to bump API version on Salesforce release dates
61
+ - Added `.github/ISSUE_TEMPLATE/sf-release-review.md` — structured checklist for Salesforce release reviews
62
+
63
+ ---
64
+
65
+ ## [2.2.0] - 2026-05-28
66
+
67
+ ### New Tools — 47 Additions Across 10 Categories
68
+
69
+ #### Objects & Fields (4 new)
70
+ - `sf_update_custom_object` — Update label, plural label, description, and feature toggles on an existing custom object
71
+ - `sf_update_custom_field` — Update label, description, help text, required, unique, or default value on an existing field
72
+ - `sf_create_relationship_field` — Create Lookup or Master-Detail relationship fields with delete constraint control
73
+ - `sf_create_formula_field` — Create formula fields with Text, Number, Currency, Date, DateTime, Checkbox, or Percent return types
74
+
75
+ #### Security & Access (8 new)
76
+ - `sf_assign_permission_set` — Assign a Permission Set to a user by username or userId
77
+ - `sf_create_permission_set_group` — Create a Permission Set Group combining multiple Permission Sets
78
+ - `sf_update_permission_set` — Add or modify object and field permissions on an existing Permission Set
79
+ - `sf_create_muting_permission_set` — Create a Muting Permission Set to suppress permissions within a Permission Set Group
80
+ - `sf_set_field_level_security` — Set read/edit field-level security across multiple Profiles and Permission Sets in one call
81
+ - `sf_set_org_wide_defaults` — Set the org-wide default sharing model (Private, Read, ReadWrite) for any object
82
+ - `sf_clone_profile` — Clone an existing Profile under a new name, inheriting all permissions
83
+ - `sf_update_profile` — Update object permissions, field security, tab visibility, and app visibility on a Profile
84
+
85
+ #### UI & Page Layouts (7 new)
86
+ - `sf_update_page_layout` — Read and update an existing Page Layout (rename/label changes)
87
+ - `sf_assign_page_layout` — Assign a Page Layout to one or more Profiles for a given object
88
+ - `sf_create_lightning_record_page` — Create a Lightning Record Page (FlexiPage) with regions and components
89
+ - `sf_create_lightning_home_page` — Create a Lightning Home Page (FlexiPage) with regions and components
90
+ - `sf_update_lightning_page` — Update an existing Lightning Page label
91
+ - `sf_assign_lightning_page` — Assign a Lightning Page to an Experience Cloud site via Connect API
92
+ - `sf_assign_compact_layout` — Set the default compact layout assignment for an object
93
+
94
+ #### Automation (2 new)
95
+ - `sf_activate_flow` — Activate the latest version of a Flow via the Tooling API
96
+ - `sf_create_quick_action` — Create Quick Actions (Create, Update, LogACall, SendEmail, Flow, Visualforce) for objects or globally
97
+
98
+ #### Apex, Visualforce & Aura (5 new)
99
+ - `sf_update_apex_class` — Redeploy an Apex class with updated source code
100
+ - `sf_get_apex_class` — Retrieve Apex class source code and metadata via Tooling API
101
+ - `sf_get_code_coverage` — Get Apex code coverage percentages per class from the last test run
102
+ - `sf_create_visualforce_page` — Deploy a Visualforce page via zip-based Metadata API
103
+ - `sf_create_aura_component` — Deploy an Aura component bundle (markup, controller, helper, CSS)
104
+
105
+ #### Reports & Dashboards (4 new)
106
+ - `sf_create_report` — Create Salesforce Reports (Tabular, Summary, Matrix, Joined) with filters and columns
107
+ - `sf_update_dashboard` — Update title or description on an existing Dashboard
108
+ - `sf_create_report_folder` — Create Report or Dashboard folders with access control
109
+ - `sf_share_report_folder` — Share a Report or Dashboard folder with users, roles, groups, or territories
110
+
111
+ #### Users & Data (8 new)
112
+ - `sf_create_user` — Create a new Salesforce user with profile, role, and locale settings
113
+ - `sf_update_user` — Update user properties (name, email, title, department, active status)
114
+ - `sf_assign_queue_member` — Add a user to an existing Queue
115
+ - `sf_create_public_group` — Create a Public Group for sharing rules or email distribution
116
+ - `sf_query_records` — Execute SOQL queries to read records (full SOQL or structured params)
117
+ - `sf_create_record` — Create a single SObject record via REST API
118
+ - `sf_update_record` — Update an existing SObject record by ID via REST API
119
+ - `sf_bulk_import_records` — Bulk insert/upsert/update/delete records via Bulk API 2.0 with CSV data
120
+
121
+ #### Integrations (2 new)
122
+ - `sf_create_outbound_message` — Create Workflow Outbound Messages for SOAP-based external integrations
123
+ - `sf_create_auth_provider` — Create OAuth 2.0 Auth Providers for third-party identity and Named Credentials
124
+
125
+ #### Deployment & Metadata (3 new, 1 enhanced)
126
+ - `sf_validate_deployment` — Run a check-only deployment to validate metadata without making changes
127
+ - `sf_list_metadata` — List all metadata components of a given type in the org
128
+ - `sf_deploy_metadata` _(enhanced)_ — Added `testLevel` parameter (NoTestRun, RunSpecifiedTests, RunLocalTests, RunAllTestsInOrg)
129
+
130
+ #### Experience Cloud (5 new)
131
+ - `sf_publish_experience_site` — Publish an Experience Cloud site to make pending changes live
132
+ - `sf_update_experience_site` — Update site settings: description, guest user access, guest profile
133
+ - `sf_create_navigation_menu` — Create Navigation Menus with items linking to pages or external URLs
134
+ - `sf_add_experience_site_members` — Add member profiles/permission sets to an Experience Cloud site
135
+ - `sf_set_experience_site_branding` — Apply branding properties (colors, fonts, logos) via BrandingSet
136
+
137
+ ### Infrastructure
138
+ - Added `patch()` and `del()` methods to the REST client (`createClient`)
139
+ - Added `buildVFPageZip()` — builds Visualforce page deploy zip
140
+ - Added `buildAuraZip()` — builds Aura component bundle deploy zip
141
+ - API version updated to 66.0 in `sf_deploy_metadata` (was 62.0)
142
+ - Bulk API 2.0 job management: create → upload CSV → close → poll
143
+
144
+ ---
145
+
3
146
  ## [2.1.4] - 2026-05-28
4
147
 
5
148
  ### New Tools — Agentforce CRUD & Debugging
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # salesforce-metadata-mcp
2
2
 
3
- [![Version](https://img.shields.io/badge/version-2.1.1-blue.svg)](https://npmjs.com/package/salesforce-metadata-mcp)
3
+ [![Version](https://img.shields.io/badge/version-2.3.0-blue.svg)](https://npmjs.com/package/salesforce-metadata-mcp)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
5
5
  [![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io)
6
6
 
7
- **The most comprehensive Salesforce metadata and development MCP server.** 60+ tools for building, configuring, and automating Salesforce orgs directly from Claude or any MCP client.
7
+ **The most comprehensive Salesforce MCP server.** 140+ 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, bulk data, users, reports, security, and more.
8
8
 
9
9
  ---
10
10
 
@@ -46,7 +46,43 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
46
46
 
47
47
  ---
48
48
 
49
- ## Tools (60+)
49
+ ## What's New in v2.3.0
50
+
51
+ 30 new tools across 8 categories:
52
+
53
+ - **OmniStudio — FlexCards** — Create, update, activate, and get FlexCards (OmniUiCard)
54
+ - **OmniStudio — OmniScripts** — Create, update, activate, and get OmniScripts
55
+ - **OmniStudio — DataRaptors** — Create Extract/Transform/Load DataRaptor interfaces
56
+ - **OmniStudio — Integration Procedures** — Create, update, activate, and get Integration Procedures
57
+ - **OmniStudio — Calculation Matrix & Procedure** — Create decision tables and multi-step calculation procedures
58
+ - **OmniChannel — Service Channels & Routing** — Service Channels, Routing Configurations, Queue links, Presence Configurations and Statuses
59
+ - **OmniChannel — Skills & Field Service** — Create skills, assign to agents, create Service Territories and Work Types
60
+ - **Messaging, Chat & Voice** — Messaging Channels (SMS/WhatsApp/etc.), Live Chat Buttons, Embedded Service deployments, Bot escalation routing
61
+
62
+ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
63
+
64
+ ---
65
+
66
+ ## What's New in v2.2.0
67
+
68
+ 47 new tools across 10 categories:
69
+
70
+ - **Objects & Fields** — Update objects/fields, create relationship fields (Lookup/Master-Detail), formula fields
71
+ - **Security** — Assign permission sets, create PSGs, set field-level security, set OWDs, clone/update profiles
72
+ - **UI & Layouts** — Update page layouts, assign layouts to profiles, create/update/assign Lightning pages, set compact layouts
73
+ - **Automation** — Activate flows, create Quick Actions
74
+ - **Apex/VF/Aura** — Update Apex classes, get class source, get code coverage, deploy Visualforce pages, deploy Aura components
75
+ - **Reports & Dashboards** — Create reports, update dashboards, create/share report folders
76
+ - **Users & Data** — Create/update users, assign queue members, create public groups, query/create/update records, bulk import via Bulk API 2.0
77
+ - **Integrations** — Create Outbound Messages, create Auth Providers
78
+ - **Deployment** — Validate deployments (check-only), list metadata components
79
+ - **Experience Cloud** — Publish sites, update site settings, create navigation menus, add member profiles, apply branding
80
+
81
+ See [CHANGELOG.md](CHANGELOG.md) for the full release notes.
82
+
83
+ ---
84
+
85
+ ## Tools (140+)
50
86
 
51
87
  ### Objects & Fields
52
88
  | Tool | Description |
@@ -54,6 +90,10 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
54
90
  | `sf_create_custom_object` | Create a custom object with all settings |
55
91
  | `sf_create_custom_field` | Create a field on any object (all types) |
56
92
  | `sf_add_picklist_values` | Add values to existing picklist fields |
93
+ | `sf_update_custom_object` | Update label, description, or feature toggles on an existing object |
94
+ | `sf_update_custom_field` | Update label, description, help text, required, or default value on an existing field |
95
+ | `sf_create_relationship_field` | Create Lookup or Master-Detail relationship fields |
96
+ | `sf_create_formula_field` | Create formula fields with any return type |
57
97
  | `sf_create_custom_metadata_type` | Create a Custom Metadata Type (__mdt) |
58
98
  | `sf_create_custom_metadata_record` | Create records for a Custom Metadata Type |
59
99
  | `sf_create_custom_label` | Create or update Custom Labels |
@@ -69,6 +109,7 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
69
109
  | Tool | Description |
70
110
  |------|-------------|
71
111
  | `sf_create_flow` | Create any Flow type with advanced elements |
112
+ | `sf_activate_flow` | Activate the latest version of a Flow |
72
113
  | `sf_create_approval_process` | Create multi-step approval processes |
73
114
  | `sf_create_validation_rule` | Create data validation rules |
74
115
  | `sf_create_workflow_field_update` | Create workflow field update actions |
@@ -81,36 +122,57 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
81
122
  | `sf_create_duplicate_rule` | Create duplicate detection rules |
82
123
  | `sf_create_apex_email_service` | Create inbound Apex email services |
83
124
  | `sf_create_scheduled_job` | Schedule an Apex class via cron |
125
+ | `sf_create_quick_action` | Create Quick Actions for records or globally |
84
126
 
85
127
  ### Security & Access
86
128
  | Tool | Description |
87
129
  |------|-------------|
88
130
  | `sf_create_permission_set` | Create Permission Sets with all permissions |
131
+ | `sf_assign_permission_set` | Assign a Permission Set to a user |
132
+ | `sf_create_permission_set_group` | Create Permission Set Groups |
133
+ | `sf_update_permission_set` | Update object and field permissions on a Permission Set |
134
+ | `sf_create_muting_permission_set` | Create a Muting Permission Set for a group |
135
+ | `sf_set_field_level_security` | Set field read/edit access across Profiles and Permission Sets |
136
+ | `sf_set_org_wide_defaults` | Set org-wide default sharing model for an object |
137
+ | `sf_clone_profile` | Clone an existing Profile to a new name |
138
+ | `sf_update_profile` | Update object/field permissions, tabs, and app visibility on a Profile |
89
139
  | `sf_create_role` | Create roles in the role hierarchy |
90
140
  | `sf_create_queue` | Create queues with members and objects |
91
141
  | `sf_create_named_credential` | Create Named Credentials for callouts |
92
142
 
93
- ### UI & Experience
143
+ ### UI & Page Layouts
94
144
  | Tool | Description |
95
145
  |------|-------------|
96
146
  | `sf_create_lightning_app` | Create Lightning Apps with nav/utility bars |
97
147
  | `sf_create_tab` | Create Custom Tabs for objects |
98
148
  | `sf_create_compact_layout` | Create Compact Layouts (highlights panel) |
149
+ | `sf_assign_compact_layout` | Set the default compact layout for an object |
99
150
  | `sf_create_list_view` | Create List Views with filters and columns |
100
151
  | `sf_create_email_template` | Create HTML/text email templates |
101
152
  | `sf_create_static_resource` | Create Static Resources from text content |
102
153
  | `sf_create_custom_notification_type` | Create Custom Notification Types |
103
154
  | `sf_create_report_type` | Create Custom Report Types |
104
155
  | `sf_create_dashboard` | Create Dashboards with components |
105
-
106
- ### Apex Development
156
+ | `sf_update_page_layout` | Update an existing Page Layout |
157
+ | `sf_assign_page_layout` | Assign a Page Layout to Profiles |
158
+ | `sf_create_lightning_record_page` | Create a Lightning Record Page (FlexiPage) |
159
+ | `sf_create_lightning_home_page` | Create a Lightning Home Page (FlexiPage) |
160
+ | `sf_update_lightning_page` | Update an existing Lightning Page |
161
+ | `sf_assign_lightning_page` | Assign a Lightning Page to an Experience site |
162
+
163
+ ### Apex, Visualforce & Aura
107
164
  | Tool | Description |
108
165
  |------|-------------|
109
166
  | `sf_create_apex_class` | Deploy any Apex class to the org |
167
+ | `sf_update_apex_class` | Update an existing Apex class |
168
+ | `sf_get_apex_class` | Retrieve Apex class source via Tooling API |
169
+ | `sf_get_code_coverage` | Get Apex code coverage percentages |
110
170
  | `sf_create_apex_trigger` | Deploy an Apex trigger on any object |
111
171
  | `sf_create_apex_test_class` | Deploy test classes, optionally run tests |
112
172
  | `sf_run_apex_tests` | Run test classes and get pass/fail results |
113
173
  | `sf_execute_anonymous_apex` | Execute anonymous Apex and see output |
174
+ | `sf_create_visualforce_page` | Deploy a Visualforce page |
175
+ | `sf_create_aura_component` | Deploy an Aura component bundle |
114
176
 
115
177
  ### LWC Development
116
178
  | Tool | Description |
@@ -118,36 +180,113 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
118
180
  | `sf_create_lwc` | Deploy a full LWC with HTML, JS, CSS |
119
181
  | `sf_update_lwc` | Update an existing LWC component |
120
182
 
183
+ ### Reports & Dashboards
184
+ | Tool | Description |
185
+ |------|-------------|
186
+ | `sf_create_report` | Create Salesforce Reports (Tabular, Summary, Matrix, Joined) |
187
+ | `sf_update_dashboard` | Update title or description on a Dashboard |
188
+ | `sf_create_report_folder` | Create Report or Dashboard folders |
189
+ | `sf_share_report_folder` | Share report/dashboard folders with users, roles, or groups |
190
+
191
+ ### Users & Data
192
+ | Tool | Description |
193
+ |------|-------------|
194
+ | `sf_create_user` | Create a new Salesforce user |
195
+ | `sf_update_user` | Update user properties (name, email, active status) |
196
+ | `sf_assign_queue_member` | Add a user to a Queue |
197
+ | `sf_create_public_group` | Create a Public Group for sharing or email |
198
+ | `sf_query_records` | Execute SOQL queries to read records |
199
+ | `sf_create_record` | Create a single SObject record |
200
+ | `sf_update_record` | Update an existing SObject record by ID |
201
+ | `sf_bulk_import_records` | Bulk insert/upsert/update/delete via Bulk API 2.0 |
202
+
121
203
  ### Experience Cloud
122
204
  | Tool | Description |
123
205
  |------|-------------|
124
206
  | `sf_create_experience_site` | Create Experience Cloud sites |
125
207
  | `sf_create_experience_page` | Create pages within Experience sites |
208
+ | `sf_publish_experience_site` | Publish a site to make changes live |
209
+ | `sf_update_experience_site` | Update site settings (description, guest access) |
210
+ | `sf_create_navigation_menu` | Create Navigation Menus for a site |
211
+ | `sf_add_experience_site_members` | Add member profiles/permission sets to a site |
212
+ | `sf_set_experience_site_branding` | Apply branding (colors, fonts, logos) to a site |
126
213
 
127
214
  ### Agentforce
128
215
  | Tool | Description |
129
216
  |------|-------------|
130
- | `sf_create_agent` | Create Agentforce Agents |
131
- | `sf_create_agent_topic` | Create Agent Topics with instructions |
132
- | `sf_create_agent_action` | Create Agent Actions linked to Flows/Apex |
217
+ | `sf_create_agent` | Create Agentforce Agents (EinsteinCopilot/ExternalCopilot) |
218
+ | `sf_create_agent_topic` | Create Agent Topics (GenAiPlugin) |
219
+ | `sf_create_agent_action` | Create Agent Actions (GenAiFunction) linked to Flows or Apex |
220
+ | `sf_create_agent_planner` | Create GenAiPlannerBundle linking topics to agent |
221
+ | `sf_activate_agent` | Activate an agent |
222
+ | `sf_deactivate_agent` | Deactivate an agent before modifications |
223
+ | `sf_get_agent` | Get full agent configuration |
224
+ | `sf_list_agents` | List all agents in the org |
225
+ | `sf_update_agent_topic` | Update an agent topic (auto deactivate/reactivate) |
226
+ | `sf_update_agent_action` | Update an agent action and regenerate schema files |
227
+ | `sf_delete_agent` | Delete an agent and optionally its topics/actions |
228
+ | `sf_test_agent` | Send a test message and get the agent's response |
229
+ | `sf_get_agent_logs` | Query ConversationDefinitionEventLog for debug info |
133
230
 
134
231
  ### External Integrations
135
232
  | Tool | Description |
136
233
  |------|-------------|
137
234
  | `sf_create_connected_app` | Create OAuth Connected Apps |
138
- | `sf_create_external_data_source` | Create External Data Sources for Connect |
235
+ | `sf_create_external_data_source` | Create External Data Sources |
139
236
  | `sf_create_external_object` | Create External Objects (__x) |
140
237
  | `sf_create_remote_site_setting` | Whitelist external URLs for callouts |
141
238
  | `sf_create_csp_setting` | Create CSP trusted sites for LWC |
239
+ | `sf_create_outbound_message` | Create Workflow Outbound Messages |
240
+ | `sf_create_auth_provider` | Create OAuth Auth Providers |
142
241
 
143
242
  ### Change Sets & Deployment
144
243
  | Tool | Description |
145
244
  |------|-------------|
146
245
  | `sf_create_outbound_change_set` | Create Outbound Change Sets |
147
246
  | `sf_add_to_change_set` | Add components to a change set |
148
- | `sf_deploy_metadata` | Deploy metadata via Metadata API |
247
+ | `sf_deploy_metadata` | Deploy metadata (with testLevel support) |
248
+ | `sf_validate_deployment` | Validate deployment without making changes |
149
249
  | `sf_check_deploy_status` | Check deployment job status |
150
250
  | `sf_retrieve_metadata` | Retrieve metadata from the org |
251
+ | `sf_list_metadata` | List all components of a metadata type |
252
+
253
+ ### OmniStudio
254
+ | Tool | Description |
255
+ |------|-------------|
256
+ | `sf_create_flexcard` | Create an OmniStudio FlexCard with data source, fields, and actions |
257
+ | `sf_update_flexcard` | Update an existing FlexCard |
258
+ | `sf_activate_flexcard` | Activate a FlexCard |
259
+ | `sf_get_flexcard` | Get FlexCard configuration |
260
+ | `sf_create_omniscript` | Create an OmniScript guided interaction flow |
261
+ | `sf_update_omniscript` | Update an OmniScript |
262
+ | `sf_activate_omniscript` | Activate an OmniScript |
263
+ | `sf_get_omniscript` | Get OmniScript configuration |
264
+ | `sf_create_dataraptor` | Create a DataRaptor interface (Extract/Transform/Load) |
265
+ | `sf_get_dataraptor` | Get DataRaptor configuration |
266
+ | `sf_create_integration_procedure` | Create an Integration Procedure |
267
+ | `sf_update_integration_procedure` | Update an Integration Procedure |
268
+ | `sf_get_integration_procedure` | Get Integration Procedure configuration |
269
+ | `sf_activate_integration_procedure` | Activate an Integration Procedure |
270
+ | `sf_create_calculation_matrix` | Create a Calculation Matrix for rule-based lookups |
271
+ | `sf_create_calculation_procedure` | Create a Calculation Procedure with multi-step logic |
272
+
273
+ ### OmniChannel & Field Service
274
+ | Tool | Description |
275
+ |------|-------------|
276
+ | `sf_create_service_channel` | Create an OmniChannel Service Channel |
277
+ | `sf_create_routing_configuration` | Create a Routing Configuration |
278
+ | `sf_create_queue_routing_config` | Link a Routing Configuration to a Queue |
279
+ | `sf_create_presence_configuration` | Create a Presence Configuration for agents |
280
+ | `sf_create_presence_status` | Create a Presence Status |
281
+ | `sf_assign_presence_status` | Assign Presence Status to Profiles/Permission Sets |
282
+ | `sf_create_skill` | Create a Skill for routing or Field Service |
283
+ | `sf_assign_skill_to_agent` | Assign a Skill to a service agent |
284
+ | `sf_create_service_territory` | Create a Field Service Service Territory |
285
+ | `sf_create_work_type` | Create a Field Service Work Type |
286
+ | `sf_create_messaging_channel` | Create a Messaging Channel (SMS, WhatsApp, etc.) |
287
+ | `sf_create_chat_button` | Create a Live Chat Button |
288
+ | `sf_create_embedded_service` | Create an Embedded Service deployment |
289
+ | `sf_create_bot_routing` | Configure bot escalation to a human agent queue |
151
290
 
152
291
  ### MCP Server Management
153
292
  | Tool | Description |
@@ -164,16 +303,19 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
164
303
  > "Create a custom object called Project__c with fields: Name (text), Status__c (picklist: Planning/Active/Complete), Budget__c (currency), then add a validation rule requiring Budget when Status is Active."
165
304
 
166
305
  **Deploy Apex:**
167
- > "Create an Apex class called OpportunityService that queries all Opps with Amount > 100000. Then create a test class for it."
306
+ > "Create an Apex class called OpportunityService that queries all Opps with Amount > 100000. Then create a test class for it and get the code coverage."
168
307
 
169
- **Create a flow:**
170
- > "Create a record-triggered flow on Opportunity that fires after save when Stage = Closed Won. Send an email alert to the owner and create a follow-up Task due in 30 days."
308
+ **Create an Agentforce agent:**
309
+ > "Create an Agentforce agent called CRMAssistant that can create Account records. Build the flow, action, topic, planner, and agent then activate it."
171
310
 
172
- **Set up an LWC:**
173
- > "Create a Lightning Web Component called accountSummary that displays account name, industry, and annual revenue. Make it available on Record Pages."
311
+ **Set up Experience Cloud:**
312
+ > "Create a customer portal Experience Cloud site, add the Customer Community Plus Login profile as a member, create a home navigation menu, and publish the site."
174
313
 
175
- **Agentforce setup:**
176
- > "Create an Agentforce agent called SalesAssistant with a topic for Order Management."
314
+ **Bulk data import:**
315
+ > "Import 500 Account records from this CSV data using Bulk API 2.0."
316
+
317
+ **Security setup:**
318
+ > "Create a permission set called Sales_Ops, grant read/edit on Opportunity and Account, set field-level security for Amount to readable and editable for the Sales profile and the Sales_Ops permission set."
177
319
 
178
320
  ---
179
321
 
@@ -195,13 +337,28 @@ See [SETUP.md](SETUP.md) for all authentication methods and detailed setup instr
195
337
  ## Documentation
196
338
 
197
339
  - [SETUP.md](SETUP.md) — Prerequisites, authentication, Claude configuration
198
- - [TOOLS.md](TOOLS.md) — All 60+ tools with full parameter documentation
340
+ - [TOOLS.md](TOOLS.md) — All 110+ tools with full parameter documentation
199
341
  - [AGENTFORCE.md](AGENTFORCE.md) — Agentforce agent creation guide
200
342
  - [APEX_LWC.md](APEX_LWC.md) — Apex and LWC development guide
201
343
  - [CHANGELOG.md](CHANGELOG.md) — Version history
202
344
 
203
345
  ---
204
346
 
347
+ ## CI/CD & Maintenance
348
+
349
+ This repository includes GitHub Actions workflows for automated maintenance:
350
+
351
+ | Workflow | Trigger | Action |
352
+ |----------|---------|--------|
353
+ | `ci.yml` | Push / PR | Build and verify module loads |
354
+ | `publish.yml` | Push tag `v*` | Publish to npm with provenance |
355
+ | `sf-release-monitor.yml` | Feb 1, Jun 1, Oct 1 | Opens a Salesforce release review issue |
356
+ | `api-version-bump.yml` | Feb 1, Jun 1, Oct 1 | Creates a PR to bump the API version |
357
+
358
+ To publish a new version: bump the version in `package.json`, update `CHANGELOG.md`, then push a `vX.Y.Z` tag. The publish workflow handles the rest.
359
+
360
+ ---
361
+
205
362
  ## License
206
363
 
207
364
  MIT
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.1.0",
9
+ version: "2.3.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.1.0 running on stdio");
16
+ console.error("Salesforce Metadata MCP server v2.3.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.1.0" }));
41
+ res.end(JSON.stringify({ status: "ok", server: "salesforce-metadata-mcp", version: "2.3.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.1.0 running on http://localhost:${port}/mcp`);
67
+ console.error(`Salesforce Metadata MCP server v2.3.0 running on http://localhost:${port}/mcp`);
68
68
  });
69
69
  }
70
70
  // ─── Entry point ──────────────────────────────────────────────────────────────