Skip to content

Stacksync × Supabase Miami: AI-Native OperationsOct 13Reserve your spot

Should You Move Salesforce Integrations to MCP? A Migration Guide

Which Salesforce REST, Bulk and Apex integrations belong on the hosted MCP servers, which should stay put, and how HPI metering changes the decision.

Author
Ignacio Malpartida · GTM Engineer
Published
Read time
6 min read
Should You Move Salesforce Integrations to MCP? A Migration Guide
DATA ENGINEERING

Should you move Salesforce integrations to MCP?

Short answer: Move the integrations an AI model drives, and leave the rest where they are. MCP gives a model a standard way to discover and call Salesforce tools. A scheduled sync, an ETL job, or a middleware flow doesn't need that: its logic is fixed, it moves more data than MCP allows, and Salesforce says traditional integrations keep their current pricing. Rebuilding one as an agent would put its traffic on the Headless Platform Interaction (HPI) meter.

Based on Salesforce's hosted MCP documentation and its announced metering rules as of October 24, 2026.

Four Salesforce integration types and where each belongs: AI assistants move to MCP, business logic becomes MCP tools, scheduled syncs and bulk loads stay as integrations

What changes when an integration moves to MCP?

Three things change, and only the first is technical.

  • Who decides the calls. A REST integration runs the calls a developer wrote. An MCP client lets the model pick tools at run time, so the number of calls per task varies.
  • Whose identity runs them. Integrations run on integration users. Agents will register under Agentic Identity with their own credentials. See the Agentic Identity checklist.
  • How Salesforce bills them. Registered agent calls in production become HPIs billed in Flex Credits. Integration traffic stays on today's terms. Our pricing explainer covers the meter.

That last point settles most migration questions. Moving fixed-logic traffic into an agent adds a per-call charge and buys no new capability.

Which integrations should move?

Integration todayMove to MCP?Why
Chat assistant or copilot calling REST with a user's tokenYesA model already drives it. MCP replaces hand-written tool wrappers and enforces the user's permissions
Custom GPT or Claude project with a homegrown Salesforce connectorYesThe hosted servers replace code you maintain
Apex or Flow business logic an agent should triggerYes, as a custom toolPublish it as an MCP tool and keep its validation and approvals
Scheduled sync to a database or warehouseNoFixed logic, high volume, integration pricing
Bulk API loads and backfillsNoMCP caps queries at 50,000 records per transaction
Middleware flows (order to cash, lead routing)NoDeterministic steps. Keep them on the integration user
Platform Events and Change Data Capture consumersNoEvent streams have no MCP equivalent
Comparison of integrations that move to Salesforce MCP and integrations that stay on integration users
Move the model-driven work, keep the fixed-logic work

How do you migrate an agent integration to MCP?

For each integration that passes the test above:

  • 01List the calls it makes today. Map each REST endpoint to an MCP tool: SOQL queries to soqlQuery, record creates to createSobjectRecord, and so on. The endpoint guide has the full tool list.
  • 02Enable the server. Standard servers ship disabled. An admin turns each one on in Setup.
  • 03Pick the narrowest server. A read-only assistant goes on sobject-reads. One that logs work goes on sobject-mutations. Avoid sobject-all unless a trusted user needs everything.
  • 04Turn custom logic into tools. Anything your integration did in several REST calls, such as create an opportunity and its line items, becomes one Flow or Apex invocable action published as a tool.
  • 05Switch auth. The hosted servers accept only the OAuth authorization code flow with PKCE, through an External Client App with the mcp_api scope. They don't support connected apps, service accounts, or machine-to-machine flows. Move from the shared token to per-user OAuth, then to the agent's registered credentials when Agentic Identity applies to your org.
  • 06Test in a sandbox and count calls. Salesforce doesn't meter sandboxes. Compare calls per task before and after.
  • 07Retire the old connector and revoke its connected app so nothing keeps calling the REST path.
Decision flow for whether a Salesforce integration should move to MCP, become a custom tool, or stay an integration
Move, wrap, or keep

What should you do with the integrations that stay?

Leaving them alone is correct, but tidy them up so Salesforce can tell them apart from agents.

  • Give each integration its own integration user and connected app. Enterprise, Unlimited, and Performance Edition orgs come with five API-only Salesforce Integration user licenses.
  • Remove any agent that shares those credentials.
  • Document what each one does, in case Salesforce asks how you classified it.

Some of these integrations can also help your agents. A sync that keeps Salesforce data in Postgres gives agents a place to read without calling Salesforce at all. That is the subject of our guide to moving agent reads to a synced database.

Book a Stacksync demo to serve Salesforce agent reads from a synced database

Common mistakes

  • Rebuilding a nightly sync as an agent because MCP is new. You add a per-call charge and lose bulk throughput.
  • Switching from MCP back to REST to dodge the meter. Salesforce meters registered agent calls on both.
  • Porting call-by-call. A one-to-one port of ten REST calls gives you ten metered calls. Wrap multi-step work in one Flow tool.
  • Leaving the old connector running. Two paths double your calls and blur your audit trail.

If you're also deciding between Salesforce's hosted servers and a self-hosted MCP server, see self-hosted vs hosted Salesforce MCP.

Sources

Start syncing with Stacksync

FAQ

Frequently asked questions

Should I rebuild my Salesforce integrations on MCP?
Only the ones an AI model drives. Scheduled syncs, ETL jobs, and middleware flows have fixed logic and gain nothing from MCP. Moving them would also put their traffic under an agent identity, which Salesforce meters.
Do MCP calls cost more than REST API calls?
For a registered agent, no. Salesforce meters successful calls from registered agents on MCP and on direct APIs alike. For a traditional integration on an integration user, Salesforce says current pricing continues.
Can MCP handle bulk data loads?
No. The hosted soqlQuery tool caps at 50,000 records per transaction and find at 2,000. Large loads and full syncs belong on Bulk API jobs or a sync platform.
How do I expose existing Apex or Flow logic to an agent?
Publish it as a custom MCP tool. Salesforce supports Flows, Apex invocable actions, @AuraEnabled methods, Apex REST endpoints, and APIs registered in the API Catalog.
What happens to an integration user that an agent also uses?
Split it. Give the scheduled integration its own user and connected app, and register the agent under Agentic Identity with its own credentials, so you can show Salesforce which traffic is which.
Is the hosted MCP server free?
Salesforce hasn't said so. The servers have been generally available for Enterprise Edition and above since April 2026, but Salesforce's documentation says they are intended only for customers with Flex Credits and that you may be billed for server usage. Agent calls through them become billable Headless Platform Interactions once metering starts.

About the author

Ignacio Malpartida
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

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.

Coworkers laughing in front of a laptop in a casual office setting

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