Connecteur TypeScript pour Salesforce - MCP Server sécurisé par ALMC Security 2025

Connecteur TypeScript pour Salesforce

Voir sur GitHub

Connecteur TypeScript MCP Salesforce

Une implémentation TypeScript d'un serveur Model Context Protocol (MCP) pour l'intégration Salesforce, permettant aux LLM d'interagir avec les données Salesforce par le biais de requêtes SOQL, de recherches SOSL et d'opérations CRUD.

Caractéristiques

  • authentification simplifiée par mot de passe: Flux d'informations d'identification par mot de passe du propriétaire de la ressource OAuth 2.0 sécurisé
  • 📊SOQL & SOSL: Exécution de requêtes et de recherches dans Salesforce
  • 🔍 Accès aux métadonnées: Récupérer les champs, les étiquettes et les types d'objets
  • ✏️ Opérations CRUD: Créer, lire, mettre à jour et supprimer des enregistrements
  • 🛠️ Tooling API: Exécuter les requêtes de l'API d'outillage
  • apex REST: Exécuter les requêtes Apex REST
  • 🌐 REST API: Effectuer des appels API REST directs vers Salesforce
  • 🐳 Docker Ready: Pas de valeurs codées en dur, entièrement configurables via des variables d'environnement
  • 🔄 Rafraîchissement des jetons: Rafraîchissement automatique des jetons pour les sessions de longue durée

Outils disponibles

  • authenticate_password - Authentification par nom d'utilisateur/mot de passe avec OAuth
  • run_soql_query - Exécuter des requêtes SOQL
  • run_sosl_search - Exécute des recherches SOSL
  • get_object_fields - Obtenir des métadonnées pour les objets Salesforce
  • get_record - Récupération d'enregistrements spécifiques par ID
  • create_record - Créer de nouveaux enregistrements
  • update_record - Mise à jour des enregistrements existants
  • delete_record - Supprimer des enregistrements
  • tooling_execute - Exécuter les requêtes de l'API Tooling
  • apex_execute - Exécuter les requêtes REST d'Apex
  • restful - Effectuer des appels directs à l'API REST

Démarrage rapide avec Docker

Conditions préalables

  1. Créez une application connectée dans Salesforce :

    • Allez dans Configuration → Applications → Gestionnaire d'applications → Nouvelle application connectée
    • Remplissez les informations de base (nom de l'application, nom de l'API, adresse électronique du contact)
    • Activer les paramètres OAuth
    • Définir l'URL de rappel : http://localhost:8080/callback (obligatoire mais non utilisé)
    • Sélectionnez les champs d'application OAuth
      • Accéder à vos informations de base (identifiant, profil, email, adresse, téléphone)
      • Effectuer des requêtes en votre nom à tout moment (refresh_token, offline_access)
      • Accéder à vos données et les gérer (api)
    • Enregistrez et notez la clé du consommateur et le secret du consommateur
  2. Obtenez votre jeton de sécurité :

    • Allez dans Configuration → Mes informations personnelles → Réinitialiser le jeton de sécurité
    • Vérifiez votre courrier électronique pour obtenir le nouveau jeton de sécurité

Utiliser l'image Docker

Tirez et exécutez la dernière image Docker :

# Tirez l'image docker pull steffensbola/salesforce-mcp-ts:latest # Exécutez avec vos informations d'identification docker run -p 3000 :3000 \N -e SALESFORCE_CLIENT_ID=votre_clé_consommateur \N -e SALESFORCE_CLIENT_SECRET=votre_secret_consommateur \N -e SALESFORCE_USERNAME=your_username@domain.com \N -e SALESFORCE_PASSWORD=votre_mot_de_passe \N -e SALESFORCE_SECURITY_TOKEN=votre_token_de_sécurité \N -e SALESFORCE_SANDBOX=true \N steffensbola/salesforce-mcp-ts:latest

Configuration MCP

VS Code utilisant une image Docker

Ajoutez à votre .vscode/mcp.json:

{ "servers" : { "salesforce" : { "command" : "docker", "args" : ["run", "--rm", "-i", "-e", "SALESFORCE_CLIENT_ID=votre_clé_consommateur", "-e", "SALESFORCE_CLIENT_SECRET=votre_secret_consommateur", "-e", "SALESFORCE_USERNAME=your_username@domain.com",
        "-e", "SALESFORCE_PASSWORD=votre_mot_de_passe", "-e", "SALESFORCE_SECURITY_TOKEN=votre_token", "-e", "SALESFORCE_SANDBOX=true", "steffensbola/salesforce-mcp-ts :latest" ] } }

Vous pouvez également utiliser les volumes pour monter un fichier de configuration au lieu de passer des variables d'environnement :

{ "servers" : { "salesforce" : { "command" : "docker", "args" : [ "run", "--rm", "-i", "-v", "${workspaceFolder}/.env:/app/.env", "steffensbola/salesforce-mcp-ts:latest" ] } }

Claude Desktop à l'aide d'une image Docker

Ajoutez à votre claude_desktop_config.json:

{ "mcpServers" : { "salesforce" : { "command" : "docker", "args" : ["run", "--rm", "-i", "-e", "SALESFORCE_CLIENT_ID=votre_clé_consommateur", "-e", "SALESFORCE_CLIENT_SECRET=votre_secret_consommateur", "-e", "SALESFORCE_USERNAME=your_username@domain.com",
        "-e", "SALESFORCE_PASSWORD=votre_mot_de_passe", "-e", "SALESFORCE_SECURITY_TOKEN=votre_token", "-e", "SALESFORCE_SANDBOX=true", "steffensbola/salesforce-mcp-ts :latest" ] } }

Variables d'environnement

Le serveur nécessite les variables d'environnement suivantes :

Requis (authentification OAuth)

  • SALESFORCE_CLIENT_ID - Clé de consommateur de votre application connectée
  • SALESFORCE_CLIENT_SECRET - Secret du consommateur de votre application connectée
  • SALESFORCE_USERNAME - Votre nom d'utilisateur Salesforce
  • SALESFORCE_PASSWORD - Votre mot de passe Salesforce
  • SALESFORCE_SECURITY_TOKEN - Votre jeton de sécurité Salesforce

Facultatif

  • SALESFORCE_SANDBOX - Définir "true" pour le bac à sable, "false" pour la production (par défaut : "false")

Alternative (authentification directe par jeton)

Au lieu du nom d'utilisateur/mot de passe, vous pouvez utiliser :

  • SALESFORCE_ACCESS_TOKEN - Jeton d'accès direct
  • SALESFORCE_INSTANCE_URL - URL de l'instance Salesforce (par exemple, https://your-instance.my.salesforce.com)

Compatibilité ascendante

Le serveur prend également en charge d'autres noms de variables :

  • SF_CONSUMER_KEY / SF_CONSUMER_SECRET
  • SF_USERNAME / SF_PASSWORD / SF_SECURITY_TOKEN

Utilisation de Docker Compose

  1. Créez un fichier .env avec vos variables d'environnement :
SALESFORCE_CLIENT_ID=votre_clé_consommateur SALESFORCE_CLIENT_SECRET=votre_secret_consommateur SALESFORCE_USERNAME=your_username@domain.com SALESFORCE_PASSWORD=votre_mot_de_passe SALESFORCE_SECURITY_TOKEN=votre_token SALESFORCE_SANDBOX=true DOCKER_HUB_USERNAME=steffensbola
  1. Exécutez en utilisant Docker Compose :
docker-compose up -d

Exemples d'utilisation de Docker Compose

Utiliser les outils

Une fois connecté, vous pouvez utiliser les outils via votre client MCP :

Authentification :

Veuillez vous authentifier auprès de Salesforce à l'aide de mes informations d'identification

Interroger les données :

Exécutez cette requête SOQL : SELECT Id, Name, Industry FROM Account WHERE Industry = 'Technology' LIMIT 10

Recherche :

Recherche de contacts nommés "John" à l'aide de SOSL

Obtenir des métadonnées :

Obtenir tous les champs de l'objet Contact

Créer un enregistrement :

Créer un nouveau compte avec le nom "Test Company" et le secteur "Technology"

Dépannage

Problèmes courants

  1. Échec de l'authentification

    • Vérifier que les informations d'identification sont correctes
    • Vérifier que les champs d'application OAuth de l'application connectée incluent "Accéder et gérer vos données (api)"
    • Vérifiez que le jeton de sécurité est à jour (réinitialisez-le si nécessaire)
    • Vérifier que la configuration du bac à sable correspond à votre type d'organisation
  2. Le conteneur ne démarre pas

    • S'assurer que l'ID_CLIENT et le SECRET_CLIENT sont tous deux fournis
    • Vérifier que toutes les variables d'environnement requises sont définies
    • Vérifier que Docker a accès à l'image
  3. Erreurs de réseau

    • Vérifier la connexion Internet
    • Vérifier l'état du service Salesforce
    • Vérifier que les paramètres du pare-feu autorisent les connexions HTTPS sortantes

Mode débogage

Pour une journalisation verbeuse, ajoutez la variable d'environnement debug :

docker run -e DEBUG=true \N -e SALESFORCE_CLIENT_ID=... \N- # ... autres variables steffensbola/salesforce-mcp-ts:latest

Contribuer

Voir CONTRIBUTING.md pour plus d'informations :

  • L'architecture du projet et la configuration du développement
  • Exécution à partir du code source
  • Directives de contribution et processus de demande d'extraction

Licence

Licence MIT - voir le fichier LICENSE pour plus de détails.

Liens

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

ServeurRésuméActions
CoSenseServeur MCP pour cosenseVoir
Serveur MCP UberallVoir
Annonces GoogleVoir
Serveur Lemon SqueezyVoir
MezmoUn serveur Model Context Protocol (MCP) pour récupérer les logs de Mezmo. Fonctionne avec des fenêtr...Voir
Catalogue de données Azure par CDataServeur Model Context Protocol (MCP) de CData pour Azure Data CatalogVoir