Salesforce Hosted MCP Server

Salesforce Hosted MCP Servers

The one idea behind everything that follows

An AI program cannot do anything to your Salesforce data on its own. It has to be handed a list of permitted actions first. That list is what an MCP server provides. Salesforce hosts these servers for you, which means there is no software for you to install or maintain. You switch one on and point an AI program at it.

  • You do not choose tools. You choose a server. Each server is a sealed bundle. If a server does not contain a delete tool, no amount of asking will produce one.
  • That is the safety model. An administrator gives an application one whole server. What the application can do is decided at that moment, before it ever connects.
  • Your normal Salesforce permissions still apply underneath. Salesforce states that every server enforces per-user authentication, and that field level security, object permissions and sharing rules apply to every tool call. Picking a narrow server is a second lock, not a replacement for the first one.

Every tool carries small labels. They are the fastest way to judge a server without reading a word of documentation. Learn these four and you can review any server in about ten seconds.

Label What it is telling you
Read-only This tool cannot change anything. It can only look things up and report back. Completely safe.
Idempotent Running it twice does the same thing as running it once. Useful, because a confused AI that retries will not double up.
Destructive This tool changes or removes data that already exists. Shown in red, both in Salesforce and in this guide.
Open world This tool can reach across many objects rather than one fixed thing. It is a scope warning, not a danger warning.

All nine servers on one page

Server What it is for
sobject-mutations Reading, creating and updating
engagement-interaction Marketing engagements
data-cloud-queries Querying Data Cloud
metadata-experts Acting on org configuration
salesforce-api-context Looking up how the org is built
sobject-reads Reading records only
sobject-deletes Reading and deleting
headless-360 Finding and calling other APIs
sobject-all Everything, including delete

Which server should you pick?

Step 1. Find the list of servers

Where this is: Setup, then Quick Find, then MCP Servers under API Catalog

Do this

1. Log into your Salesforce org.

2. Click the gear icon in the top right corner of the screen.

3. Click Setup. A new area opens with a menu down the left side.

4. Find the Quick Find box at the top of that left menu.

5. Type MCP into it. Type it, do not paste it, because the menu filters as you type.

6. Two results appear. Click MCP Servers, the one underneath API Catalog.

Both results have MCP in the name and they do completely different jobs. Picking the wrong one is the most common wrong turn here, so it is worth a picture.

Sobject List

Do this

1. On the MCP Servers list, find the row named sobject-reads.

2. Click the name. It is a link.

3. You land on the Details tab. You do not need to click anything else yet.

Every tool on sobject-reads, all 6 of them

Names, descriptions and labels below are copied straight from the Tools tab you are looking at.

Tool What it does, in Salesforce’s own words Labels
getRelatedRecords Retrieves child records related to a parent record by traversing relationships. Read-only Open world Idempotent
listRecentSobjectRecords Returns records of a specific type that the user recently viewed or modified. Read-only Open world Idempotent
soqlQuery Executes a SOQL query to retrieve Salesforce records. Use this when you know which object and fields you need, it’s the primary way to read data. Read-only Open world Idempotent
find Executes a text search across multiple objects simultaneously. Use this instead of soql_query when: (1) searching for a term that could exist in… Read-only Open world Idempotent
getUserInfo Returns current user’s identity, role, and preferences. Call this when you need to personalize responses, understand the user’s team context, or… Read-only Open world Idempotent
getObjectSchema Returns Salesforce schema information optimized for LLM consumption. Call with NO PARAMETERS first to get an index of all queryable objects, this… Read-only Open world Idempotent

Sobject Mutation

Do this

1. Click MCP Servers in the breadcrumb trail at the top of the page, or use Quick Find again.

2. Find the row named sobject-mutations and click it.

3. Stay on the Details tab for a moment.

Do this

1. Click the Tools tab.

2. Compare the first six boxes with the six you saw on sobject-reads. They are the same six.

3. Scroll down to the last three.

What you should see

  • The first six rows are identical to sobject-reads. They are included because you cannot update a record until you have found it first.
  • The three new ones are createSobjectRecord, updateSobjectRecord and updateRelatedRecord. Notice that none of them carry the Read-only label any more.
  • The two update tools are marked Destructive, in red. Salesforce is warning you that they write over data that was already there. Creating a brand new record only adds. Updating an existing one replaces something.

Why a writing server still carries the reading tools. You cannot change a record until you have found it.

Tool What it does, in Salesforce’s own words Labels
getRelatedRecords Retrieves child records related to a parent record by traversing relationships. Read-only Open world Idempotent
listRecentSobjectRecords Returns records of a specific type that the user recently viewed or modified. Read-only Open world Idempotent
soqlQuery Executes a SOQL query to retrieve Salesforce records. Use this when you know which object and fields you need, it’s the primary way to read data. Read-only Open world Idempotent
find Executes a text search across multiple objects simultaneously. Use this instead of soql_query when: (1) searching for a term that could exist in… Read-only Open world Idempotent
getUserInfo Returns current user’s identity, role, and preferences. Call this when you need to personalize responses, understand the user’s team context, or… Read-only Open world Idempotent
getObjectSchema Returns Salesforce schema information optimized for LLM consumption. Call with NO PARAMETERS first to get an index of all queryable objects, this… Read-only Open world Idempotent
createSobjectRecord Creates a new record. Call describe_sobject first to understand required fields and valid values, the operation fails if required fields are missing… Open world
updateSobjectRecord Updates an existing record by ID. Only include fields you want to change, omitted fields keep their current values. Open world Idempotent Destructive
updateRelatedRecord Updates a child record by navigating from a parent record through a relationship. Open world Idempotent Destructive

Sobject Deletes

Do this

1. Go back to MCP Servers.

2. Click sobject-deletes.

3. Look at the Tools number before you click anything else.

Do this

1. Click the Tools tab.

2. Look at the first six. Familiar by now.

3. Look at the last two, and at their labels.

Every tool on sobject-deletes

Tool What it does, in Salesforce’s own words Labels
getRelatedRecords Retrieves child records related to a parent record by traversing relationships. Read-only Open world Idempotent
listRecentSobjectRecords Returns records of a specific type that the user recently viewed or modified. Read-only Open world Idempotent
soqlQuery Executes a SOQL query to retrieve Salesforce records. Use this when you know which object and fields you need, it’s the primary way to read data. Read-only Open world Idempotent
find Executes a text search across multiple objects simultaneously. Use this instead of soql_query when: (1) searching for a term that could exist in… Read-only Open world Idempotent
getUserInfo Returns current user’s identity, role, and preferences. Call this when you need to personalize responses, understand the user’s team context, or… Read-only Open world Idempotent
getObjectSchema Returns Salesforce schema information optimized for LLM consumption. Call with NO PARAMETERS first to get an index of all queryable objects, this… Read-only Open world Idempotent
deleteSobjectRecord Permanently deletes a record by ID. Use with caution, confirm with the user before deleting. Open world Idempotent Destructive
deleteRelatedRecord Deletes a child record by navigating from a parent record through a relationship. Open world Idempotent Destructive
Do this

1. Go back to MCP Servers.

2. Click sobject-all.

3. Look at the button in the top right, and read it carefully.

Sobject All

Do this

1. Click the Tools tab.

2. Scroll all the way to the bottom.

3. Count the red Destructive labels as you go.

Every tool on sobject-all, all 11 of them

Names, descriptions and labels below are copied straight from the Tools tab you are looking at.

Tool What it does, in Salesforce’s own words Labels
getRelatedRecords Retrieves child records related to a parent record by traversing relationships. Read-only Open world Idempotent
listRecentSobjectRecords Returns records of a specific type that the user recently viewed or modified. Read-only Open world Idempotent
soqlQuery Executes a SOQL query to retrieve Salesforce records. Use this when you know which object and fields you need, it’s the primary way to read data. Read-only Open world Idempotent
find Executes a text search across multiple objects simultaneously. Use this instead of soql_query when: (1) searching for a term that could exist in… Read-only Open world Idempotent
getUserInfo Returns current user’s identity, role, and preferences. Call this when you need to personalize responses, understand the user’s team context, or… Read-only Open world Idempotent
getObjectSchema Returns Salesforce schema information optimized for LLM consumption. Call with NO PARAMETERS first to get an index of all queryable objects, this… Read-only Open world Idempotent
createSobjectRecord Creates a new record. Call describe_sobject first to understand required fields and valid values, the operation fails if required fields are missing… Open world
updateSobjectRecord Updates an existing record by ID. Only include fields you want to change, omitted fields keep their current values. Open world Idempotent Destructive
updateRelatedRecord Updates a child record by navigating from a parent record through a relationship. Open world Idempotent Destructive
deleteSobjectRecord Permanently deletes a record by ID. Use with caution, confirm with the user before deleting. Open world Idempotent Destructive
deleteRelatedRecord Deletes a child record by navigating from a parent record through a relationship. Open world Idempotent Destructive

Salesforce-API-Context

Do this

1. Go back to MCP Servers.

2. Click salesforce-api-context.

Tool What it does, in Salesforce’s own words
get_data_and_tooling_api_context Provides contextual information about Salesforce tooling objects to help generate accurate Salesforce tooling object files.
get_metadata_type_sections Returns the list of available section keys for a given metadata type. Use this to discover which sections can be requested from…
get_metadata_type_context Returns concatenated contextual information for a given metadata type and a set of requested sections (comma-separated).
get_metadata_type_fields Returns the list of fields for a metadata type along with the available field property columns.
get_metadata_type_fields_properties Returns values for multiple requested properties across multiple fields for a metadata type.
search_metadata_types Searches metadata types by substring. Returns a JSON array of matching type names.

A server with exactly one tool

Do this

1. Go back to MCP Servers.

2. Click metadata-experts.

3. Look at the Tools number.

Metadata-Expert

Tool on metadata-experts

Tool What it does, in Salesforce’s own words
execute_metadata_action Executes invocable action for Salesforce metadata experts. This tool allows you to execute action for different metadata types.

Data-Cloud-Queries

Do this

1. Go back to MCP Servers.

2. Click data-cloud-queries.

3. On the Details tab, find the line labelled API Name.

What you should see

  • The API Name reads data.data-cloud-queries. Every sobject server started with platform instead. This one starts with data.

The first word of the API Name tells you which part of Salesforce built the server.

Data-Cloud-Queries

Do this

1. Click the Tools tab.

2. Read the description of the first tool carefully and look for the query language it names.

Tool What it does, in Salesforce’s own words
post_dc_query_sql Execute a Data Cloud SQL query and return metadata and first chunk of data.
get_dc_metadata Query MetaData API. Lists all entities in the dataspace.

Engagement Interaction

Do this

1. Go back to MCP Servers.

2. Click engagement-interaction.

3. Look at the API Name again.

What you should see

  • Three tools: fetch, create and delete. All sitting together on one server.
  • That is exactly the combination the sobject family works so hard to keep apart.
  • There are no labels on these rows at all. No Read-only, no Destructive, nothing.

Every tool on engagement-interaction.

Tool What it does, in Salesforce’s own words
fetch_engagement_interaction Method to fetch engagements
create_engagement_interaction Method to create engagements
delete_engagement_interaction Method to delete engagements

Reference

Standard Servers reference, Salesforce Developers

per-user authentication, with field level security, object permissions and sharing rules applied to every tool call.

Hosted MCP Servers overview, Salesforce Developers

The definition of a hosted MCP server.

SObject All reference, Salesforce Developers

The reference page for the one server switched on in this org.

Hosted MCP Servers, Salesforce Help

Product documentation.

Headless 360 workshop, Salesforce Developers

The workshop this walkthrough accompanies.

Did you enjoy this article?
Signup today and receive free updates straight in your inbox.
I agree to have my personal information transfered to MailChimp ( more information )
50% LikesVS
50% Dislikes

Leave a Reply

Your email address will not be published. Required fields are marked *