
Salesforce MCP, Salesforce's hosted MCP servers
Lets Claude, ChatGPT or Cursor look up and update your Salesforce records. Salesforce runs it, and you sign in with your own login.
Salesforce runs these connectors so Claude, ChatGPT or Cursor can look up and update the records you can already open in Salesforce. An admin has to switch them on first, and each person signs in with their own Salesforce login. They need Enterprise Edition or above, and Salesforce says they are meant for customers with Flex Credits, so usage may be billed. Sellers in Claude or ChatGPT can use separate beta apps built on top, and the developer-only Salesforce DX server ends on November 2, 2026, with sf-skills as its replacement.
Good for
- Salesforce admins who want to let their team use AI on live CRM data
- Sales and ops teams who want to ask questions about accounts, deals and reports in plain English
- Developers building agents that read records or run existing Flows and Apex
- Teams that want AI actions to follow existing Salesforce permissions and audit trails
Works in
5 supported · 9 should work
Tap an app to see how to set it up and any known problems.
Salesforce's blog covers it: add the connector in Claude.ai and it carries over, or add the URL from the command line and sign in. developer.salesforce.com
Salesforce's docs cover it: add a custom connector with the server URL and your app's consumer key, then sign in.
Known problems
- Open
Salesforce sign-in succeeds but the connector never reaches Connected
Workaround: Check the server is activated for that org; Anthropic says a 404 after sign-in usually means it is not.
Since Dec 2025 · GitHub
- Open
Connection fails because Salesforce's sign-in details don't match what Claude expects
Workaround: One user suggests unticking 'Require secret' for Web Server and Refresh Token flows, waiting, then reconnecting.
Since Aug 2026 · GitHub
Salesforce's docs cover it: add the server URL and consumer key to mcp.json and use Cursor's local callback URL in the app.
Known problems
- Closed
Sign-in fails or opens a missing page when set up through mcp-remote
Workaround: Drop mcp-remote and follow the Cursor guide with the native URL config.
Reported Apr 2026 · GitHub
- Open
Cursor's MCP process can hang
Workaround: Restart Cursor, or toggle the server off and on a minute or two apart.
Documented only through Salesforce's Agentforce Vibes extension, which lists enabled servers with no sign-in app needed. developer.salesforce.com
Salesforce's docs cover it in developer mode: create an app with your own sign-in client and paste the key and secret.
Known problems
- Open
App setup was rejected for missing PKCE info; after a fix some users still get a sign-in error
Since Aug 2026 · GitHub
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Install Salesforce Hosted MCP Servers
Claude Code
- 1
Add the Salesforce custom connector in Claude (Claude.ai or Claude Desktop) as described on those tabs.
- 2
Start Claude Code. The connector is available there too, per Salesforce's guide.
Requires Salesforce org (Enterprise Edition or above), Server turned on in Setup, External Client App.
Read-only mode: Use the `platform/sobject-reads` server, which is read-only. Switch to `platform/sobject-all` only when you want it to create, update or delete records.
Before connecting, an admin turns on the server in Setup > API Catalog > MCP Servers and creates an External Client App (Connected Apps do not work) with the mcp_api and refresh_token scopes, PKCE and JWT access tokens on. Allow up to 30 minutes for the app to take effect. Replace platform/sobject-reads with another server name from the servers reference. Sandbox and scratch orgs use https://api.salesforce.com/platform/mcp/v1/sandbox/{server}; if your org blocks login.salesforce.com, use the My Domain form (https://api.salesforce.com/platform/mcp/v1/d/{mydomain}/{server}). The agent has the same permissions as the user who signs in. The mcp-remote proxy is not supported.
From the vendor's docs. Source.
Tools
Looks up Salesforce records that match your criteria
(platform/sobject-reads, platform/sobject-mutations, platform/sobject-deletes, platform/sobject-all) Runs a SOQL query against one object and returns the matching records. Field-level security and sharing rules still apply to the results.
Try: “Show the 10 biggest open opportunities by amount.”
Read ·
soqlQuerySearches for a name or keyword across many record types
(platform/sobject-reads, platform/sobject-mutations, platform/sobject-deletes, platform/sobject-all) Searches for a term across multiple Salesforce objects at the same time. Use it when you do not know which object holds the record.
Try: “Find everything related to Acme Corp.”
Read ·
findLists records you recently opened or edited
(platform/sobject-reads, platform/sobject-all) Lists the records of one type that you recently viewed or changed. It helps when you say things like 'that opportunity I was looking at'.
Try: “Show the accounts I looked at recently.”
Read ·
listRecentSobjectRecordsGets the records linked to a record you already have
(platform/sobject-reads, platform/sobject-all) Given a parent record ID and a relationship name, returns its child records, for example the contacts of an account or the line items of an opportunity.
Try: “List the contacts on the Acme account.”
Read ·
getRelatedRecordsCreates a new Salesforce record
(platform/sobject-mutations, platform/sobject-all) Creates one record of the object type you name. It fails if required fields are missing or a validation rule rejects the values.
Try: “Create a contact named Dana Lee at Acme.”
Write ·
createSobjectRecordChanges fields on an existing record
(platform/sobject-mutations, platform/sobject-all) Updates the fields you specify on a record and leaves the others alone. It fails if the record does not exist or a validation rule blocks the change.
Try: “Set the stage of the Acme renewal to Negotiation.”
Write ·
updateSobjectRecordUpdates a parent record starting from one of its child records
(platform/sobject-mutations, platform/sobject-all) Starts from a child record and updates a record up the child-to-parent chain, for example from a contact to its account. Only child-to-parent relationships are supported, up to five levels.
Try: “Update the industry on the account of this contact.”
Write ·
updateRelatedRecordDeletes a Salesforce record
(platform/sobject-deletes, platform/sobject-all) Deletes one record by ID. Salesforce keeps it in the Recycle Bin for up to 15 days, but this server has no undelete tool, so confirm first.
Try: “Delete the duplicate Acme Corp lead.”
Delete ·
deleteSobjectRecordDeletes a parent record starting from one of its children
(platform/sobject-deletes, platform/sobject-all) Starts from a child record and deletes the parent record it points to. Deleting the master side of a master-detail relationship also removes its detail records.
Try: “Delete the account that this test contact belongs to.”
Delete ·
deleteRelatedRecordShows the details of a CMS workspace
(content-readonly) Gets one CMS workspace by ID, with its name, type and default language.
Try: “Show details of the Marketing CMS workspace.”
Read ·
get_cms_workspaceLists your CMS workspaces
(content-readonly) Lists the enhanced CMS workspaces the user can access.
Try: “List my CMS workspaces.”
Read ·
get_cms_workspacesLists the channels attached to a CMS workspace
(content-readonly) Lists the channels linked to one workspace.
Try: “Which channels does the Marketing workspace publish to?”
Read ·
get_cms_channels_for_workspaceFinds CMS content in your workspaces by keyword
(content-readonly) Searches CMS content in workspaces and folders by keyword, optionally filtered by workspace, folder, type or language.
Try: “Search our workspaces for spring campaign banners.”
Read ·
search_content_cms_workspacesOpens one CMS content item
(content-readonly) Gets one CMS content item by key or ID, with its translated variants.
Try: “Open the CMS item with key spring-promo.”
Read ·
get_cms_content_itemOpens one language version of a content item
(content-readonly) Gets one language version of a content item, with its body and field values.
Try: “Show the French version of the spring promo.”
Read ·
get_cms_content_variantShows the details of a CMS folder
(content-readonly) Gets a CMS folder's name, creation date, permissions and parent.
Try: “Show details of the Press Releases folder.”
Read ·
get_cms_folderShows who can access a CMS folder
(content-readonly) Gets which users, groups or roles can access a folder and at what level.
Try: “Who has access to the Press Releases folder?”
Read ·
get_cms_folder_sharing_detailsLists your CMS channels
(content-readonly) Lists the CMS channels the user can access.
Try: “List all CMS channels I can see.”
Read ·
get_cms_channelsShows how a CMS channel is set up
(content-readonly) Gets a channel's authoring and configuration record by ID.
Try: “Show the configuration of the public website channel.”
Read ·
get_cms_channelShows how a CMS channel delivers content
(content-readonly) Gets a channel's delivery details, as content consumers see it at run time.
Try: “How does the public website channel deliver content?”
Read ·
get_cms_channel_delivery_detailFinds published articles and other non-media content
(content-readonly) Searches published non-media content, such as news, in public channels by keyword or taxonomy term.
Try: “Find published news about the product launch.”
Read ·
search_content_cms_channelsFinds published images, videos and documents
(content-readonly) Searches published media assets such as images, videos and documents by keyword or taxonomy term.
Try: “Find published images tagged summer sale.”
Read ·
search_media_cms_channelsLists what is live on a CMS channel
(content-readonly) Lists content published to one channel, filterable by type, language and date, with paging.
Try: “What news is published on the public channel?”
Read ·
get_published_cms_content_from_channelLists what is live on an Experience Cloud site
(content-readonly) Lists content published to an Experience Cloud site, filterable and paged.
Try: “What content is published on our help site?”
Read ·
get_published_cms_content_from_siteOpens one live content item from a site
(content-readonly) Gets one published content item from an Experience Cloud site by key or ID.
Try: “Show the published FAQ item on the help site.”
Read ·
get_published_cms_content_item_from_siteOpens a live content collection from a site
(content-readonly) Gets a published collection from a site and lists the items in it.
Try: “Show the featured articles collection on the help site.”
Read ·
get_published_cms_collection_from_siteOpens one live content item from a channel
(content-readonly) Gets one published content item from a channel by key or ID.
Try: “Show the published release note with key rn-24.”
Read ·
get_published_cms_content_item_from_channelOpens a live content collection from a channel
(content-readonly) Gets a published collection from a channel and lists the items in it.
Try: “Show the homepage hero collection on the public channel.”
Read ·
get_published_cms_collection_from_channelFinds images across CMS and connected asset libraries
(content-readonly) Searches media assets across Salesforce CMS and connected third-party CMS or DAM systems, using Data 360 hybrid search.
Try: “Find product photos with a blue background.”
Read ·
search_electronic_mediaGets brand guidance for building apps or sites
(content-readonly) Returns instructions that tell Agentforce Vibes how to extract and apply a brand from Salesforce CMS.
Try: “Get the brand instructions for our site.”
Read ·
get_brand_instructionsLists the kinds of content a CMS workspace holds
(content-readonly) Lists the content types a workspace supports, identified by base type, workspace ID or channel.
Try: “What content types does the Marketing workspace support?”
Read ·
get_content_types_for_workspaceChanges which channels a CMS workspace publishes to
(content-write) Changes which channels are assigned to an enhanced CMS workspace.
Try: “Add the partner portal channel to the Marketing workspace.”
Write ·
update_cms_workspace_channelsCreates a new CMS workspace
(content-write) Creates a CMS workspace (managed content space).
Try: “Create a CMS workspace called Product Docs.”
Write ·
create_cms_workspaceRenames or re-describes a CMS workspace
(content-write) Updates a workspace's properties such as name and description.
Try: “Rename the Marketing workspace to Brand.”
Write ·
update_cms_workspaceCreates a new piece of CMS content
(content-write) Creates a content item in a workspace or folder; mirrors the Connect REST API POST /connect/cms/contents.
Try: “Create a news item about our new release.”
Write ·
create_cms_contentAdds a language version to a content item
(content-write) Adds a language-specific or channel-specific version to an existing content item.
Try: “Add a German version of the spring promo.”
Write ·
create_cms_content_variantDuplicates a CMS content item
(content-write) Copies a content item inside the same workspace.
Try: “Duplicate the spring promo item.”
Write ·
clone_cms_contentEdits the body of a content version
(content-write) Replaces the body of a content variant, or refines it with AI.
Try: “Rewrite the spring promo body to be shorter.”
Write ·
update_cms_content_variantMakes CMS content live on its channels
(content-write) Publishes content to channels connected to its workspace, making it publicly available there.
Try: “Publish the spring promo to the public channel.”
Write ·
publish_cms_contentTakes CMS content off its channels
(content-write) Removes content from channels so external viewers can no longer see it; it reverts to draft.
Try: “Unpublish the old pricing page.”
Write ·
unpublish_cms_contentCreates a folder in a CMS workspace
(content-write) Creates a folder in a workspace.
Try: “Create a folder called Q4 Campaigns.”
Write ·
create_cms_folderRenames a CMS folder
(content-write) Renames an existing CMS folder.
Try: “Rename the Q4 Campaigns folder to Holiday.”
Write ·
update_cms_folderChanges who can access a CMS folder
(content-write) Grants, changes or revokes folder access for users, groups or roles.
Try: “Give the Sales group view access to the Holiday folder.”
Write ·
update_cms_folder_sharing_settingsCreates a new CMS delivery channel
(content-write) Creates a CMS channel that controls how and where content is delivered; mirrors POST /connect/cms/channels.
Try: “Create a channel for the partner portal.”
Write ·
create_cms_channelEdits a CMS channel's settings
(content-write) Updates a channel's properties such as name, domain and cache settings.
Try: “Change the cache settings on the public channel.”
Write ·
update_cms_channelSets up a CMS workspace and channel for a UI Bundle
(content-write) Gets or creates a workspace and a Web Apps channel for a UI Bundle and links the two.
Try: “Set up CMS content storage for my UI Bundle.”
Write ·
get_or_create_cms_workspace_and_web_app_channelRuns a Data 360 action or query
(data360) Runs a named Data 360 tool with JSON arguments. Long queries return a queryId to poll.
Try: “Query my unified customer profiles for customers in Texas.”
Write ·
executeRuns a Salesforce setup or platform action
(platform/headless-360) Runs the chosen operation after the access guard check.
Try: “Create a custom field called Region on Account.”
Delete ·
dispatchRuns a read-only Salesforce action
(platform/headless-360) Runs the chosen operation in read-only mode; it never changes data or configuration.
Try: “List the active flows in my org.”
Read ·
dispatch_readonlySearches archived Salesforce records
(platform/headless-360 (Archive Connect)) Searches archived records by object type, filters, date ranges and sort criteria.
Try: “Find archived cases for Acme from 2021.”
Read ·
run-archive-global-searchGets the next page of archive search results
(platform/headless-360 (Archive Connect)) Fetches the next page of archive search results using a scroll cursor.
Try: “Show more archived results.”
Read ·
get-archive-global-search-next-pageSearches archives while respecting sharing rules
(platform/headless-360 (Archive Connect)) Archive search for Agentforce agents that enforces sharing rules and returns a rich-text summary.
Try: “Search archived opportunities I am allowed to see.”
Read ·
run-archive-global-search-with-sharing-rulesShows how much archive storage you use
(platform/headless-360 (Archive Connect)) Returns archive storage use across storage tiers.
Try: “How much archive storage are we using?”
Read ·
get-organization-archive-storage-usedStarts an archive storage analysis
(platform/headless-360 (Archive Connect)) Starts the archive analyzer to produce a storage readiness report.
Try: “Run the archive analyzer.”
Write ·
run-analyzerShows the latest archive analysis report
(platform/headless-360 (Archive Connect)) Returns the latest analyzer report with readiness and storage recommendations.
Try: “Show the latest archive analyzer report.”
Read ·
get-analyzer-reportRestores archived records to live storage
(platform/headless-360 (Archive Connect)) Restores archived records to live Salesforce storage based on search criteria.
Try: “Unarchive the 2021 Acme cases.”
Write ·
run-unarchiveRequests erasure of a person's archived data
(platform/headless-360 (Archive Connect)) Submits a Right To Be Forgotten erasure request for matching archived records.
Try: “Submit an erasure request for jane@example.com.”
Delete ·
run-rtbfChecks whether an erasure request finished
(platform/headless-360 (Archive Connect)) Polls the status of an erasure request.
Try: “Has the erasure request finished?”
Read ·
get-rtbf-statusRequests masking of personal data in archives
(platform/headless-360 (Archive Connect)) Submits a request to irreversibly anonymize PII in matching archived records.
Try: “Mask personal data in archived 2019 leads.”
Write ·
run-maskingChecks whether a masking request finished
(platform/headless-360 (Archive Connect)) Polls the status of a masking request.
Try: “Is the masking job done?”
Read ·
get-masking-statusGets a download link for an archive job log
(platform/headless-360 (Archive Connect)) Generates a presigned download URL for an archive job's execution log.
Try: “Give me the log link for the last archive job.”
Read ·
get-archive-execution-details-streaming-urlGets a download link for failed archive records
(platform/headless-360 (Archive Connect)) Generates a presigned download URL for an archive job's failed-records log.
Try: “Give me the failed-records log for the last archive job.”
Read ·
get-archive-failed-records-streaming-urlChecks an insurance product is set up correctly
(insurance-design-advisor) Checks a product and its children for active status, selling models, price book entries, record types, attributes and catalog links.
Try: “Validate the Auto Gold product setup.”
Read ·
validateProductModelChecks customers can find an insurance product
(insurance-design-advisor) Checks a product can be found at runtime: price book entries, selling models, pricing procedures and decision tables.
Try: “Is Auto Gold discoverable at runtime?”
Read ·
validateProductDiscoveryChecks product attributes exist and are active
(insurance-design-advisor) Checks attribute definitions exist and are active.
Try: “Validate the attributes on Auto Gold.”
Read ·
validateAttributesChecks the constraint model behind a product
(insurance-design-advisor) Checks products have an active constraint model and that rule records have valid keys or product paths.
Try: “Validate the constraint model for Auto Gold.”
Read ·
validateCMLModelChecks insurance pricing is configured correctly
(insurance-design-advisor) Checks pricing setup: transaction type, procedure plan dates, pricing procedure versions and context definition.
Try: “Check the pricing setup for Auto Gold.”
Read ·
validatePricingSetupChecks an insurance API request before you send it
(insurance-design-advisor) Checks a JSON payload for the Insurance Quote or Product Rating API: product codes, attributes, instance keys, required fields.
Try: “Validate this quote request payload.”
Read ·
validateApiRequestExplains an insurance error code
(insurance-design-advisor) Looks up an insurance error code (SF-INS-xxx format) and returns its description and fixes.
Try: “What does error SF-INS-00123 mean?”
Read ·
lookupErrorCodeChecks you have the permissions for an insurance task
(insurance-design-advisor) Checks whether the current user has the permissions for an insurance operation such as executeQuote.
Try: “Can I run executeQuote?”
Read ·
validateUserPermissionsBuilds a sample insurance rating request
(insurance-design-advisor) Generates a sample Product Rating API request for a product, with children, attributes and instance keys.
Try: “Give me a sample rating request for Auto Gold.”
Read ·
getRatingInputFinds objects, fields, flows and other metadata by description
(platform/metadata-grounding) Natural-language search over org metadata, filtered by type, returning lightweight descriptors.
Try: “Find flows that update opportunity stage.”
Read ·
search_metadataOpens the full details of a metadata item
(platform/metadata-grounding) Fetches full metadata records, with all type-specific properties, for identifiers returned by search_metadata.
Try: “Show the full definition of that flow.”
Read ·
query_metadataAnswers an analytics question from a Tableau Next data model
(analytics/tableau-next) Asks the Tableau Analytics Agent a natural-language question against a semantic model.
Try: “What drove the increase in churn last quarter?”
Read ·
analyze_dataLists the charts available in Tableau Next
(analytics/tableau-next) Lists visualizations (worksheets) across Tableau Next, metadata only.
Try: “List the available visualizations.”
Read ·
list_visualizationsShows how one Tableau Next chart is built
(analytics/tableau-next) Gets one visualization's name, type, data source and configuration.
Try: “Show the details of the pipeline chart.”
Read ·
get_visualizationLists your Tableau Next data models
(analytics/tableau-next) Lists the semantic data models the user can access. Call first before looking at measures or dimensions.
Try: “List my semantic models.”
Read ·
list_semantic_modelsShows the purpose and settings of a data model
(analytics/tableau-next) Gets a semantic model's profile, business preferences and configuration.
Try: “Describe the Sales semantic model.”
Read ·
get_semantic_modelLists the tables inside a data model
(analytics/tableau-next) Lists the data objects (tables) in a semantic model.
Try: “What tables are in the Sales model?”
Read ·
list_semantic_model_data_objectsShows how the tables in a data model connect
(analytics/tableau-next) Lists how data objects in a model join.
Try: “How do Orders and Customers relate in the Sales model?”
Read ·
list_semantic_model_relationshipsShows the structure of one logical view
(analytics/tableau-next) Gets the structure of one logical view in a model.
Try: “Show the logical view for Orders.”
Read ·
get_semantic_model_logical_viewLists the numbers a data model can total
(analytics/tableau-next) Lists numeric measures for a data object, such as Revenue.
Try: “What measures does the Orders object have?”
Read ·
list_semantic_model_measuresLists the ways a data model can slice results
(analytics/tableau-next) Lists dimensions for a data object, such as Region or Product Category.
Try: “What dimensions does the Orders object have?”
Read ·
list_semantic_model_dimensionsLists the official KPIs in a data model
(analytics/tableau-next) Lists governed business metrics and KPIs defined in a model.
Try: “What KPIs are defined in the Sales model?”
Read ·
list_semantic_model_metricsExplains how a KPI is calculated
(analytics/tableau-next) Gets how one metric is calculated, its sources, thresholds and targets.
Try: “How is win rate calculated?”
Read ·
get_semantic_model_metricLists custom grouping fields in a data model
(analytics/tableau-next) Lists user-defined calculated dimensions in a model.
Try: “List calculated dimensions in the Sales model.”
Read ·
list_semantic_model_calculated_dimensionsLists custom calculated numbers in a data model
(analytics/tableau-next) Lists user-defined calculated measures, such as Win Rate.
Try: “List calculated measures in the Sales model.”
Read ·
list_semantic_model_calculated_measuresLists your Tableau Next workspaces
(analytics/tableau-next) Lists Tableau Next workspaces, or gets one by ID.
Try: “List my Tableau Next workspaces.”
Read ·
list_workspacesLists what is inside a Tableau Next workspace
(analytics/tableau-next) Lists dashboards, visualizations and other items in a workspace.
Try: “What is in the Sales workspace?”
Read ·
list_workspace_assetsFinds Tableau Next dashboards and charts by keyword
(analytics/tableau-next) Searches dashboards, visualizations and semantic models by keyword and type.
Try: “Find dashboards about renewals.”
Read ·
search_assetsLists the dashboards you can open
(analytics/tableau-next, analytics/crm-analytics) Lists dashboards the user can access, metadata only (Tableau Next), or in an app or the whole org (CRM Analytics).
Try: “List my dashboards.”
Read ·
list_dashboardsShows what is on a dashboard
(analytics/tableau-next, analytics/crm-analytics) Gets one dashboard's details: contents and visualizations (Tableau Next), or widgets, steps and filters (CRM Analytics).
Try: “Show the details of the pipeline dashboard.”
Read ·
get_dashboardLists your CRM Analytics apps
(analytics/crm-analytics) Lists the analytics apps (folders) the user can access, with search, scope and sort options.
Try: “List my analytics apps.”
Read ·
list_foldersShows the details of a CRM Analytics app
(analytics/crm-analytics) Gets one analytics app's label, description, template source and permissions.
Try: “Show details of the Sales Analytics app.”
Read ·
get_folderLists the datasets you can query
(analytics/crm-analytics) Lists datasets in an app or across the org, with names, IDs and last-modified dates.
Try: “List datasets in the Sales Analytics app.”
Read ·
list_datasetsShows the fields in a dataset
(analytics/crm-analytics) Gets a dataset's fields, types and labels, and its currentVersionId.
Try: “What fields does the Opportunities dataset have?”
Read ·
get_datasetRuns an analytics query on a dataset
(analytics/crm-analytics) Runs a SAQL query against a dataset and returns structured results.
Try: “What were our top 10 accounts by revenue last quarter?”
Read ·
execute_queryLists your saved explorations
(analytics/crm-analytics) Lists saved explorations (lenses) the user can access, with the datasets they use.
Try: “List my saved lenses.”
Read ·
list_lensesShows the query behind a saved exploration
(analytics/crm-analytics) Gets one lens, including its query definition and dataset.
Try: “Show the query behind the Top Accounts lens.”
Read ·
get_lensUsed by the assistant behind the scenes
Shows which Salesforce objects and fields you can work with
(platform/sobject-reads, platform/sobject-mutations, platform/sobject-deletes, platform/sobject-all) Lists the objects in your org, or the fields, types and picklist values of one object. The assistant calls it before writing queries or creating records.
Try: “What fields does the Opportunity object have?”
Read ·
getObjectSchemaTells the assistant who you are in Salesforce
(platform/sobject-reads, platform/sobject-all) Returns details about the signed-in user, such as role, profile, manager and timezone. The assistant uses it to filter to your own records.
Try: “Show me my open cases.”
Read ·
getUserInfoFinds the right Data 360 tool for your goal
(data360) Takes a plain-language goal and returns the names of matching Data 360 tools.
Try: “What Data 360 tool can run a SQL query?”
Read ·
searchShows how to call a Data 360 tool
(data360) Given a tool name, returns its input JSON schema, an example payload and a description.
Try: “Show the example payload for the SQL query tool.”
Read ·
payload_examplesFinds the Salesforce action that fits your request
(platform/headless-360) Semantic search over Salesforce operations that returns ranked candidate actions for a request.
Try: “How do I add a field to the Account object?”
Read ·
discoverShows the steps and inputs an action needs
(platform/headless-360) Returns the contract for an operation: APIs, parameters, dependencies and ordered steps.
Try: “What does it take to create a permission set?”
Read ·
describeShows what kinds of org metadata can be searched
(platform/metadata-grounding) Lists the metadata types and subtypes available in the org, or the JSON schema of one type. Call it before search_metadata.
Try: “What metadata types can you look up?”
Read ·
describe_metadataGets exact field names for a dataset
(analytics/crm-analytics) Gets the extended metadata for a dataset version: exact field API names, types, labels and formatting.
Try: “Get the exact field names for the Opportunities dataset.”
Read ·
get_xmd
From the official docs
Pros and cons
Good
- Nothing to install or host, because Salesforce runs the servers
- Each person signs in with their own login, so Salesforce permissions and the audit trail still apply
- A read-only server lets you try it before allowing any changes
- Admins can build custom servers from Flows, Apex, Named Queries and Prompt Builder templates
- Works in Claude, ChatGPT, Cursor and other clients that sign in over the web
Watch out
- An admin must switch it on and create an External Client App first
- Salesforce says it is meant for customers with Flex Credits, and usage may be billed
- Every call counts against the org's daily API limit
- Sign-in failures in Claude and ChatGPT are common in user reports
- Custom servers cannot include standard tools such as soqlQuery
- Clients that rely on mcp-remote are not supported
Permissions
medium risk · 5 things to watch
Medium risk
Your assistant can create, change and delete any record you can reach in Salesforce, and heavy use draws on your org's daily API limit. Start with the read-only server in a sandbox and add write access only for people who need it.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
sobject-all can create, edit and delete records
The full server and sobject-deletes let the assistant change or delete any record you can. Start with sobject-reads and add write servers only for people who need them. developer.salesforce.com
Sign-in tokens never expire by default
The External Client App keeps refresh tokens valid indefinitely unless you change it. Salesforce recommends 30 days or less with token rotation. developer.salesforce.com
Every call counts against your daily API limit
Each tool call uses one or more API calls, so heavy use can affect other integrations. Check usage under Setup, Company Information. github.com
Runs with your own permissions
Every call is made as the signed-in user, with object, field and sharing rules applied and changes logged under their name. There are no service accounts. github.com
Off until an admin turns it on
All servers are disabled by default. Any org user can sign in through the app unless you require a permission set. developer.salesforce.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | Activate only the platform/sobject-reads server, which has no create, update or delete tools. You can also build a custom server with just the tools you want, or turn tools off per connector in Claude. |
|---|---|
| Talks to | Your AI app talks to api.salesforce.com; records the tools return go to your AI app and its model provider, under that app's terms. No AI model runs on Salesforce's side; tool calls are processed deterministically |
| Sign-in and keys | OAuth 2.0 with PKCE through an External Client App; your AI app stores the tokens. Refresh tokens are valid indefinitely by default. |
| Scopes |
|
Alternatives
Use the hosted servers if your admin can set them up and you want any AI app to reach Salesforce. Sellers who want ready-made sales skills should try the Claude or ChatGPT apps, and developers should move to sf-skills before the DX server ends.
| Server | Official | Runs | Best for | Status | GitHub stars |
|---|---|---|---|---|---|
| For Salesforce | |||||
| Salesforce Hosted MCP ServersThis page | Official | Hosted | Any team | GA | 136 |
| mcp-server-salesforce (community) | Community | Local | No admin setup | Active | 165 |
| Other tools for the same job | |||||
| Salesforce in Claude (plugin) | Official | Hosted | Sellers in Claude | Beta | – |
| Agentforce Sales app in ChatGPT | Official | Hosted | Sellers in ChatGPT | Beta | – |
| Salesforce DX MCP Server | Official | Local | Developers | Ends Nov 2 | – |
| Tableau MCPFor Tableau | Official | Local | Tableau analytics | Active | 363 |
What people say
People like that it follows existing Salesforce permissions and dislike how often sign-in fails.
What people like
- Actions run as the signed-in user, so existing permissions and the audit trail apply with no new security model
- A read-only server gives a safe way to try it before allowing writes or deletes
- Custom servers can turn your own Flows and Apex into tools
Common complaints
- Sign-in is the main pain: Salesforce finishes the login but Claude or ChatGPT still fails to connect
- Setup takes several admin steps, and changes can take up to 30 minutes to apply
- Users report breakage after Salesforce releases, such as custom servers returning 'Server definition not found'
- The GitHub repo is not a support channel, so connection problems go through Salesforce Support
In their words
“If the agent updates a record, that person’s name appears in the audit trail. If their permissions don’t allow an operation, the agent can’t do it either.”Ross BelmontGitHub issueJun 2026
“Still failing on production Enterprise org, sobject-reads GA endpoint, Claude Desktop (Windows), June 19 2026. OAuth completes on the Salesforce side (token confirmed in OAuth Usage), then Claude fails the post-auth handshake”don707GitHub issueSep 2026
“I was told by Salesforce support that this is a confirmed product defect, they implemented a fix internally, but there's no set date for getting it deployed to production.”mkhokhlovGitHub issueJul 2026
“No change: both custom servers still return the 404 after ~30s while `platform/sobject-all` serves in ~2s with the same token. Every org-admin lever we can find is now exhausted.”acbb01
Questions
Which Salesforce AI option is right for me?
Use the hosted servers on this page if an admin can set them up and you want Claude, ChatGPT or Cursor to reach your org. Sellers on paid Claude plans can use the Salesforce in Claude beta plugin, and sales teams in ChatGPT can use the Agentforce Sales app. Developers should use sf-skills, because the Salesforce DX server ends on November 2, 2026.
Does it cost extra?
Salesforce's docs say it is meant for customers with Flex Credits and you may be billed for usage. It works on Enterprise Edition and above. Each call also counts against your org's daily API limit, so ask your account executive about Flex Credits.
What is the Salesforce MCP server URL?
For production it is https://api.salesforce.com/platform/mcp/v1/<server>, for example platform/sobject-reads. For a sandbox or scratch org, add sandbox/ before the server name. If your org blocks login.salesforce.com, use the My Domain form.
Can I keep it read-only?
Yes. Activate only platform/sobject-reads, which has no create, update or delete tools. Salesforce recommends starting there, in a sandbox.
Can the AI see records I can't?
No. Every call runs as you, with your object permissions, field-level security and sharing rules, and any change is logged under your name.
How does an admin set it up?
An admin activates the servers under Setup, API Catalog, MCP Servers, where all of them start off. Then they create an External Client App with the mcp_api and refresh_token scopes and add the callback URL for your AI app. Connected Apps do not work, and a new app can take up to 30 minutes to apply.
Why does sign-in work but the connection still fails?
Most often the server is not activated for that org, the app is still applying (up to 30 minutes), or you signed in to a different org. Some people still see failures with everything set correctly, and Salesforce asks them to open a support case.
Is this the same as the Salesforce DX MCP server?
No. The hosted servers run on Salesforce's side and give any user's AI app access to org data. The DX server was a local developer tool and reaches end of life on November 2, 2026, with sf-skills as the replacement.
Can I expose my own Flows or Apex?
Yes. Custom servers can turn Apex invocable actions, Apex REST, Flows and Named Queries into tools, and Prompt Builder templates into prompts. They cannot include standard tools such as soqlQuery yet.
Does it work with mcp-remote?
No. Salesforce does not support mcp-remote. Use an app that signs in over the web natively, such as Claude, ChatGPT, Cursor or Postman.
Examples
Review bookings trends without building a report
Show me a report of daily bookings. Use the start date to group bookings.
SourcePrepare for a quarterly business review from live CRM data
Pull my open opportunities for this quarter and summarize risks by account.
Reconcile closed-won deals against ERP revenue with both servers connected
List deals closed-won last month and flag any that do not match revenue in the ERP.
Run an existing Flow through a custom server, with a human check before writes
SourceCheck the connection works with the read-only server before connecting an AI app
Source
Information
updated Nov 2, 2026
- Publisher
- Salesforce (official)
- Endpoint
https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads- Transport
- Streamable HTTP
- Auth
- OAuth
- License
- Apache-2.0
- Last commit
- Jul 23, 2026
- Open issues
- 24
WebsiteStandard servers referenceGitHubConnect an MCP clientGA announcement (Apr 2026)Issues
Other Salesforce MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 26Hide
- Client connection overview · developer.salesforce.com
- Salesforce Hosted MCP Servers · github.com
- Hosted MCP Servers FAQ · github.com
- developer.salesforce.com · developer.salesforce.com
- developer.salesforce.com · developer.salesforce.com
- Set up Salesforce in Claude for your organization · support.claude.com
- www.salesforce.com · salesforce.com
- github.com · github.com
- github.com · github.com
- developer.salesforce.com · developer.salesforce.com
- developer.salesforce.com · developer.salesforce.com
- github.com · github.com
- developer.salesforce.com · developer.salesforce.com
- developer.salesforce.com · developer.salesforce.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- Claude connection issue · github.com
- Cursor sign-in issue with mcp-remote · github.com
- Client Tips and Troubleshooting · github.com
- github.com · github.com
- developer.salesforce.com · developer.salesforce.com
- github.com · github.com
- Use Salesforce in Claude · support.claude.com
- mcp-server-salesforce README · github.com