Salesforce Hosted Model Context Protocol (MCP) Servers promise a governed way to connect AI clients to Salesforce. Instead of building a custom integration, an AI client can discover tools and interact with data on behalf of an authenticated user.
But what happens when that user has an Experience Cloud license?
I have encountered access failures with both Partner Community and Customer Community users. The detailed test below used a Partner Community license: authentication succeeded, but access to the hosted MCP servers failed.
Authentication Succeeded, MCP Access Failed
The partner user had API access enabled and authenticated through an Experience Cloud site using OAuth Authorization Code with Proof Key for Code Exchange (PKCE).
Salesforce issued a JSON Web Token (JWT) access token with the mcp_api scope. I verified the user’s identity and confirmed that the token’s audience included https://api.salesforce.com.
The MCP servers were enabled. Nevertheless, initialization failed with HTTP 500:
An error occurred while retrieving server ‘sobject-reads’. Please retry the request.
The same partner user also failed to initialize SObject All, SObject Mutations, and Headless 360. Retesting SObject Reads with the org-qualified endpoint did not change the result.
In an earlier partner-user test in another sandbox, I received a different message:
Server definition not found for: sobject-reads
Neither message clearly explains whether the problem is licensing, permissions, or server configuration.
The Internal-User Comparison
Using the same External Client App and OAuth scopes, I authenticated as an internal System Administrator with a Salesforce license.
SObject All initialized successfully. Tool discovery worked, and two read-only Account queries returned records.
The integration therefore worked for the internal user but failed during server initialization for the partner user. I have also encountered the access problem with Customer Community users, although that license was not part of this particular comparison.
These observations point toward an external-user eligibility or context restriction. They do not establish Salesforce’s precise licensing rule: the internal and external users also had different permissions and token issuers.
Why This Matters
Salesforce’s security documentation explains that MCP tools respect the authorizing user’s object permissions, field-level security, and record sharing.
That is exactly what customer- and partner-facing AI experiences need: users should work with the data they are already entitled to access, without expanding their privileges.
Using an internal administrator’s token instead is not an equivalent solution. It changes the identity and permissions under which requests execute.
An Opportunity to Broaden Access
It would be valuable to see hosted MCP support extend to Experience Cloud users whose licenses and permissions allow the underlying operations, while preserving existing security boundaries.
Clearer error messages would also help. If a user’s license is not eligible, an explicit explanation would make troubleshooting easier than “Server definition not found.”
I shared these observations and suggestions in an IdeaExchange proposal:
Allow non-full-license users to access Salesforce Hosted MCP Servers

Leave a Reply