Salesforce Metadata MCP

by semwalajay83-sem

334 downloads
Not rated
GitHub

About

The most comprehensive Salesforce MCP server: 212 tools for managing your org from Claude in natural language. Create custom objects, fields, and page layouts; build and activate Flows; write and deploy Apex and LWC; manage permission sets, profiles, and users; reports and dashbo

Details

Author
semwalajay83-sem
Downloads
334
Categories
Search

- 212 tools covering the full Salesforce metadata API
- Objects, fields, automation, security, and UI creation
- Apex and LWC deployment and testing
- Agentforce agent, action, and topic creation
- External integrations like Connected Apps and named credentials
- Change set creation and metadata deployment/retrieval

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Salesforce Metadata MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via npx -y salesforce-metadata-mcp or npm install -g salesforce-metadata-mcp. Add it to your MCP client configuration (e.g., claude_desktop_config.json) with the server command and required environment variables SF_INSTANCE_URL and SF_ACCESS_TOKEN (or other authentication methods).

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "salesforce metadata mcp": {
            "salesforce": {
                "command": "npx",
                "args": [
                    "-y",
                    "salesforce-metadata-mcp"
                ],
                "env": {
                    "SF_INSTANCE_URL": "https://your-org.my.salesforce.com",
                    "SF_ACCESS_TOKEN": "<YOUR_TOKEN>"
                }
            }
        }
    }
}

McpServers

{
    "salesforce": {
        "command": "npx",
        "args": [
            "-y",
            "salesforce-metadata-mcp"
        ],
        "env": {
            "SF_INSTANCE_URL": "https://your-org.my.salesforce.com",
            "SF_ACCESS_TOKEN": "<YOUR_TOKEN>"
        }
    }
}

salesforce-metadata-mcp

npm version
npm downloads
License: MIT
MCP Compatible

The most comprehensive Salesforce metadata and development MCP server. 212 tools 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 — 212 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 |

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 |

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 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_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 |

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

- SETUP.md — Prerequisites, authentication, Claude configuration
- TOOLS.md — All 212 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.