getObjectSchemaLABSCO SUMMARY
The agent gets exactly the reach the person already has.
Every tool call runs as the user who authorized it, so object permissions, field-level security and sharing rules do the access control and the API log attributes each action to a named user — there is no service account to provision and no second permission list to keep from drifting. How far an agent can reach is a choice of server, from query-only up to full CRUD, and anything the standard servers do not cover you assemble yourself on a custom server out of Flows, Apex invocable actions, Apex REST endpoints and Prompt Builder templates the org already maintains.
What it is
Salesforce's own servers for a single org, connected over standard OAuth from any MCP client — Claude, ChatGPT, Cursor, Postman or a custom agent. You configure the server once inside Salesforce instead of building an API integration for each AI tool your team uses.
What you get
- Four SObject servers, so how much an agent can do is a deployment choice:
platform/sobject-readscan only query,platform/sobject-mutationsadds create and update,platform/sobject-deletesis built around delete,platform/sobject-alldoes all of it. getObjectSchemahands the model a compact index of your business objects first and full field schema on request, carrying any admin-authored guidance about data quality and business definitions alongside the standard schema.soqlQueryfor precise filtering and relationship traversal;findwhen the term could sit in any object — it searches across objects at once and returns a maximum of 2,000 records.- Tableau Next asks questions in your data team's own definitions:
list_semantic_modelsto find the model that covers the data,analyze_datato put a plain-English question to the Analytics Agent against it. - Data 360 exposes three meta-tools —
search,payload_examples,execute— that find the right Connect API at call time rather than loading all of them up front, which keeps token usage low however many Data 360 APIs exist. - Headless 360 (Beta) reaches Setup and platform operations through four tools — Discover, Describe, Dispatch and a read-only Dispatch — backed by a library of operations that grows with each release.
- Backup and Recover finds and inspects backups, manages the backup policy and walks through a guided restore; Content Read-Only and Content Write reach Salesforce CMS workspaces, channels, content and folders; CRM Analytics (Beta) runs SAQL queries and reads dataset, dashboard and lens metadata.
- Archive Connect — searching, unarchiving and analysing archived records, and handling erasure requests — is reached through the Headless 360 server and needs an Archive license on the org.
- Standard servers ship with a fixed tool set: an administrator can switch a server on or off, but cannot edit what it exposes.
Requirements
- Flex Credits on the org. Salesforce offers the hosted servers only to Flex Credits customers, and server use may be billed; your account executive can add them.
- An External Client App created in Setup with OAuth enabled — Connected Apps are not supported. Allow up to 30 minutes before it is operational, then copy its consumer key for the client.
- Two OAuth scopes on that app: Access MCP servers (
mcp_api) and Perform requests at any time (refresh_token). Under Security, select Issue JSON Web Token (JWT)-based access tokens for named users. - A callback URL that matches your client exactly —
https://claude.ai/api/mcp/auth_callbackfor Claude,http://localhost:8787/callbackfor recent Cursor versions,https://oauth.pstmn.io/v1/callbackfor Postman over HTTP. - An administrator to turn the servers on, from Setup → Quick Find → MCP Servers under API Catalog. They are off by default, and a server takes up to 2 minutes to become active after it is enabled.
- If you connected during the pilot or beta: the
v1-beta.2URL path stops working, and the beta scopes (api,sfap_api,refresh_token,einstein_gpt_api) are replaced bymcp_apiandrefresh_token. Update the URL and scopes in each client, then have every user authorize again. - Room in your plans for change. Salesforce may retire a server or a server version it judges to be of limited value, with advance notice, and tools can be upgraded or replaced from release to release.
Setup effort
Follow the published steps
USE CASES
Answering a pipeline question without opening Salesforce
Pull the object index, write the query against real field names, then follow the relationship to the related records — with no write path available at all.
Finding a name when you don't know which object holds it
Search across objects in one pass for relevance-ranked matches, then query the IDs it returns to get the fields and related records you actually wanted.
Logging the outcome of a meeting back into the CRM
Create the follow-up task, move the opportunity to its new stage, and update the account behind a contact straight from the contact record — on a server that has no delete tool to reach for.
Clearing out duplicate and test records
Query the candidates and put them in front of a person for approval first, then delete. Deleting a master record also deletes its detail records, so check what hangs off it. Deleted records go to the Recycle Bin and can be recovered in the Salesforce UI for up to 15 days.
Asking an analytics question in your team's own definitions
Find the semantic model that covers the data, then ask in plain English and get back the interpreted question, the data it drew on and a narrative summary of the answer.
Querying unified customer data in Data 360
Describe the intent, get the input schema and an example payload for the tool it names, then run that tool — the right Connect API is located at call time instead of being loaded up front.
104 tools
Listed in project docs. Your client may show a different list.
soqlQueryfindgetUserInfolistRecentSobjectRecordsgetRelatedRecordscreateSobjectRecordupdateSobjectRecordupdateRelatedRecorddeleteSobjectRecorddeleteRelatedRecordanalyze_datalist_dashboardsget_dashboardlist_visualizationsget_visualizationlist_semantic_modelsget_semantic_modellist_semantic_model_data_objectslist_semantic_model_relationshipsget_semantic_model_logical_viewlist_semantic_model_measureslist_semantic_model_dimensionslist_semantic_model_metricsget_semantic_model_metriclist_semantic_model_calculated_dimensionslist_semantic_model_calculated_measureslist_workspaceslist_workspace_assetssearch_assetssearchpayload_examplesexecutediscoverdescribedispatchdispatch_readonlyget_backupsget_backup_by_idget_backup_objectsget_latest_policyget_retention_rulesget_audit_eventsenqueue_backupget_activitiesget_restore_with_hierarchyget_compare_activityget_compare_activity_summariesget_restore_activity_record_selection_metadataget_selection_counts_by_typeget_restore_result_countsget_restore_activityget_activityget_hierarchy_summaryget_restore_activity_summaryget_restore_activity_object_resultsget_restore_with_hierarchy_resultscreate_compare_activityupdate_selection_recordsget_cms_workspaceget_cms_workspacesget_cms_channels_for_workspacesearch_content_cms_workspacesget_cms_content_itemget_cms_content_variantget_cms_folderget_cms_folder_sharing_detailsget_cms_channelsget_cms_channelget_cms_channel_delivery_detailsearch_content_cms_channelssearch_media_cms_channelsget_published_cms_content_from_channelget_published_cms_content_from_siteget_published_cms_content_item_from_siteget_published_cms_collection_from_siteget_published_cms_content_item_from_channelget_published_cms_collection_from_channelsearch_electronic_mediaget_brand_instructionsget_content_types_for_workspaceupdate_cms_workspace_channelscreate_cms_workspaceupdate_cms_workspacecreate_cms_contentcreate_cms_content_variantclone_cms_contentupdate_cms_content_variantpublish_cms_contentunpublish_cms_contentcreate_cms_folderupdate_cms_folderupdate_cms_folder_sharing_settingscreate_cms_channelupdate_cms_channelget_or_create_cms_workspace_and_web_app_channellist_foldersget_folderlist_datasetsget_datasetget_xmdexecute_querylist_lensesget_lensBEFORE YOU INSTALL
What to know first
Tools you get
104 tools named in the project's documentation. The 104 sit on 11 separate servers, each switched on by an administrator and added at its own URL. Your client sees only the tools of the servers you add.
Requires
- OAuth 2.0 with PKCE, per user
- Flex Credits on the Salesforce org: the hosted MCP servers are intended only for customers with Flex Credits, and server usage may be billed
INSTALLATION
Connect your client
Server setup
Prerequisite: System Administrator or equivalent permissions, and knowing which client you will connect (Claude, ChatGPT, Cursor, Postman, or another MCP-compatible tool)
Create an External Client App: Setup > Quick Find "external client" > External Client App Manager > New External Client App. Connected Apps are NOT supported
In the API (Enable OAuth Settings) section, tick Enable OAuth and enter the Callback URL for your specific client
In OAuth Scopes include: Access MCP servers (mcp_api) and Perform requests at any time (refresh_token)
Under Security, select "Issue JSON Web Token (JWT)-based access tokens for named users" and deselect all other options that do not require Salesforce support to change; then click Create
Wait — the External Client App can take up to 30 minutes to become available
Open Settings > OAuth Settings > Consumer Key and Secret and store the consumer key (ChatGPT also needs the consumer secret)
Activate the servers: Setup > Quick Find "MCP Servers" > MCP Servers under API Catalog, review the list, toggle on the ones your team needs (allow up to 2 minutes to become active). Servers are disabled by default
Pick the server URL for each server you activated. Production orgs: https://api.salesforce.com/platform/mcp/v1/ followed by the server name — platform/sobject-all, platform/sobject-reads, platform/sobject-mutations, platform/sobject-deletes, platform/backup-and-recover, platform/content-readonly, platform/content-write, analytics/tableau-next, analytics/crma-beta (CRM Analytics, Beta), data/data360 or platform/headless-360 (Beta). Sandbox or scratch orgs: https://api.salesforce.com/platform/mcp/v1/sandbox/ followed by the server name (Data 360 in a sandbox: https://api.salesforce.com/platform/mcp/v1/data/sandbox/data360)
Add that URL to your client and paste the External Client App consumer key as the OAuth Client ID. Claude: Customize → Connectors → Add → Add custom connector, then Continue → Use your own OAuth client → OAuth Client ID. ChatGPT: Settings → Apps → Create App, then Authentication → Advanced settings, Registration Method: User-defined OAuth client, with the consumer secret in OAuth Client Secret and OIDC enabled unchecked. Cursor: Settings → Tools & MCP → New MCP Server, with "auth": {"CLIENT_ID": "CONSUMER-KEY"} next to the URL
Test the connection — Salesforce recommends starting with Postman, which returns raw JSON without LLM interpretation, before connecting a full LLM client