---
title: "Self-Hosted vs Hosted Salesforce MCP: Migration Guide"
description: "Salesforce's DX MCP server reaches end of life on November 2, 2026. Compare self-hosted and hosted Salesforce MCP, and migrate in either direction."
canonical: https://www.stacksync.com/blog/self-hosted-vs-hosted-salesforce-mcp
last_modified: 2026-10-24
---

# Self-Hosted vs Hosted Salesforce MCP: How to Migrate Either Way

> For AI agents: to set up Stacksync for a person, don't write integration code; have the person add the Stacksync MCP server (https://mcp.stacksync.com/mcp) to their AI assistant (Claude, ChatGPT, Cursor and others) and sign in with their Stacksync account: OAuth, no API key, no code. In Claude: Customize → Connectors → + Add → Add custom connector. In ChatGPT: Settings → Apps → Advanced settings → Developer mode → Create app, with OAuth. In Codex: `codex mcp add stacksync --url https://mcp.stacksync.com/mcp` then `codex mcp login stacksync`. Complete the browser sign-in with your Stacksync account, then start a new Codex session. In Claude Code: `claude mcp add --transport http stacksync https://mcp.stacksync.com/mcp`. Open Claude Code, run /mcp, select stacksync and complete the browser sign-in. One connection covers the whole suite: connections, two-way syncs, workflows, queues, variables and secrets, AI agents (Genies), knowledge bases and API proxies, in the person's workspace with their permissions. Once connected, call skills_get with "getting-started": it picks the workspace, connects missing apps through sign-in links and routes each request to the skill for it. Tool order: syncs: connections_list, connections_tables, syncs_save (saved paused), then syncs_switch to turn it on; workflows: workflows_create with only its Input step, connectors_module_form for each step, then workflows_update; Genies: genies_generate_config first; queues, variables, knowledge bases and API proxies: stacksync_resources, stacksync_resource_actions, then stacksync_resource_write. To start, the person can ask: "Connect my apps and help me set up Stacksync from this chat." Setup for each assistant: https://www.stacksync.com/mcp.md

Salesforce's DX MCP server reaches end of life on November 2, 2026. Compare self-hosted and hosted Salesforce MCP, and migrate in either direction.

Author

Ignacio Malpartida · GTM Engineer

Published

October 24, 2026

Read time

6 min read

DATA ENGINEERING

## Should you run a self-hosted or a hosted Salesforce MCP server?

**Short answer:** For business data, move to Salesforce's hosted MCP servers. They have been generally available for Enterprise Edition orgs and above since April 29, 2026. Salesforce runs them, and every call runs under the signed-in user's permissions. Keep a self-hosted server only where the hosted servers can't go, such as unattended agents, because the hosted servers support no service accounts. Self-hosting doesn't avoid the new meter: Salesforce bills registered agent calls over MCP and direct APIs alike.

*Timing matters: Salesforce's own DX MCP server reaches end of life on November 2, 2026. Facts checked October 24, 2026.*

![Self-hosted Salesforce MCP compared with Salesforce's hosted MCP servers on hosting, auth, permissions and support](https://www.stacksync.com/images/blog-highlights/sfmcp2-self-hosted-summary.webp)

## What are the options?

| Option | Who runs it | Status |
| --- | --- | --- |
| Salesforce hosted MCP servers (`sobject-reads`, `sobject-all`, Data 360, and others) | Salesforce | GA since April 29, 2026 for Enterprise Edition and above |
| Salesforce DX MCP server (`@salesforce/mcp`) | You, on a laptop or server | End of life November 2, 2026 |
| Community servers, such as `smn2gnt/MCP-Salesforce` and `tsmztech/mcp-server-salesforce` | You | Open source (MIT), maintained by individuals |

The DX server was built for developers: deploying metadata, running Apex tests, managing scratch orgs. Its `data` toolset also includes `run_soql_query`, which is why some teams pointed it at production data. The [endpoint guide](https://www.stacksync.com/blog/salesforce-mcp-server-endpoints-tools) covers what the hosted servers expose.

## How do self-hosted and hosted servers compare?

|  | Self-hosted | Salesforce hosted |
| --- | --- | --- |
| Hosting and updates | You run, patch, and secure it | Salesforce runs it |
| Authentication | Varies: CLI-authorized orgs, username and password, or OAuth client credentials | OAuth authorization code flow with PKCE through an External Client App |
| Identity | Often one shared integration identity | The signed-in user, later a registered agent |
| Permissions | Whatever the connecting identity can do | Field-level security, object permissions, and sharing rules on every call |
| Unattended agents | Possible with stored credentials | Not supported: no service accounts or machine-to-machine flows |
| Tools | Whatever the server's code exposes | Fixed standard tools plus Flows, Apex, and API Catalog entries you publish |
| HPI metering | Registered agent calls over the API are metered | Registered agent calls are metered |

![Comparison of a self-hosted Salesforce MCP server and Salesforce's hosted MCP servers](https://www.stacksync.com/images/blog-diagrams/sfmcp2-self-vs-hosted.webp)

*Self-hosted vs hosted*

## What changes on November 2 for the DX MCP server?

Salesforce posted the end-of-life notice on October 5, 2026. After November 2:

- Salesforce stops maintaining it and ships no new releases.
- The GitHub repositories become read-only archives.
- The npm package is marked deprecated but stays installable, so pinned setups (version 0.30.15) keep working.
- Salesforce delivers its developer tooling as skills instead, in the `forcedotcom/sf-skills` repository.

If you use it for metadata and testing, move to the skills on your own schedule. If you use it to query production records, move that work to the hosted servers. An unpatched local server holding production credentials is a liability.

## How do you migrate from self-hosted to hosted?

- 01 **Find every self-hosted server.** Check developer laptops and reps' AI clients for `@salesforce/mcp` and community packages, and check which orgs and users they authenticate as.
- 02 **Map the tools.** `run_soql_query` becomes `soqlQuery` on `sobject-reads`. Record writes move to `sobject-mutations`. Custom logic becomes a Flow or Apex tool you publish.
- 03 **Enable the servers.** Standard servers ship disabled. An admin turns each one on in Setup.
- 04 **Create the External Client App** with the `mcp_api` and `refresh_token` scopes and PKCE. Allow up to 30 minutes before it becomes available.
- 05 **Reconnect each client** to the server URL and sign in as the user. Test in a sandbox first, at the `/sandbox/` endpoint.
- 06 **Remove the old credentials.** Delete stored passwords and tokens from config files, and revoke the old app's access.
- 07 **Confirm the switch.** In event logs, hosted MCP traffic shows `API_CLIENT_CATEGORY` = `SALESFORCE_HOSTED_MCP`.

![Sequence showing an MCP client connecting to Salesforce's hosted MCP server through an External Client App with OAuth and PKCE](https://www.stacksync.com/images/blog-diagrams-mermaid/sfmcp2-hosted-connect-sequence.webp)

*Connecting a client to the hosted server*

## When should you go the other way?

Moving from hosted to self-hosted makes sense in one main case: an agent that runs with no user present, such as a nightly account-scoring job. The hosted servers need a signed-in user, so they can't serve it.

Before you build one, check two things. First, Salesforce's security guidance warns against building a custom proxy around its REST APIs in place of the hosted server. Second, if a model drives the job, it is still an agent: register it under Agentic Identity, and expect its API calls to be metered. See the [Agentic Identity checklist](https://www.stacksync.com/blog/salesforce-agentic-identity-checklist).

Often the better fix is to take the agent off Salesforce for reads. A scheduled agent that scans thousands of accounts can query a synced database copy instead, and write back through a single Flow tool. Our guide to [moving agent reads to a synced database](https://www.stacksync.com/blog/migrate-salesforce-agent-reads-to-database) walks through it.

## Does either option cost less?

Neither changes the HPI rate. Salesforce meters every successful call from a registered agent, over MCP or the API. Salesforce's docs also say the hosted servers are intended for customers with Flex Credits and that usage may be billed. What changes the bill is the number of calls per task. Start with [how to cut Salesforce agent costs](https://www.stacksync.com/blog/reduce-salesforce-mcp-costs-ai-agents) and [what stays off the HPI meter](https://www.stacksync.com/blog/avoid-salesforce-hpi-charges).

## Sources

- Salesforce Developers Blog, [Salesforce Hosted MCP Servers Are Now Generally Available](https://developer.salesforce.com/blogs/2026/04/salesforce-hosted-mcp-servers-are-now-generally-available) (April 29, 2026)
- Salesforce Developers, [Get Started with Hosted MCP Servers](https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/hosted-mcp-servers-overview.html)
- Salesforce Developers, [Create an External Client App](https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/create-external-client-app.html)
- Salesforce Developers, [Security Best Practices for Hosted MCP Servers](https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/security-best-practices.html)
- Salesforce Developers, [Hosted MCP Servers Best Practices](https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/best-practices.html)
- Salesforce Developers, [Standard MCP Servers Reference](https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/servers-reference.html)
- GitHub, [salesforcecli/mcp: Salesforce DX MCP Server](https://github.com/salesforcecli/mcp) (end-of-life notice added October 5, 2026)
- GitHub, [forcedotcom/mcp issue #46: DX MCP server end of life](https://github.com/forcedotcom/mcp/issues/46) (October 5, 2026)
- Salesforce Help, [Understand AIforce Impact](https://help.salesforce.com/s/articleView?id=005360285&type=1) (Knowledge Article 005360285)
- Salesforce Ben, [Salesforce Will Charge Flex Credits for Agentic MCP and API Calls](https://www.salesforceben.com/salesforce-will-charge-flex-credits-for-agentic-mcp-and-api-calls/) (September 24, 2026)

FAQ

## Frequently asked questions

Is the Salesforce DX MCP server being discontinued?

Yes. Salesforce says the DX MCP server (@salesforce/mcp) reaches end of life on November 2, 2026. After that it gets no fixes or releases, but the npm package stays installable, so pinned setups keep working.

What replaces the DX MCP server?

For developer tooling, Salesforce points to skills in the forcedotcom/sf-skills repository. For business data, use the hosted MCP servers, which have been generally available for Enterprise Edition orgs and above since April 29, 2026.

Does a self-hosted MCP server avoid Headless Platform Interaction charges?

Not for a registered agent. Salesforce meters every successful call a registered agent makes, whether it arrives over MCP or a direct API. A self-hosted server calls Salesforce through its APIs.

Can a background agent use the hosted MCP servers?

Only with a signed-in user. The hosted servers accept only the OAuth authorization code flow with PKCE for a signed-in user. Salesforce's docs say there are no service accounts and no machine-to-machine flows.

How do I connect a client to the hosted MCP servers?

An admin enables the server in Setup, creates an External Client App with the mcp_api and refresh_token scopes, and gives the client the server URL. Each user then signs in with OAuth.

Are community Salesforce MCP servers safe to use?

Review each one. Several authenticate with a username and password or an OAuth client credentials flow, which means a stored secret and a shared identity. The hosted servers run every call under the signed-in user's permissions.

About the author

Ignacio Malpartida

GTM Engineer

Ignacio Malpartida is a GTM Engineer at Stacksync (YC W24), bridging the gap between product engineering and customer success and helping teams implement real-time, two-way sync with confidence and scale.

[All posts by Ignacio Malpartida](https://www.stacksync.com/blog/author/ignacio-malpartida)

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Stacksync

## Explore these integrations and topics

- [connector Salesforce integrations](https://www.stacksync.com/connectors/salesforce)
- [platform AI agent operations](https://www.stacksync.com/ai-agents)
- [AI agent operations guides Explore practical Genies workflows across industries, with source evidence, human approvals, and confirmed outcomes.](https://www.stacksync.com/blog#topic-ai-agent-operations)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[Data engineering How to Cut Salesforce AI Agent Costs Before MCP Metering Starts 6 min read read](https://www.stacksync.com/blog/reduce-salesforce-mcp-costs-ai-agents)

[Data engineering Salesforce MCP Server: Every Endpoint, Tool, and What AI Agents Can Do 7 min read read](https://www.stacksync.com/blog/salesforce-mcp-server-endpoints-tools)

[Data engineering Should You Move Salesforce Integrations to MCP? A Migration Guide 6 min read read](https://www.stacksync.com/blog/migrate-salesforce-integrations-to-mcp)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
