Serveur Salesforce MCP - MCP Server sécurisé par ALMC Security 2025

Serveur Salesforce MCP

Voir sur GitHub

Serveur MCP Salesforce

Une implémentation du serveur MCP (Model Context Protocol) qui intègre Claude avec Salesforce, permettant des interactions en langage naturel avec vos données et métadonnées Salesforce. Ce serveur permet à Claude d'interroger, de modifier et de gérer vos objets et enregistrements Salesforce en utilisant un langage courant.

Caractéristiques

  • Gestion des objets et des champs: Créez et modifiez des objets et des champs personnalisés en utilisant le langage naturel
  • Recherche intelligente d'objets: Recherche d'objets Salesforce à l'aide de correspondances partielles de noms
  • Informations détaillées sur le schéma: Obtenez des détails complets sur les champs et les relations pour n'importe quel objet
  • Requêtes de données flexibles: Interrogez les enregistrements en prenant en charge les relations et en appliquant des filtres complexes
  • Manipulation des données: Insérez, mettez à jour, supprimez et réinsérez des enregistrements en toute simplicité
  • Recherche inter-objets: Recherche sur plusieurs objets à l'aide de SOSL
  • Gestion du code Apex: Lecture, création et mise à jour des classes et des déclencheurs Apex
  • Gestion intuitive des erreurs: Retour d'information clair avec des détails d'erreur spécifiques à Salesforce

Installation

npm install -g @tsmztech/mcp-server-salesforce

Outils

salesforce_search_objects

Recherche d'objets standard et personnalisés :

  • Recherche par correspondance partielle de nom
  • Trouve à la fois les objets standards et personnalisés
  • Exemple : "Rechercher les objets liés à Compte" permet de trouver Compte, HistoriqueCompte, etc.

salesforce_describe_object

Permet d'obtenir des informations détaillées sur le schéma de l'objet :

  • Définitions des champs et propriétés
  • Détails des relations
  • Valeurs de la liste de sélection
  • Exemple : "Montrez-moi tous les champs de l'objet Compte" : "Afficher tous les champs de l'objet Compte"

salesforce_query_records

Interroge les enregistrements avec un support relationnel :

  • Relations parent-enfant
  • Relations enfant-parent
  • Conditions complexes de type WHERE
  • Exemple : "Obtenir tous les comptes avec les contacts qui leur sont associés"
  • Remarque : pour les requêtes avec des fonctions GROUP BY ou aggregate, utilisez salesforce_aggregate_query

salesforce_aggregate_query

Exécute des requêtes agrégées avec GROUP BY :

  • GROUP BY un ou plusieurs champs
  • Fonctions d'agrégation : COUNT, COUNT_DISTINCT, SUM, AVG, MIN, MAX
  • Clauses HAVING pour filtrer les résultats groupés
  • Fonctions de regroupement par date/heure
  • Exemple : "Compter les opportunités par étape" ou "Trouver les comptes ayant plus de 10 opportunités"

salesforce_dml_records

Effectuer des opérations sur les données :

  • Insérer de nouveaux enregistrements
  • Mise à jour d'enregistrements existants
  • Supprimer des enregistrements
  • Suppression d'enregistrements à l'aide d'identifiants externes
  • Exemple : "Mise à jour du statut de plusieurs comptes"

objet_de_gestion_de_ventesforce

Créer et modifier des objets personnalisés :

  • Créer de nouveaux objets personnalisés
  • Mise à jour des propriétés des objets
  • Configurer les paramètres de partage
  • Exemple : "Créer un objet de retour d'information client"

salesforce_manage_field

Gérer les champs d'un objet :

  • Ajouter de nouveaux champs personnalisés
  • Modifier les propriétés des champs
  • Créer des relations
  • Accorde automatiquement la sécurité de niveau champ à l'administrateur système par défaut
  • Utiliser le paramètre grantAccessTo pour spécifier différents profils
  • Exemple : "Ajouter un champ Liste de sélection de notation au compte

salesforce_manage_field_permissions

Gérer la sécurité au niveau du champ (autorisations de champ) :

  • Accorder ou révoquer l'accès en lecture/modification aux champs pour des profils spécifiques
  • Afficher les autorisations actuelles pour les champs
  • Mise à jour en masse des autorisations pour plusieurs profils
  • Utile pour gérer les autorisations après la création d'un champ ou pour les champs existants
  • Exemple : "Accorder à l'administrateur système l'accès à Custom_Field__c sur le compte"

salesforce_search_all

Recherche sur plusieurs objets :

  • Recherche basée sur SOSL
  • Prise en charge de plusieurs objets
  • Extraits de champs
  • Exemple : "Recherche de 'cloud' dans les comptes et les opportunités"

salesforce_read_apex

Lecture des classes Apex :

  • Obtenir le code source complet de classes spécifiques
  • Liste des classes correspondant à des modèles de noms
  • Affichage des métadonnées de la classe (version de l'API, statut, etc.)
  • Prise en charge des caractères génériques (* et ?) dans les modèles de noms
  • Exemple : "Montrez-moi la classe AccountController" ou "Trouvez toutes les classes correspondant à AccountCont"

salesforce_write_apex

Créer et mettre à jour des classes Apex :

  • Créer de nouvelles classes Apex
  • Mise à jour des implémentations de classes existantes
  • Spécifier les versions de l'API
  • Exemple : "Créer une nouvelle classe Apex pour gérer les opérations sur les comptes" : "Créer une nouvelle classe Apex pour gérer les opérations sur les comptes"

salesforce_read_apex_trigger

Lire les déclencheurs Apex :

  • Obtenir le code source complet de déclencheurs spécifiques
  • Répertorier les déclencheurs correspondant à un modèle de nom
  • Affichage des métadonnées des déclencheurs (version API, objet, statut, etc.)
  • Prise en charge des caractères génériques (* et ?) dans les modèles de noms
  • Exemple : "Montrez-moi le déclencheur AccountTrigger" ou "Trouvez tous les déclencheurs pour l'objet Contact"

salesforce_write_apex_trigger

Créer et mettre à jour des déclencheurs Apex :

  • Créer de nouveaux déclencheurs Apex pour des objets spécifiques
  • Mettre à jour les implémentations de déclencheurs existantes
  • Spécifier les versions de l'API et les opérations sur les événements
  • Exemple : "Créer un nouveau déclencheur pour l'objet Compte" ou "Mettre à jour le déclencheur Lead"

salesforce_execute_anonymous

Exécuter du code Apex anonyme :

  • Exécuter du code Apex sans créer de classe permanente
  • Affichage des journaux de débogage et des résultats de l'exécution
  • Utile pour les opérations sur les données qui ne sont pas directement prises en charge par d'autres outils
  • Exemple : "Exécuter un code Apex pour calculer les indicateurs de compte" ou "Exécuter un script pour mettre à jour les enregistrements liés"

salesforce_manage_debug_logs

Gère les journaux de débogage pour les utilisateurs de Salesforce :

  • Activer les journaux de débogage pour des utilisateurs spécifiques
  • Désactiver les configurations actives des journaux de débogage
  • Récupérer et afficher les journaux de débogage
  • Configurer les niveaux des journaux (NONE, ERROR, WARN, INFO, DEBUG, FINE, FINER, FINEST)
  • Exemple : "Activer les journaux de débogage pour user@example.com" ou "Récupérer les journaux récents pour un utilisateur admin"

Configuration

Authentification Salesforce

Vous pouvez vous connecter à Salesforce en utilisant l'une des deux méthodes d'authentification suivantes :

1. Authentification par nom d'utilisateur/mot de passe (par défaut)

  1. Configurez vos informations d'identification Salesforce
  2. Obtenez votre jeton de sécurité (réinitialisation à partir des paramètres de Salesforce)

2. Flux des informations d'identification du client OAuth 2.0

  1. Créez une application connectée dans Salesforce
  2. Activez les paramètres OAuth et sélectionnez "Client Credentials Flow"
  3. Définissez les champs d'application appropriés (en général, "api" suffit)
  4. Enregistrez l'identifiant et le secret du client
  5. Important: notez l'URL de votre instance (par exemple, https://your-domain.my.salesforce.com), car elle est requise pour l'authentification

Utilisation avec Claude Desktop

Ajouter à votre claude_desktop_config.json:

Pour l'authentification par nom d'utilisateur/mot de passe :

{ "mcpServers" : { "salesforce" : { "command" : "npx", "args" : ["-y", "@tsmztech/mcp-server-salesforce"], "env" : { "SALESFORCE_CONNECTION_TYPE" : "User_Password", "SALESFORCE_USERNAME" : "your_username", "SALESFORCE_PASSWORD" : "votre_mot_de_passe", "SALESFORCE_TOKEN" : "your_security_token", "SALESFORCE_INSTANCE_URL" : "org_url" // Facultatif. Valeur par défaut : https://login.salesforce.com } } }

Pour le flux d'informations d'identification du client OAuth 2.0 :

{ "mcpServers" : { "salesforce" : { "command" : "npx", "args" : ["-y", "@tsmztech/mcp-server-salesforce"], "env" : { "SALESFORCE_CONNECTION_TYPE" : "OAuth_2.0_Client_Credentials", "SALESFORCE_CLIENT_ID" : "your_client_id", "SALESFORCE_CLIENT_SECRET" : "votre_secret_client", "SALESFORCE_INSTANCE_URL" : "https://your-domain.my.salesforce.com"  // OBLIGATOIRE : Il doit s'agir de l'URL exacte de votre instance Salesforce } } } }

Remarque: pour le flux d'informations d'identification du client OAuth 2.0, l'URL SALESFORCE_INSTANCE_URL doit être l'URL exacte de votre instance Salesforce (par exemple, https://your-domain.my.salesforce.com). Le point de terminaison du jeton sera construit comme <instance_url>/services/oauth2/token.

Exemple d'utilisation

Recherche d'objets

"Trouver tous les objets liés aux comptes" "Afficher les objets qui gèrent le service client" "Quels sont les objets disponibles pour la gestion des commandes ?"

Obtention d'informations sur le schéma

"Quels sont les champs disponibles dans l'objet Compte ? Montrez-moi les valeurs de la liste de sélection pour l'état du dossier" "Décrivez les champs de relation dans Opportunité"

Interroger les enregistrements

"Obtenir tous les comptes créés ce mois-ci" "Afficher les cas prioritaires avec les contacts associés" "Trouver toutes les opportunités de plus de 100 000 dollars"

Requêtes agrégées

"Compter les opportunités par étape Afficher le revenu total par compte Trouver les comptes ayant plus de 10 opportunités Calculer la taille moyenne d'une affaire par représentant et par trimestre Obtenir le nombre d'affaires par priorité et par statut

Gestion des objets personnalisés

créer un objet "Feedback client" "Ajouter un champ "Évaluation" à l'objet "Feedback"" Mettre à jour les paramètres de partage de l'objet "Demande de service""

Exemples avec la sécurité au niveau du champ :

# Par défaut - accorde automatiquement l'accès à l'administrateur du système "Créer un champ de liste de sélection Statut sur l'objet personnalisé__c" # Profils personnalisés - accorde l'accès aux profils spécifiés "Créer un champ de devise de revenu sur le compte et accorder l'accès aux profils d'utilisateur des ventes et d'utilisateur du marketing"

Gestion des autorisations de champ

"Accorder à l'administrateur du système l'accès au champ Custom_Field__c sur le compte" "Donner un accès en lecture seule au champ Rating__c pour le profil Sales User" "Voir quels profils ont accès au champ Custom_Field__c" "Révoquer l'accès au champ pour des profils spécifiques"

Recherche dans les objets

"Recherche de 'cloud' dans les comptes et les opportunités" "Recherche des mentions de 'problème de réseau' dans les cas et les articles de connaissance" "Recherche du nom du client dans tous les objets pertinents"

Gestion du code Apex

"Afficher toutes les classes Apex dont le nom contient "Controller" Obtenir le code complet de la classe AccountService Créer une nouvelle classe utilitaire Apex pour gérer les opérations sur les dates Mettre à jour la classe LeadConverter pour ajouter une nouvelle méthode

Gestion des déclencheurs Apex

"List all triggers for the Account object" "Show me the code for the ContactTrigger" "Create a new trigger for the Opportunity object" "Update the Case trigger to handle after delete events"

Exécution du code Apex anonyme

"Exécuter un code Apex pour calculer les métriques du compte" "Exécuter un script pour mettre à jour les enregistrements liés" "Exécuter un travail par lots pour traiter des ensembles de données volumineux"

Gestion des journaux de débogage

"Activer les journaux de débogage pour user@example.com Récupérer les journaux récents pour un utilisateur administrateur Désactiver les journaux de débogage pour un utilisateur spécifique Configurer le niveau de journal à DEBUG pour un utilisateur

Développement

Construction à partir des sources

# Cloner le dépôt git clone https://github.com/tsmztech/mcp-server-salesforce.git # Naviguer dans le répertoire cd mcp-server-salesforce # Installer les dépendances npm install # Construire le projet npm run build

Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.

Licence

Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.

Problèmes et support

Si vous rencontrez des problèmes ou si vous avez besoin d'aide, veuillez déposer un problème sur le dépôt GitHub.

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
RayureLe Stripe Agent Toolkit permet aux frameworks d'agents populaires, y compris OpenAI's Agent SDK, Lan...Voir
MCP PrometheusUn serveur MCP (Model Context Protocol) complet pour Prometheus, écrit en Go.Voir
Serveur MCP de BinanceVoir
Colle de nuageVoir
Joe SandboxUn serveur Model Context Protocol (MCP) pour interagir avec Joe Sandbox Cloud. Ce serveur expose de...Voir
Auth0 Serveur MCPVoir