Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Salesforce Metadata MCP

by semwalajay83-semversion 3.2.0i★ –iRuns on your computer
Registry nameio.github.semwalajay83-sem/salesforce-metadata-mcp

Install

Overview

Description from the maker (original English)

The only Salesforce MCP with Agentforce, OmniStudio & DevOps Center tools — 228 total.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Marketing & social media
  • You need to fill in: SF_INSTANCE_URL, SF_ACCESS_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: SF_INSTANCE_URL, SF_ACCESS_TOKEN, SF_ALIAS, SF_TOOLSETS, SF_PRODUCTION_GUARD

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "salesforce-metadata": {
      "command": "npx",
      "args": [
        "-y",
        "salesforce-metadata-mcp"
      ],
      "env": {
        "SF_INSTANCE_URL": "your-value",
        "SF_ACCESS_TOKEN": "your-value",
        "SF_ALIAS": "your-value",
        "SF_TOOLSETS": "your-value",
        "SF_PRODUCTION_GUARD": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add salesforce-metadata --env SF_INSTANCE_URL=your-value --env SF_ACCESS_TOKEN=your-value --env SF_ALIAS=your-value --env SF_TOOLSETS=your-value --env SF_PRODUCTION_GUARD=your-value -- npx -y salesforce-metadata-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "salesforce-metadata": {
      "command": "npx",
      "args": [
        "-y",
        "salesforce-metadata-mcp"
      ],
      "env": {
        "SF_INSTANCE_URL": "your-value",
        "SF_ACCESS_TOKEN": "your-value",
        "SF_ALIAS": "your-value",
        "SF_TOOLSETS": "your-value",
        "SF_PRODUCTION_GUARD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "salesforce-metadata": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "salesforce-metadata-mcp"
      ],
      "env": {
        "SF_INSTANCE_URL": "your-value",
        "SF_ACCESS_TOKEN": "your-value",
        "SF_ALIAS": "your-value",
        "SF_TOOLSETS": "your-value",
        "SF_PRODUCTION_GUARD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • SF_INSTANCE_URL required env
    Salesforce org URL, e.g. https://yourorg.my.salesforce.com
  • SF_ACCESS_TOKEN secret env
    Salesforce access token (or use SF_ALIAS / JWT variables instead)
  • SF_ALIAS env
    Salesforce CLI org alias (alternative to SF_ACCESS_TOKEN)
  • SF_TOOLSETS env
    Toolsets to load at startup: 'all', 'none', or a comma-separated list. Default: core,metadata. All 228 tools stay available via sf_find_tool / sf_load_toolset, and callable via sf_call_tool even on c…
  • SF_PRODUCTION_GUARD env
    Refuse destructive tools on production orgs: 'destructive' (default), 'strict', or 'off'. Metadata creation is never affected.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account semwalajay83-sem, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 3593 servers in this category
  • Published to the registry more recently than 42% of the other 3593 servers in this category
  • Basic checks equal to or better than 100% of the other 3593 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Salesforce Metadata MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: SF_INSTANCE_URL, SF_ACCESS_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (3.2.0) reached the registry 39 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

MCP YouTube Transcript

An MCP server retrieving transcripts of YouTube videos

by jkawamotoGrowing★ 495Updated 11 days ago

Runs on your computer

Google Analytics MCP

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

by surendranbGrowing↓ 1.1K/wk★ 244Updated 11 days ago

Runs on your computer

BibiGPT YouTube Video Summarizer

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

by JimmyLvEarly★ 137Updated 11 days ago

Runs in the cloud✓ bibigpt.co

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

salesforce-metadata-mcp

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 228 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.

One-click install (Claude Desktop)

Download salesforce-metadata-mcp- .mcpb from the latest release, then drag it into Claude Desktop → Settings → Extensions. It prompts for your org URL and credentials — no JSON editing.

The bundle resolves the server from npm at launch rather than embedding a copy, so it always runs the current published version and never needs re-downloading after an upgrade.

Docker
docker build -t salesforce-metadata-mcp .

docker run -i --rm \ -e SF_INSTANCE_URL="https://your-org.my.salesforce.com" \ -e SF_ACCESS_TOKEN="your_access_token" \ salesforce-metadata-mcp

The image builds from source, runs as a non-root user, and ships production dependencies only. Because this server speaks MCP over stdio, -i is required — the container is driven by its client, not run as a background service. SF_ALIAS will not work in a container: the Salesforce CLI's login flow needs a browser, so use token, JWT, refresh-token, or client-credentials variables instead.


Toolsets — loading 228 tools without burning your context

All 228 tools are always available. Most are not loaded into the model's context until something asks for them.

Listing every tool up front costs roughly 98,000 tokens — about half a 200k context window, spent before you type anything, whether or not the session ever touches OmniStudio or DevOps Center. A 228-candidate tool list also makes the model measurably worse at picking the right tool. So the server starts with a small core loaded and pulls in the rest on demand:

StartupTools listedApprox. tokens
Default (core,metadata)20~9,900
After loading two more toolsets43~20,800
SF_TOOLSETS=all233~99,100

The default covers what nearly every session needs: describe/list objects, SOQL query, deploy/retrieve/delete metadata, deploy status, and core schema creation (objects, fields, formula fields, picklist values, validation rules, approval processes).

Five tools are always present and make everything else reachable:

  • `sf_find_tool` — search all 228 tools by name and load whatever contains the matches, in one call. Ask for *"create an omniscript"* and it finds the tools, loads omnistudio, and they are callable immediately. This is usually all you or the model needs.
  • `sf_load_toolset` — load named toolsets explicitly.
  • `sf_list_toolsets` — browse all toolsets, their tool counts, and what is loaded.
  • `sf_call_tool` — invoke any tool by name, loaded or not, without it having to appear in the tool list first. Arguments are validated and the production guard applies exactly as on a direct call.
  • `sf_tool_schema` — return any tool's input schema, so sf_call_tool can be constructed for a tool the client cannot see.

In practice you don't manage this by hand: ask for what you want, and the model loads what it needs.

If loaded tools don't show up

Loading a toolset enables it on the server and emits notifications/tools/list_changed. A client is supposed to re-fetch tools/list when it sees that. Some clients don't — and when that happens, the load reports success, the tools really are enabled, and the model still cannot call any of them because they never entered its tool list.

Two things handle this, so no client can lose access to a tool:

  • sf_load_toolset checks whether the client re-fetched and says so in its response, instead of reporting an unqualified success for tools that have become unreachable.
  • sf_call_tool reaches every tool without needing a re-fetch at all. Combined with sf_tool_schema, the full 228-tool surface is usable from the handshake tool list alone — even under SF_TOOLSETS=none.

To restore the previous behaviour of loading everything at startup, set SF_TOOLSETS=all. To start with only the five meta-tools, set SF_TOOLSETS=none. To pick your own core, pass a list:

{ "env": { "SF_TOOLSETS": "metadata,objects,automation,security" } }

Available toolsets: core, metadata, objects, data, flows, automation, security, apex, lwc, ui, pages, actions, agentforce, omnistudio, omnichannel, devops, deployment, integrations, identity, reports, experience, admin, monitoring, audit, einstein, knowledge, cpq, sandbox, streaming, visualforce, aura, comms, mcp, i18n.

Flow tools live in their own flows toolset because sf_create_flow carries the full Flow element schema — 15,266 bytes (~4,126 tokens) on its own, the largest tool definition in the server. Keeping it out of the default means sessions that never build a Flow never pay for it, while sessions that do still get the complete validated schema.


Tools — 228 total

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

Objects & Fields
ToolDescription
sf_create_custom_objectCreate a custom object with all settings
sf_create_custom_fieldCreate a field on any object (all types)
sf_create_formula_fieldCreate formula fields with full formula language support
sf_add_picklist_valuesAdd values to existing picklist fields
sf_create_custom_metadata_typeCreate a Custom Metadata Type (__mdt)
sf_create_custom_metadata_recordCreate records for a Custom Metadata Type
sf_create_custom_labelCreate or update Custom Labels
sf_create_custom_settingCreate Hierarchy or List Custom Settings
sf_create_global_value_setCreate shared picklist usable across objects
sf_create_record_typeCreate Record Types with picklist overrides
sf_create_business_processCreate Business Processes for Opp/Lead/Case
sf_create_page_layoutCreate Page Layouts with sections and fields
sf_create_sharing_ruleCreate criteria or ownership sharing rules
sf_create_field_dependencyCreate controlling/dependent picklist dependency
sf_describe_objectRead an object's full schema — fields, types, picklist values, child relationships, record types
sf_list_objectsFind objects by partial name or label — the discovery step before sf_describe_object
sf_get_metadata_dependenciesImpact analysis: what references this component, and does the field hold data? Read-only
sf_update_custom_objectUpdate object-level properties, risk-classified with a confirmation gate
sf_update_custom_fieldUpdate a field's definition, risk-classified — destructive changes report impact before applying
Automation
ToolDescription
sf_create_flowCreate any Flow type — Assignment, Decision, GetRecords, CreateRecords (with field values), DeleteRecords, Loop
sf_create_approval_processCreate multi-step approval processes
sf_create_validation_ruleCreate data validation rules
sf_create_workflow_field_updateCreate workflow field update actions
sf_create_email_alertCreate workflow email alert actions
sf_create_platform_eventCreate Platform Event objects
sf_create_assignment_ruleCreate Lead/Case assignment rules
sf_create_escalation_ruleCreate Case escalation rules
sf_create_auto_response_ruleCreate Web-to-Lead/Case auto-response rules
sf_create_matching_ruleCreate duplicate matching rules
sf_create_duplicate_ruleCreate duplicate detection rules
sf_create_apex_email_serviceCreate inbound Apex email services
sf_create_scheduled_jobSchedule an Apex class via cron
Security & Access
ToolDescription
sf_create_permission_setCreate Permission Sets with all permissions
sf_create_roleCreate roles in the role hierarchy
sf_create_queueCreate queues with members and objects
sf_create_named_credentialCreate Named Credentials for callouts
sf_get_field_permissionsAudit current field-level security grants across Profiles and Permission Sets
UI & Experience
ToolDescription
sf_create_lightning_appCreate Lightning Apps with nav/utility bars
sf_create_tabCreate Custom Tabs for objects
sf_create_compact_layoutCreate Compact Layouts (highlights panel)
sf_create_list_viewCreate List Views with filters and columns
sf_create_email_templateCreate HTML/text email templates
sf_create_static_resourceCreate Static Resources from text content
sf_create_custom_notification_typeCreate Custom Notification Types
sf_create_report_typeCreate Custom Report Types
sf_create_dashboardCreate Dashboards with components
Apex Development
ToolDescription
sf_create_apex_classDeploy any Apex class to the org
sf_create_apex_triggerDeploy an Apex trigger on any object
sf_create_apex_test_classDeploy test classes, optionally run tests
sf_run_apex_testsRun test classes and get pass/fail results
sf_execute_anonymous_apexExecute anonymous Apex and see output
sf_get_apex_classRead the source of an existing Apex class
sf_get_apex_triggerRead the source of an existing Apex trigger
sf_enable_debug_logsTurn on Apex debug logging for a user (TraceFlag)
sf_disable_debug_logsTurn Apex debug logging back off (deletes active TraceFlags)
sf_get_debug_logsList recent Apex debug logs
sf_get_debug_log_bodyRead the full content of a debug log
sf_scan_apex_antipatternsLightweight heuristic scan for SOQL/DML-in-loop, hardcoded IDs, debug statements
sf_run_code_scannerMulti-engine static analysis (PMD, SFGE SOQL-injection data-flow, RetireJS, ESLint) via Salesforce Code Analyzer
LWC Development
ToolDescription
sf_create_lwcDeploy a full LWC with HTML, JS, CSS
sf_update_lwcUpdate an existing LWC component
Experience Cloud
ToolDescription
sf_create_experience_siteCreate Experience Cloud sites
sf_create_experience_pageCreate pages within Experience sites
Agentforce
ToolDescription
sf_create_agentCreate Agentforce Agent (Bot shell)

| sf_create_agent_action | Create Ag

Only the beginning is shown; read the rest in the repo

Ask PopNx