salesforce-metadata-mcp
v2.1.1
Published
The most comprehensive Salesforce metadata and development MCP server: 60+ tools for custom objects, flows, Apex, LWC, Agentforce, deployments, and more
Maintainers
Readme
salesforce-metadata-mcp
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.
Quick Start
npx -y salesforce-metadata-mcpOr install globally:
npm install -g salesforce-metadata-mcp
salesforce-metadata-mcpConfiguration (Claude Desktop / Claude Code)
Add to your MCP configuration (claude_desktop_config.json or .claude/settings.json):
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": ["salesforce-metadata-mcp"],
"env": {
"SF_INSTANCE_URL": "https://your-org.salesforce.com",
"SF_ACCESS_TOKEN": "your_access_token"
}
}
}
}See SETUP.md for all authentication methods and detailed setup instructions.
Tools (60+)
Objects & Fields
| Tool | Description |
|------|-------------|
| sf_create_custom_object | Create a custom object with all settings |
| sf_create_custom_field | Create a field on any object (all types) |
| sf_add_picklist_values | Add values to existing picklist fields |
| sf_create_custom_metadata_type | Create a Custom Metadata Type (__mdt) |
| sf_create_custom_metadata_record | Create records for a Custom Metadata Type |
| sf_create_custom_label | Create or update Custom Labels |
| sf_create_custom_setting | Create Hierarchy or List Custom Settings |
| sf_create_global_value_set | Create shared picklist usable across objects |
| sf_create_record_type | Create Record Types with picklist overrides |
| sf_create_business_process | Create Business Processes for Opp/Lead/Case |
| sf_create_page_layout | Create Page Layouts with sections and fields |
| sf_create_sharing_rule | Create criteria or ownership sharing rules |
| sf_create_field_dependency | Create controlling/dependent picklist dependency |
Automation
| Tool | Description |
|------|-------------|
| sf_create_flow | Create any Flow type with advanced elements |
| sf_create_approval_process | Create multi-step approval processes |
| sf_create_validation_rule | Create data validation rules |
| sf_create_workflow_field_update | Create workflow field update actions |
| sf_create_email_alert | Create workflow email alert actions |
| sf_create_platform_event | Create Platform Event objects |
| sf_create_assignment_rule | Create Lead/Case assignment rules |
| sf_create_escalation_rule | Create Case escalation rules |
| sf_create_auto_response_rule | Create Web-to-Lead/Case auto-response rules |
| sf_create_matching_rule | Create duplicate matching rules |
| sf_create_duplicate_rule | Create duplicate detection rules |
| sf_create_apex_email_service | Create inbound Apex email services |
| sf_create_scheduled_job | Schedule an Apex class via cron |
Security & Access
| Tool | Description |
|------|-------------|
| sf_create_permission_set | Create Permission Sets with all permissions |
| sf_create_role | Create roles in the role hierarchy |
| sf_create_queue | Create queues with members and objects |
| sf_create_named_credential | Create Named Credentials for callouts |
UI & Experience
| Tool | Description |
|------|-------------|
| sf_create_lightning_app | Create Lightning Apps with nav/utility bars |
| sf_create_tab | Create Custom Tabs for objects |
| sf_create_compact_layout | Create Compact Layouts (highlights panel) |
| sf_create_list_view | Create List Views with filters and columns |
| sf_create_email_template | Create HTML/text email templates |
| sf_create_static_resource | Create Static Resources from text content |
| sf_create_custom_notification_type | Create Custom Notification Types |
| sf_create_report_type | Create Custom Report Types |
| sf_create_dashboard | Create Dashboards with components |
Apex Development
| Tool | Description |
|------|-------------|
| sf_create_apex_class | Deploy any Apex class to the org |
| sf_create_apex_trigger | Deploy an Apex trigger on any object |
| sf_create_apex_test_class | Deploy test classes, optionally run tests |
| sf_run_apex_tests | Run test classes and get pass/fail results |
| sf_execute_anonymous_apex | Execute anonymous Apex and see output |
LWC Development
| Tool | Description |
|------|-------------|
| sf_create_lwc | Deploy a full LWC with HTML, JS, CSS |
| sf_update_lwc | Update an existing LWC component |
Experience Cloud
| Tool | Description |
|------|-------------|
| sf_create_experience_site | Create Experience Cloud sites |
| sf_create_experience_page | Create pages within Experience sites |
Agentforce
| Tool | Description |
|------|-------------|
| sf_create_agent | Create Agentforce Agents |
| sf_create_agent_topic | Create Agent Topics with instructions |
| sf_create_agent_action | Create Agent Actions linked to Flows/Apex |
External Integrations
| Tool | Description |
|------|-------------|
| sf_create_connected_app | Create OAuth Connected Apps |
| sf_create_external_data_source | Create External Data Sources for Connect |
| sf_create_external_object | Create External Objects (__x) |
| sf_create_remote_site_setting | Whitelist external URLs for callouts |
| sf_create_csp_setting | Create CSP trusted sites for LWC |
Change Sets & Deployment
| Tool | Description |
|------|-------------|
| sf_create_outbound_change_set | Create Outbound Change Sets |
| sf_add_to_change_set | Add components to a change set |
| sf_deploy_metadata | Deploy metadata via Metadata API |
| sf_check_deploy_status | Check deployment job status |
| sf_retrieve_metadata | Retrieve metadata from the org |
MCP Server Management
| Tool | Description |
|------|-------------|
| sf_create_mcp_server | Generate a new MCP server project on disk |
| sf_create_mcp_tool | Add a new tool to an existing MCP server |
| sf_list_mcp_tools | List all tools in an MCP server project |
Example Prompts
Build a complete object:
"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."
Deploy Apex:
"Create an Apex class called OpportunityService that queries all Opps with Amount > 100000. Then create a test class for it."
Create a flow:
"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."
Set up an LWC:
"Create a Lightning Web Component called accountSummary that displays account name, industry, and annual revenue. Make it available on Record Pages."
Agentforce setup:
"Create an Agentforce agent called SalesAssistant with a topic for Order Management."
Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| SF_INSTANCE_URL | Your org URL (e.g. https://org.salesforce.com) | Always |
| SF_CLIENT_ID | Connected App client ID | For OAuth |
| SF_CLIENT_SECRET | Connected App client secret | For OAuth |
| SF_REFRESH_TOKEN | OAuth refresh token | For OAuth |
| SF_ALIAS | Salesforce CLI org alias | For CLI |
| SF_ACCESS_TOKEN | Static access token (expires ~1hr) | For static |
| PORT | HTTP server port (default: 3000) | For HTTP mode |
| TRANSPORT | stdio or http (default: stdio) | Optional |
Documentation
- SETUP.md — Prerequisites, authentication, Claude configuration
- TOOLS.md — All 60+ tools with full parameter documentation
- AGENTFORCE.md — Agentforce agent creation guide
- APEX_LWC.md — Apex and LWC development guide
- CHANGELOG.md — Version history
License
MIT
