MCP Salesforce : configuration, limites et angle mort
Le MCP de Salesforce donne à votre agent le CRM avec les droits de chaque utilisateur. Il hérite donc aussi de ce qui manque au CRM : ce que les acheteurs ont dit en appel et que personne n'a saisi. Fonctionnement, connexion à Claude ou ChatGPT, et comment combler l'écart.

Mis à jour le 20 octobre 2026.
Le MCP de Salesforce donne à votre agent IA l'accès au CRM, avec les droits de chaque utilisateur. L'agent hérite donc de tout ce qui manque au CRM. Ce que les acheteurs ont dit en appel et que les commerciaux ont oublié de saisir n'y figure pas, et l'agent compte ces trous avec une totale assurance.
« Why should you ever log into Salesforce again? » (« Pourquoi devriez-vous encore vous connecter à Salesforce ? »). La phrase est de Parker Harris, cofondateur de Salesforce, citée dans l'annonce de Salesforce lors de la disponibilité générale des Hosted MCP Servers, en avril 2026.
Un commercial peut désormais demander à Claude ou ChatGPT une revue de compte, et l'obtenir à partir des données Salesforce en direct, sans ouvrir un seul onglet.
Mais un agent qui lit Salesforce ne sait que ce que Salesforce sait. Sur nos propres appels avec des équipes sous Salesforce, 35 % des équipes qui ont évoqué l'envoi des données d'appels dans Salesforce nous ont dit que leur Salesforce n'est pas alimenté par leurs appels aujourd'hui (données d'appels Claap, janvier à octobre 2026).
Ce guide explique ce qu'est le MCP Salesforce, quels serveurs et quelles éditions sont concernés, ce qu'il coûte, comment y connecter Claude ou ChatGPT et comment fonctionnent les permissions. Mais d'abord, la partie que les guides de configuration passent sous silence : ce que votre agent ne voit pas.
Le MCP Salesforce en bref
- Ce que c'est : les Hosted MCP Servers de Salesforce, des endpoints gérés qui permettent à n'importe quel client MCP (Claude, ChatGPT, Cursor, un agent maison) de lire et d'écrire dans votre org, d'après la documentation développeurs de Salesforce.
- Serveurs standard : SObject All, Reads, Mutations et Deletes pour les enregistrements, plus Data 360, Tableau Next, Headless 360 (bêta) et quelques serveurs produit, tous désactivés par défaut.
- Qui y a accès : toutes les orgs en Enterprise Edition et au-delà, selon l'annonce de disponibilité générale de Salesforce.
- Coût : la lecture et l'écriture d'enregistrements ne sont pas décomptées pour l'instant ; les actions Agentforce et les requêtes Data 360 consomment des Flex Credits.
- Sécurité : chaque appel s'exécute avec l'identité de l'utilisateur connecté, en appliquant la sécurité au niveau des champs, les permissions sur les objets et les règles de partage, via OAuth avec PKCE.
- Angle mort : l'agent voit les champs et les activités. Un budget confirmé lors d'un appel Zoom que personne n'a saisi dans Salesforce n'existe pas pour lui.
Le MCP Salesforce lit l'opportunité, qui ne contient que ce que les commerciaux ont saisi
Prenez une question qu'un sales manager posera dès le premier jour : « Parmi nos grosses opportunités ouvertes, lesquelles n'ont pas de budget confirmé ? »
Le serveur SObject la traduit en requête SOQL sur l'objet Opportunity, filtre sur Amount et sur un champ de budget, et renvoie une liste propre. La documentation précise que soqlQuery gère « filtering, sorting, aggregation, or relationship traversal » (filtres, tris, agrégations et parcours de relations) (référence SObject All), donc l'agent sait aussi compter et regrouper.
La requête est juste. La réponse peut quand même être fausse. Si l'acheteur a confirmé le budget pendant un appel Teams et que le commercial est passé directement à son rendez-vous suivant, le champ est vide, et l'agent lit ce vide comme un « non ».

L'écart peut être large : sur 92 % des deals où un appel a explicitement acté une prochaine étape, le champ prochaine étape du CRM était vide (données d'appels Claap et deals HubSpot, T3 2026).
Le responsable commercial d'un éditeur de logiciels pour le secteur du voyage nous a décrit son contournement lors d'un appel :
- « ...go into [Claude] and run the skill. [...] So ideally, we would want to sync that into [the CRM]. »
En français : « ...aller dans [Claude] et lancer la skill. [...] Donc idéalement, on voudrait synchroniser ça dans [le CRM]. » (traduit de l'anglais)
Trois conséquences pour quiconque branche Claude ou ChatGPT sur Salesforce.
- L'agent hérite des trous du CRM, et les présente comme des faits. Un champ Competitor vide devient « pas de concurrent sur ce deal ». Une Next Step manquante devient « deal à l'arrêt ». Rien dans la réponse du MCP n'indique à l'agent que le champ a été laissé vide.
- Les activités aident moins qu'on le croit. Task et Event sont des objets standard, l'agent peut donc les lire. Ils contiennent ce que le commercial a consigné : un objet et parfois une note. L'objection soulevée par l'acheteur au milieu de l'appel y figure rarement.
- Les données d'appels de Salesforce lui-même n'atteignent l'agent que dans une seule configuration. Einstein Conversation Insights stocke les analyses d'appels dans des objets comme VoiceCallInsight, qui acceptent query() quand ECI est activé et que l'utilisateur dispose du permission set Conversation Insights for Sales (référence des objets Salesforce). La documentation du MCP ne mentionne pas ces objets, et ECI n'analyse que les appels enregistrés par un fournisseur vidéo ou téléphonie connecté.
Remplir les champs Salesforce à partir de l'appel, puis laisser le MCP les lire
La solution se trouve en amont de l'agent. Faites entrer ce que l'acheteur a dit dans les champs que l'agent interroge, et le MCP de Salesforce donne la bonne réponse, sans configuration supplémentaire.
Précision : Claap est notre produit.
Claap enregistre vos appels Zoom, Meet, Teams et ceux de votre dialer, et rattache chacun au bon contact, compte et opportunité dans Salesforce. Ses champs IA écrivent ensuite une valeur typée dans les champs Salesforce que vous choisissez, standard ou personnalisés : une liste de sélection pour « Budget confirmé », une date pour la décision, un texte pour le concurrent (remplissage CRM, dans les offres Business et Enterprise).
Deux réglages comptent pour les agents. Un champ de type liste peut renvoyer « Non mentionné » : l'agent voit alors un manque identifié, là où il aurait trouvé un champ vide. Et chaque champ a un mode de synchronisation, « Seulement si vide », « Seulement si vide, compléter si possible » ou « Toujours écraser », pour qu'une valeur saisie à la main par un commercial reste intacte.
La même requête SOQL, via le même serveur SObject, compte alors les vrais budgets.
Ou laisser l'agent lire les appels via le MCP de Claap
La deuxième option contourne le CRM pour les questions sur les appels. Le MCP de Claap, disponible dans toutes les offres y compris la gratuite, connecte Claude ou ChatGPT à vos enregistrements, à vos transcripts et à vos vues enregistrées, où chaque appel est déjà analysé par ces mêmes champs IA. L'agent lit une vue entière, ligne par ligne : « combien de deals ont soulevé une objection sur la sécurité ce trimestre » est compté sur tous les appels, sans l'approximation d'un échantillon issu d'une recherche.
La plupart des équipes finissent avec les deux connecteurs dans le même espace Claude : le MCP de Salesforce pour le pipeline, les propriétaires et les montants, celui de Claap pour ce qui a été dit. Le MCP de Claap complète celui de Salesforce, et Salesforce reste le système de référence.
Ce que nous recommandons, dans cet ordre :
- Commencez par le serveur SObject Reads dans une sandbox, parce qu'il ne peut modifier aucun enregistrement, et que Salesforce le suggère lui-même comme première étape.
- Remplissez d'abord, à partir des appels, les trois ou quatre champs sur lesquels vos managers posent des questions (budget, prochaine étape, concurrent, date de décision), parce que ce sont les questions qu'un agent recevra dès le premier jour.
- Utilisez le MCP de Claap pour les questions sur ce qui a été dit quand la réponse dépend de formulations, d'objections ou d'un ressenti qu'aucune liste de sélection ne capture.
Ce conseil est faux si vos commerciaux consignent déjà chaque appel en détail et que vos champs d'opportunité sont complets. Dans ce cas, le MCP de Salesforce répond bien à lui seul, et l'écart décrit plus haut est faible.
Ce que sont les Hosted MCP Servers de Salesforce
Les Hosted MCP Servers sont des endpoints MCP gérés par Salesforce. Salesforce les héberge, gère leur montée en charge, l'authentification et l'application des permissions : vous n'avez aucun serveur à faire tourner de votre côté.
Il existe deux types de serveurs.
- Les serveurs standard, préconfigurés par Salesforce avec un jeu d'outils fixe. Un administrateur les active, et leurs outils ne sont pas modifiables.
- Les serveurs personnalisés, qui exposent votre propre logique sous forme d'outils MCP : actions invocables Apex, méthodes @AuraEnabled, Apex REST, Flows et Named Queries, plus les modèles Prompt Builder sous forme de prompts MCP.

Les quatre serveurs SObject sont ceux qui intéressent les équipes commerciales. Ils ne diffèrent que par ce qu'ils autorisent :
| Serveur | Lecture et requêtes | Création et mise à jour | Suppression |
|---|---|---|---|
| SObject All | Oui | Oui | Oui |
| SObject Reads | Oui | Non | Non |
| SObject Mutations | Oui | Oui | Non |
| SObject Deletes | Oui | Non | Oui |
Source : la référence des serveurs standard de Salesforce et le guide administrateur de Salesforce Ben.
Data 360 exécute du SQL sur les données client unifiées. Tableau Next interroge des modèles sémantiques et des KPI. Headless 360, en bêta, donne accès au Setup et aux fonctions de la plateforme, Archive Connect compris. CRM Analytics, lui aussi en bêta, exécute du SAQL sur les sandboxes et les scratch orgs uniquement.
Ce que les serveurs SObject peuvent lire et écrire
Le serveur SObject All expose tous les objets standard et personnalisés de votre org à travers onze outils, listés dans la référence SObject All.
- getObjectSchema renvoie un index compact de vos objets, puis les champs d'un objet, y compris les notes de l'administrateur, par exemple sur le champ de montant qui fait foi.
- soqlQuery exécute du SOQL, agrégations comprises, avec un plafond de 50 000 enregistrements par transaction toutes requêtes confondues, d'après la référence SObject All.
- find lance une recherche texte SOSL sur plusieurs objets et renvoie au maximum 2 000 enregistrements, d'après la documentation des outils Salesforce.
- getRelatedRecords passe d'un enregistrement parent à ses enfants, par exemple des contacts d'un compte.
- getUserInfo et listRecentSobjectRecords donnent à l'agent le contexte de l'utilisateur : qui vous êtes et ce que vous avez ouvert en dernier.
- createSobjectRecord, updateSobjectRecord et updateRelatedRecord écrivent, en appliquant les règles de validation.
- deleteSobjectRecord et deleteRelatedRecord suppriment ; un enregistrement supprimé reste 15 jours dans la Corbeille, et aucun outil ne permet de le restaurer, selon la référence SObject All.
« Combien d'opportunités sont passées en Negotiation ce mois-ci, par propriétaire ? » tient en une seule requête SOQL agrégée. La limite, ce sont les données derrière le chiffre.
Les activités sont lisibles elles aussi. Task et Event sont des objets standard : un agent peut donc lister les appels qu'un commercial a consignés sur un compte, ou créer une tâche de relance, ce qui fait partie des exemples de prompts de la documentation.
Quelles éditions Salesforce ont accès au MCP, et ce qu'il coûte
Les Hosted MCP Servers sont « a production-ready capability for every Enterprise Edition org and above » (une fonctionnalité prête pour la production dans toutes les orgs Enterprise Edition et au-delà), selon l'annonce de disponibilité générale de Salesforce.
L'accès MCP de base ne demande ni licence Agentforce ni module complémentaire, d'après Salesforce Ben.
La tarification comporte trois volets aujourd'hui, selon le guide administrateur de Salesforce Ben :
- Les opérations sur les enregistrements (création, lecture, mise à jour, suppression) et les processus appelés via le MCP (Flows, Apex) ont leurs propres types d'usage, tous deux non décomptés pour l'instant. Salesforce s'est engagé à prévenir 30 jours avant de commencer à les décompter, d'après Salesforce Ben.
- Les actions Agentforce appelées via le MCP et les requêtes Data 360 consomment des Flex Credits.
- Les agents Agentforce nécessitent leurs propres licences.
Une phrase à lire attentivement : la présentation de Salesforce indique que les Hosted MCP Servers « are intended only for customers with Flex Credits » (sont réservés aux clients disposant de Flex Credits), et que l'usage peut être facturé. Vérifiez auprès de votre Account Executive avant de planifier un déploiement intensif en partant du principe que rien n'est décompté.
Comment configurer les serveurs MCP Salesforce
Selon Salesforce, la configuration prend moins de 30 minutes (annonce de disponibilité générale). Elle se fait en trois étapes, et celle du milieu demande un administrateur Salesforce.
- Activez un serveur. Dans Setup, allez dans API Catalog, puis MCP Servers, et activez le serveur voulu. Commencez par platform/sobject-reads.
- Créez une External Client App. Dans Setup, ouvrez External Client App Manager et créez une nouvelle application. Activez OAuth, ajoutez l'URL de callback de votre client, ajoutez les scopes mcp_api et refresh_token, et émettez des jetons d'accès JWT pour les utilisateurs nommés. Les Connected Apps ne sont pas prises en charge. Copiez la consumer key.
- Connectez votre client avec l'URL du serveur et la consumer key (étapes ci-dessous).
L'application peut mettre jusqu'à 30 minutes à devenir utilisable, d'après le guide External Client App de Salesforce.
Les URL des serveurs suivent toutes le même modèle :
- Production : https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads
- Sandbox ou scratch org : https://api.salesforce.com/platform/mcp/v1/sandbox/platform/sobject-reads
Connecter Claude à Salesforce
- Dans l'External Client App, utilisez le callback https://claude.ai/api/mcp/auth_callback.
- Dans Claude, ouvrez Customize, puis Connectors, puis Add custom connector.
- Donnez-lui un nom, collez l'URL du serveur et, sous OAuth client, choisissez « Use your own OAuth client ».
- Collez la consumer key comme OAuth Client ID et laissez le secret vide.
- Cliquez sur Connect et connectez-vous à Salesforce.
Claude Code récupère le même connecteur, d'après la page de configuration Claude de Salesforce. Une fois la connexion faite, Configure permet d'activer ou de désactiver chaque outil.
Connecter ChatGPT à Salesforce
- Dans ChatGPT, activez le mode développeur, puis allez dans Settings, Apps, Create App.
- Collez l'URL du serveur et ouvrez les paramètres avancés sous Authentication.
- Choisissez un client OAuth défini par l'utilisateur comme méthode d'enregistrement, et copiez l'URL de callback de ChatGPT dans l'External Client App.
- Collez la consumer key et le consumer secret. ChatGPT indique que le secret est facultatif, et Salesforce l'exige.
- Décochez « OIDC enabled », créez l'application, puis choisissez Salesforce sous le bouton + dans une conversation.
Source : la page de configuration ChatGPT de Salesforce.
Comment fonctionnent les permissions du MCP Salesforce
Chaque appel MCP s'exécute avec l'identité de la personne connectée. L'annonce de disponibilité générale de Salesforce le dit simplement : si l'agent modifie un enregistrement, c'est le nom de cette personne qui apparaît dans la piste d'audit.
- La sécurité au niveau des champs et les permissions sur les objets s'appliquent. Un agent ne peut pas modifier un champ que l'utilisateur ne peut pas modifier dans Lightning.
- Les règles de partage s'appliquent. L'agent d'un commercial voit les opportunités de ce commercial, et l'agent d'un manager voit celles de son équipe.
- OAuth 2.0 avec PKCE gère la connexion, avec un scope dédié mcp_api qui n'ouvre pas le reste de l'API REST.
- Les serveurs standard sont désactivés par défaut, et la liste d'outils de chacun est fixe.
Avant la production, Salesforce suggère quelques contrôles optionnels sur l'External Client App : exiger un permission set pour l'utiliser, restreindre les plages d'IP, réduire la durée des refresh tokens à 30 jours avec rotation et activer la déconnexion unique (single logout), d'après le guide External Client App.
Ce modèle de permissions a un effet de bord sur l'angle mort décrit plus haut. Un agent ne peut compter que ce que l'utilisateur connecté peut voir. Un commercial qui pose une question sur toute sa région obtient une réponse fondée sur ses seuls deals, et rien dans la réponse ne le signale.
Deux autres choses qu'on appelle « MCP Salesforce »
Le serveur Salesforce DX MCP est un serveur local pour les développeurs (@salesforce/mcp, lancé avec npx), avec des jeux d'outils pour les orgs, les métadonnées, les données et les utilisateurs. Il arrive en fin de vie le 2 novembre 2026, et Salesforce livre désormais ces outils sous forme de skills, d'après l'avis de dépréciation sur GitHub.
Salesforce dans Claude, annoncé sous le nom Claudeforce, est un plugin Claude de 37 skills conçues pour les commerciaux, qui s'appuie sur Headless 360 via le MCP. La page Claudeforce de Salesforce indique qu'il est disponible pour des clients pilotes, avec une bêta ouverte prévue en septembre 2026. Il lit le même CRM, donc la même règle s'applique : ses skills valent ce que valent les champs sur lesquels elles s'appuient.
Par quoi commencer
- Choisissez SObject Mutations plutôt que SObject All quand les commerciaux veulent que l'agent crée des tâches et fasse avancer les étapes, parce qu'il bloque les suppressions.
- Vérifiez cinq champs avant d'annoncer le connecteur : montant, étape, prochaine étape, budget, concurrent. Ce qui est vide à cet endroit sera vide dans chaque réponse de l'agent.
- Remplissez ces champs à partir des appels, pour que l'agent compte ce que les acheteurs ont dit en plus de ce que les commerciaux ont eu le temps de saisir.
Questions fréquentes
À quoi sert le MCP Salesforce ?
Le MCP Salesforce permet à un client IA comme Claude, ChatGPT ou Cursor de lire et de mettre à jour vos données Salesforce via le Model Context Protocol. Les serveurs hébergés exposent les enregistrements, Data 360, Tableau Next et des outils Apex ou Flow personnalisés, et chaque appel s'exécute avec les permissions de l'utilisateur connecté.
Comment configurer les serveurs MCP Salesforce ?
Un administrateur active un serveur dans Setup, sous API Catalog puis MCP Servers, et crée une External Client App avec les scopes mcp_api et refresh_token. Vous ajoutez ensuite l'URL du serveur et la consumer key de l'application dans votre client MCP. Selon Salesforce, l'ensemble prend moins de 30 minutes.
Comment faire tourner un serveur MCP pour Salesforce ?
Avec les Hosted MCP Servers, vous ne faites rien tourner : Salesforce héberge l'endpoint sur api.salesforce.com. Le serveur local Salesforce DX MCP, qu'on lançait avec npx, est un outil pour développeurs qui arrive en fin de vie le 2 novembre 2026.
Le MCP Salesforce est-il gratuit ?
L'accès est inclus à partir de l'Enterprise Edition, sans licence Agentforce, et la lecture et l'écriture d'enregistrements ne sont pas décomptées pour l'instant. Les actions Agentforce et les requêtes Data 360 consomment des Flex Credits, et Salesforce a promis de prévenir 30 jours avant de décompter les opérations sur les enregistrements.
Claude peut-il se connecter à Salesforce ?
Oui. Ajoutez un connecteur personnalisé dans Claude avec l'URL du serveur Salesforce et la consumer key de votre External Client App, puis connectez-vous à Salesforce. Claude Code utilise le même connecteur.
Un agent peut-il lire les transcripts d'appels commerciaux via le MCP Salesforce ?
Seulement ce qui se trouve dans des objets Salesforce que l'utilisateur peut interroger. Les tâches et événements consignés sont lisibles, et les objets Einstein Conversation Insights peuvent être interrogés quand ECI est activé et que l'utilisateur dispose du bon permission set. Les appels enregistrés hors de Salesforce n'arrivent jusqu'à l'agent que si un outil les écrit dans des champs Salesforce, ou via le MCP de cet outil.



