Référence aux outils MCP Server pour Customer Insights - Data

Un serveur MCP sert à la fois Customer Insights - Data et Customer Insights - Journeys, donc un agent dans l’une ou l’autre application peut utiliser n’importe lequel des outils listés ici.

Le serveur Customer Insights Model Context Protocol (MCP) expose les capacités Dynamics 365 Customer Insights - Data et Customer Insights - Journeys comme outils appelables pour les agents d’IA et les clients de grands modèles de langage (LLM).

Il y a un seul serveur MCP pour les deux applications. Au lieu d’appeler directement les API internes, vos agents fonctionnent via une interface sécurisée unique qui applique les mêmes règles que Customer Insights applique partout ailleurs, y compris les règles de consentement appliquées lors de l’exécution du trajet.

Grâce au MCP, un agent peut :

  • Découvrez les sources de données intégrées dans Customer Insights
  • Résoudre un enregistrement d’un système source vers un profil client unifié
  • Récupérer les attributs de profil, segments, mesures, prédictions et appartenance au cluster
  • Vérifiez le consentement et générez des liens de désabonnement conformes avant d’envoyer un message
  • Créez des parcours et validez le contenu des emails

Outils en un coup d’œil

Tool Afficher le titre Qu’est-ce que cela fait ? Lecture seule
find_customer Trouver un client Les recherches unifient les profils clients par prénom ou nom de famille Oui
get_customer_by_source_id Résoudre le client par identifiant source Résout un identifiant client unifié à partir d’un identifiant d’enregistrement système source Oui
get_customer_by_contact Résoudre le client par contact Résout un identifiant client unifié à partir d’un GUID de contact Dataverse Oui
get_customer_details Obtenez les détails des clients Restitue la vue complète Customer 360 à un client Oui
get_customer_segments Obtenez des segments de clients Liste les segments auxquels appartient un client Oui
get_customer_measures Obtenez des mesures clients Mesures et KPI calculés par les rendements Oui
get_customer_predictions Obtenez des prédictions clients Rend des prédictions d’apprentissage automatique telles que la probabilité de churn Oui
get_cluster_information Obtenez des informations sur les clusters Retourne l’appartenance à un groupe, comme un foyer, et d’autres membres Oui
list_data_sources Répertorier les sources de données Liste les sources de données ingérées et leurs décomptes d’enregistrements Oui
check_consent Vérifier le consentement Vérifie le consentement pour un point de contact, un canal, un but et un sujet Oui
get_unsubscribe_link Lien de désabonnement Génère un lien de désabonnement conforme pour un destinataire Oui
create_journey Créer un voyage Valide, enrichit et crée un parcours Non
validate_email Valider l’e-mail Valide un e-mail existant sans le modifier Oui

create_journey est le seul outil qui écrit des données. Ce n’est ni lecture seule, ni destructeur, ni idémpotent, donc l’appeler deux fois crée deux voyages. Tous les autres outils ne lisent que les autres.

Comment les outils s’intègrent

La plupart des flux de travail suivent un schéma en deux étapes : résoudre un identifiant client unifié, puis utiliser cet identifiant pour récupérer les données clients.

Étape 1 : Résoudre un identifiant client unifié

Choisissez l’outil qui correspond à ce que vous savez déjà du client :

  • find_customer Quand tu as le nom d’une personne
  • get_customer_by_contact lorsque vous avez un GUID de contact Dataverse
  • get_customer_by_source_id lorsque vous avez un identifiant d’enregistrement provenant d’un système source ingéré, comme un système de fidélité ou ERP

Si vous ne savez pas quels noms d’entités sources sont valides, appelez list_data_sources d’abord.

Étape 2 : Récupérer les données clients

Après avoir résolu l’identification, appelez l’un de ces outils :

  • get_customer_details pour le profil complet et la provenance des données
  • get_customer_segments pour les adhésions aux segments
  • get_customer_measures pour les KPI et les valeurs de mesure
  • get_customer_predictions pour les scores en IA et en apprentissage automatique
  • get_cluster_information pour l’appartenance au cluster

Outils de profilage client

Ces outils lisent depuis des entités virtuelles Dataverse, qui reflètent des données clients unifiées en direct.

Trouver un client

find_customer

Recherche des profils clients unifiés par prénom ou nom de famille et retours correspondant aux identifiants clients, noms et adresses e-mail. Utilisez cet outil en premier lorsque l’utilisateur vous donne le nom d’une personne mais pas son identifiant client unifié.

  • Comportement : Si vous ne fournissez pas de nom, l’outil liste les profils au lieu de rechercher.
  • Paginage : Utilisation top pour contrôler la taille de la page. La réponse inclut hasMore que vous puissiez savoir s’il existe d’autres résultats au-delà de la page actuelle.

Résoudre le client par identifiant source

get_customer_by_source_id

Résout un identifiant client unifié à partir d’un identifiant d’enregistrement dans un système source ingéré. Utilisez-le lorsque vous avez un identifiant provenant d’une source telle qu’un système de fidélité ou ERP et que vous avez besoin du profil Customer Insights correspondant.

Appelez list_data_sources d’abord pour trouver des noms d’entités sources valides, tels que contact, lead, ou une table personnalisée.

Résoudre le client par contact

get_customer_by_contact

Résout un identifiant client unifié à partir d’un GUID de contact Dataverse. Utilisez-le lorsqu’un flux de travail commence avec un enregistrement de contact et nécessite le profil Customer Insights associé.

Cet outil est un raccourci pour get_customer_by_source_id avec l’entité source définie sur contact.

Obtenez les détails des clients

get_customer_details

Restitue une vue Customer 360 complète pour un client unifié. Le résultat comprend :

  • Attributs de profil central, tels que nom, e-mail et adresse, sans colonnes système
  • Adhésions de segments
  • Mesures clients
  • clusters
  • Prédictions
  • Enregistrements sources qui montrent la provenance de l’unification des données

Chaque enregistrement source inclut les attributs non système de l’entité source, la manière dont ces attributs correspondent aux attributs du profil unifié, ainsi qu’un drapeau qui identifie la source ayant contribué à la valeur gagnante pour chaque champ unifié.

Utilisez cet outil après avoir résolu un identifiant client et vous souhaitez avoir une vision complète en un seul appel.

Obtenez des segments de clients

get_customer_segments

Liste les segments ou publics auxquels appartient un client unifié. Chaque résultat inclut le nom du segment, le nom d’affichage et l’identifiant du segment.

Obtenez des mesures clients

get_customer_measures

Les retours calculaient les mesures clients et les KPIs, tels que la valeur à vie, le nombre de commandes et les scores d’engagement. L’outil combine les mesures stockées dans les mises en page de données Customer Insights supportées en un seul résultat.

Utilisez-le pour récupérer des valeurs agrégées comme le total des achats, la valeur moyenne des commandes ou des métriques métier personnalisées.

Obtenez des prédictions clients

get_customer_predictions

Restitue des prédictions d’apprentissage automatique pour un client unifié, telles que la probabilité de désabonnement, la valeur prédite sur la durée de vie, les scores de propension et les suggestions de prochain meilleur produit. Chaque résultat inclut le modèle et le fournisseur dont il provienne.

Obtenez des informations sur les clusters

get_cluster_information

Restitue les clusters auxquels appartient un client, ainsi que les autres membres de chaque cluster et leurs scores d’affinité. Les types de cluster sont découverts dynamiquement à partir des métadonnées du modèle Customer Insights.

Un cluster est une règle post-unification qui regroupe des profils unifiés remplissant un ensemble de conditions. Un foyer, par exemple, est un groupe courant de personnes partageant un nom de famille et une adresse.

Répertorier les sources de données

list_data_sources

Liste les sources de données intégrées dans Customer Insights. Pour chaque source, l’outil rapporte l’entité source, le nombre d’enregistrements, et si des colonnes de cette source apparaissent dans le profil unifié. Il signale aussi les sources dont les champs n’ont pas été corrigés en colonnes de profil, ce qui est utile lors du dépannage de l’unification.

Aucune intervention n’est requise. Utilisez cet outil pour découvrir des noms d’entités sources valides avant d’appeler get_customer_by_source_id.

Ces outils déléguent au même service de consentement backend que Customer Insights - Journeys utilise lors de l'exécution du parcours, de sorte que la décision d'un agent correspond toujours à ce qu'un parcours ferait. Le service de consentement peut fonctionner indépendamment d’une installation complète de Customer Insights, donc ces outils sont disponibles même dans des environnements où seuls Dynamics 365 Sales ou Contact Center sont déployés.

check_consent

Vérifie le statut de consentement pour un point de contact, un canal de communication, un objectif et un sujet. Appelez-le avant de recommander ou d’envoyer un message pour confirmer que le destinataire est éligible. L’outil invoque l’API msdynmkt_checkconsent personnalisée Dataverse et renvoie la décision du service de consentement, y compris la raison pour laquelle un message serait bloqué.

Cas d’usage typique

Un agent qui se prépare à envoyer un message commercial appelle check_consent pour vérifier que le destinataire a choisi pour l’objectif et le canal concernés.

Example

Vérifiez le consentement pour le point +111111111de contact, le profil 7f4a6355-1811-4cde-bde3-fee8c85f56b1de conformité, l’objectif Commercial (10000000-0000-0000-0000-000000000003), le type SMSde canal, l’unité commerciale c507f51d-8f0c-ee11-8f6e-6045bd6ef763et la rubrique Commercial Topic 001 (23db4a4d-ba9f-f011-bbd3-6045bd194648).

Résultat :

Paramètre Value
Point de contact +111111111
Type de canal SMS
ID du profil de conformité 7f4a6355-1811-4cde-bde3-fee8c85f56b1
Purpose Commercial (ID : 100000000-0000-0000-0000-000000000003)
Sujet Rubrique commerciale 001 (ID : 23db4a4d-ba9f-f011-bbd3-6045bd194648)
Unité commerciale c507f51d-8f0c-ee11-8f6e-6045bd6ef763
Consentement ✅ Accordée

Le point de contact dispose du consentement volontaire requis pour les sujets Commercial et Commercial Topic 001 , donc la messagerie SMS à ce point de contact est autorisée selon les paramètres de conformité actuels.

get_unsubscribe_link

Génère un lien de désabonnement conforme pour un destinataire et un contexte de message. La requête identifie l’entité destinataire, l’objectif, les paramètres de conformité, le modèle de message et le point de contact. L’outil invoque l’API msdynmkt_getunsubscribelink personnalisée Dataverse.

Chaque lien est unique au point de contact et au contexte du message, ce qui vous permet d’obtenir une traçabilité et une auditabilité complètes.

Lorsqu’un destinataire sélectionne le lien, il ouvre la page du centre de préférences associée au profil de conformité. Le centre de préférences permet aux destinataires de gérer leurs préférences de communication, par exemple en se désinscrivant de certains objectifs ou sujets, en mettant à jour les points de contact ou en se désinscrivant de tout. Cela donne aux clients un vrai contrôle au lieu d’une option tout ou rien.

Vous pouvez personnaliser l’apparence du centre de préférence pour qu’il corresponde à votre marque, notamment la mise à jour du texte, l’ajout d’objectifs et de rubriques, le style de la page avec css personnalisé et l’ajout de Code JavaScript personnalisé. En savoir plus dans les centres de préférences personnalisés et de marque Create.

Cas d’usage typique

Un agent de sensibilisation génère un message et appelle get_unsubscribe_link pour intégrer un lien de désinscription en un clic dans le corps du message.

Example

Générez un lien de désabonnement pour le point +111111111de contact, le type d’entité (Contact), le modèle f56302b0-875e-f111-a826-7ced8d6d1623226abb7d-855e-f111-a826-7ced8d6d1e7c de message, le profil 7f4a6355-1811-4cde-bde3-fee8c85f56b1de conformité, l’objectif10000000-0000-0000-0000-000000000003, la rubrique 23db4a4d-ba9f-f011-bbd3-6045bd194648et l’unité commercialec507f51d-8f0c-ee11-8f6e-6045bd6ef763.

Résultat :

Paramètre Value
Point de contact +111111111
Type d'entité Contact
Identifiant d'entité f56302b0-875e-f11-a826-7ced8d6d1623
ID du modèle de message 226abb7d-855e-f111-a826-7ced8d6d1e7c
ID du profil de conformité 7f4a6355-1811-4cde-bde3-fee8c85f56b1
Identifiant de l’objectif 10000000-0000-0000-0000-000000000003
ID de rubrique 23db4a4d-ba9f-f011-bbd3-6045bd194648
ID de l’unité commerciale c507f51d-8f0c-ee11-8f6e-6045bd6ef763

Lien de désabonnement généré :

https://public-fra.mkt.dynamics.com/api/v2.0/orgs/7b2fdebc-d216-ee11-a66d-0022483903fc/consent/preferences?contextId=fd436906-0633-42a9-8426-c3a6edca0100

Outils de voyage et d’email

Créer un voyage

create_journey

Valide une charge utile JSON complète du parcours, l’enrichit, valide à nouveau la charge utile enrichie, puis crée l’enregistrement du parcours Customer Insights - Journeys. La réponse inclut l’identifiant de parcours créé et le résultat de validation.

Important

create_journey est le seul outil du serveur MCP Customer Insights qui crée des données. Ce n’est pas idempotent, donc recommencer un appel raté peut créer un parcours en double. Faites confirmer le résultat par votre agent avant qu’il ne tente de faire un effort.

Valider l’e-mail

validate_email

Valide un email existant de Customer Insights - Journeys sans le modifier. La requête contient l’identifiant du message e-mail, les parties de contenu, les espaces réservés et le contexte de validation. La réponse inclut des résultats de validation au niveau du message et au niveau réservé.

Utilisez-le pour détecter des problèmes de contenu, comme des éléments temporaires non résolus, avant qu’un voyage n’envoie le message.

Exemples de workflow

Cherchez un client par son nom et obtenez son profil complet

  1. Appelle find_customer, puis choisis le client correspondant et note son identifiant unifié.
  2. Appelez get_customer_details pour obtenir le profil, les segments, les mesures et la provenance des sources.

Enrichir un contact connu du Dataverse

  1. Appelez get_customer_by_contact pour résoudre l’identifiant de contact vers un identifiant client unifié.
  2. Appelez get_customer_predictions pour get_cluster_information obtenir les scores de churn, les scores de valeur à vie des clients et les membres de cluster.

Résoudre un enregistrement à partir d’un autre système source

  1. Appelez list_data_sources pour trouver le nom d’entité source valide.
  2. Appel get_customer_by_source_id pour résoudre l’enregistrement source vers un identifiant client unifié.
  3. Appelez get_customer_segments ou get_customer_measures pour obtenir le contexte segment et KPI.

Envoyer un message conforme

  1. Résoudez le client avec l’un des outils de résolution.
  2. Appelez check_consent pour confirmer que le contact est inscrit pour l’usage, le sujet, le canal et le point de contact que vous souhaitez utiliser.
  3. Appelez get_unsubscribe_link pour obtenir un lien d’opt-out personnalisé.
  4. Composez et envoyez le message avec le lien incorporé.

Construis et vérifie un parcours

  1. Appelez create_journey avec la charge utile du voyage.
  2. Faites validate_email appel aux emails utilisés par le parcours pour confirmer que le contenu se résout correctement.

Fonctionnement

Le serveur MCP Customer Insights repose sur le modèle d’API personnalisée Dataverse. Il utilise deux API personnalisées pour l’interaction des outils :

  • Lister les outils : Énumère tous les outils MCP enregistrés sur le serveur.
  • Outil d’appel : Exécute un outil MCP spécifique nommé, en passant les arguments en JSON.

La définition du serveur réside dans la solution de base (CxpClient), qui est livrée à toutes les organisations Dynamics 365. Des fournisseurs d’outils de Customer Insights - Data et Customer Insights - Journeys sont ajoutés comme extensions de solutions.

Vue d’ensemble de l’architecture

Le serveur suit une architecture en couches :

  1. Couche de protocole : les API personnalisées et les plug-ins Dataverse gèrent la conformité des protocoles MCP.
  2. Couche de registre : Découvre les fournisseurs d’outils disponibles à l’exécution via l’autodécouverte basée sur la réflexion.
  3. Couche d’outils : encapsulations MCP qui valident les entrées et délèguent aux services.
  4. Couche de service : Logique métier qui appelle les services Customer Insights sous-jacents.
  5. Couche de données : entités virtuelles Dataverse et stockage Dataverse.

Security

Le serveur MCP renforce la sécurité à plusieurs niveaux :

Couche Description
Sécurité du transport (mTLS) Authentification basée sur certificat de la couche de transport mutuelle entre le client et Dataverse
Privilèges d’API personnalisés La plateforme valide les privilèges utilisateur avant de permettre la découverte ou l’exécution d’outils
Autorisation au niveau de l’outil Chaque outil vérifie les privilèges spécifiques à chaque entité, tels que l’accès à la lecture aux fins du consentement
Sécurité au niveau des données La sécurité au niveau des lignes garantit que les utilisateurs n’accèdent qu’aux données qu’ils sont autorisés à voir

Note

L’autorisation est appliquée à l’intérieur de la logique de l’outil à l’aide du contexte utilisateur de l’appelant. Le serveur MCP n’escalade jamais implicitement les privilèges. Les outils servent de façades et ne font jamais rien au-delà de ce que l’utilisateur appelant est autorisé à faire.

Prerequisites

Avant d’utiliser ces outils, assurez-vous d’avoir :

  • Un environnement Dynamics 365 Customer Insights. Pour les outils de consentement, un environnement Dynamics 365 avec le Consentement Partagé déployé fonctionne également, par exemple, Dynamics 365 Sales avec le Consentement Partagé.
  • Accès aux tables Dataverse qui soutiennent les outils que vous prévoyez d’appeler.
  • Pour les outils de consentement, au moins un profil de conformité avec des objectifs et des sujets. Le profil de conformité par défaut inclut un objectif commercial avec application restrictive et un objectif transactionnel avec application non restrictive, vous pouvez donc commencer immédiatement sans configuration supplémentaire.
  • Le rôle de sécurité Dataverse offre les privilèges que les outils exigent pour l’identité de l’utilisateur ou de l’agent.

Limitations

Gardez ces limites à l’esprit :

  • Les outils de consentement couvrent les vérifications de consentement et la génération de liens de désinscription. La mise à jour du consentement, les opérations administratives telles que la création ou la suppression de buts et de sujets, et la récupération des métadonnées du modèle de consentement ne sont pas exposées via le MCP.
  • Performance : Les appels via MCP peuvent avoir une latence plus élevée que les appels de service direct lors de l’exécution du trajet. Prenez cela en compte lorsque vous concevez des scénarios à haut débit.
  • Serveur MCP unique : Un serveur couvre à la fois Customer Insights - Journeys et Customer Insights - Data, et tous les outils partagent la même définition de portée au niveau du serveur. Les contrôles d’autorisation au niveau de l’outil contrôlent l’accès à des outils individuels.

Étapes suivantes