salesforce-metadata-mcp

salesforce-metadata-mcp

Enables comprehensive Salesforce metadata management from MCP clients, providing 221 tools for creating objects, fields, Apex, flows, LWCs, Agentforce agents, and more.

Category
Visit Server

README

salesforce-metadata-mcp

npm version npm downloads License: MIT MCP Compatible

The only Salesforce MCP server that builds Agentforce agents, OmniStudio components, and DevOps Center pipelines — alongside a complete daily developer loop (schema describe, Apex read, debug logs) and 223 tools total for building, configuring, and automating Salesforce orgs directly from Claude or any MCP client.


Quick Start

npx -y salesforce-metadata-mcp

Or install globally:

npm install -g salesforce-metadata-mcp
salesforce-metadata-mcp

Configuration (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 — 223 total

Highlights below; see TOOLS.md for the complete reference with parameters and example prompts.

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_create_formula_field Create formula fields with full formula language support
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
sf_describe_object Read an object's full schema — fields, types, picklist values, child relationships, record types

Automation

Tool Description
sf_create_flow Create any Flow type — Assignment, Decision, GetRecords, CreateRecords (with field values), DeleteRecords, Loop
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
sf_get_field_permissions Audit current field-level security grants across Profiles and Permission Sets

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
sf_get_apex_class Read the source of an existing Apex class
sf_get_apex_trigger Read the source of an existing Apex trigger
sf_enable_debug_logs Turn on Apex debug logging for a user (TraceFlag)
sf_get_debug_logs List recent Apex debug logs
sf_get_debug_log_body Read the full content of a debug log
sf_scan_apex_antipatterns Lightweight heuristic scan for SOQL/DML-in-loop, hardcoded IDs, debug statements
sf_run_code_scanner Multi-engine static analysis (PMD, SFGE SOQL-injection data-flow, RetireJS, ESLint) via Salesforce Code Analyzer

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 Agent (Bot shell)
sf_create_agent_action Create Agent Actions (GenAiFunction) linked to Flows/Apex
sf_create_agent_topic Create Agent Topics (GenAiPlugin) with actions wired in
sf_create_agent_planner Wire agent to its topics (GenAiPlanner) — required for routing

External Integrations

Tool Description
sf_create_connected_app Create OAuth Connected Apps
sf_create_external_client_app Create External Client Apps (OAuth) — Salesforce's newer replacement for Connected Apps; Client Credentials Flow (incl. Run As user) is API-settable here, unlike 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 (supports testLevel, inline XML)
sf_check_deploy_status Check deployment job status
sf_retrieve_metadata Retrieve metadata from the org
sf_delete_metadata Permanently delete metadata components (CustomObject, CustomField, Flow, GenAiFunction, Bot, etc.)

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. Then create a GetOrders action linked to the Get_Account_Orders flow. Then create an OrderManagement topic with actions: [GetOrders]. Finally wire SalesAssistant to topic OrderManagement."


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


Bugs & Feature Requests

Found a bug or want a new tool? Open an issue — there are templates for bug reports and feature requests. Please include the package version and the tool name, and remove any org URLs or credentials before posting.


License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured