MCP Server-verktøyreferanse for Customer Insights - Data

En MCP-server serverer både Customer Insights - Data og Customer Insights - Journeys, så en agent i begge appene kan kalle inn hvilket som helst av verktøyene som er listet her.

Customer Insights Model Context Protocol (MCP)-serveren eksponerer Dynamics 365 Customer Insights - Data og Customer Insights - Journeys-funksjoner som oppkallbare verktøy for AI-agenter og store språkmodeller (LLM)-kunder.

Det finnes en enkelt MCP-server for begge appene. I stedet for å kalle interne API-er direkte, jobber agentene dine gjennom ett sikkert grensesnitt som anvender de samme reglene som Customer Insights håndhever overalt ellers, inkludert samtykkeregler som håndheves under reiseutførelse.

Gjennom MCP kan en agent:

  • Oppdag datakildene som er hentet inn i Customer Insights
  • Løs en post fra et kildesystem til en samlet kundeprofil
  • Hent profilattributter, segmenter, mål, prediksjoner og klyngemedlemskap
  • Sjekk samtykke og lag samsvarende avmeldingslenker før du sender en melding
  • Lag reiser og godkjenn e-postinnhold

Verktøy i et blikk

Verktøy Visning tittel Hva det gjør Skrivebeskyttet
find_customer Finn kunden Søk etter enhetlige kundeprofiler etter fornavn eller etternavn Ja
get_customer_by_source_id Løs kunde etter kilde-ID Løser en samlet kunde-ID fra en kildesystem-post-ID Ja
get_customer_by_contact Løs kunde via kontakt Løser en samlet kunde-ID fra en Dataverse-kontakt-GUID Ja
get_customer_details Få kundedetaljer Returnerer hele Customer 360-visningen for én kunde Ja
get_customer_segments Få kundesegmenter Lister opp segmentene en kunde tilhører Ja
get_customer_measures Få kundemålinger Avkastning beregnet på mål og KPI-er Ja
get_customer_predictions Få kundeprediksjoner Returnerer maskinlæringsprediksjoner som churn-sannsynlighet Ja
get_cluster_information Få klyngeinformasjon Returnerer klyngemedlemskap, som husholdning, og andre medlemmer Ja
list_data_sources Liste datakilder Lister innhentede datakilder og deres antall poster Ja
check_consent Sjekk samtykke Sjekker samtykke for kontaktpunkt, kanal, formål og tema Ja
get_unsubscribe_link Få avmeldingslenke Genererer en kompatibel avmeldingslenke for en mottaker Ja
create_journey Create Journey Validerer, beriker og skaper en reise Nei
validate_email Valider e-post Validerer en eksisterende e-post uten å endre den Ja

create_journey er det eneste verktøyet som skriver data. Den er ikke skrivebeskyttet, destruktiv eller idempotent, så å ringe den to ganger skaper to reiser. Alle andre verktøy leser bare.

Hvordan verktøyene passer sammen

De fleste arbeidsflyter følger et totrinnsmønster: løs en samlet kunde-ID, og bruk deretter denne ID-en til å hente kundedata.

Trinn 1: Løs en samlet kunde-ID

Velg verktøyet som matcher det du allerede vet om kunden:

  • find_customer Når du har et navn på en person
  • get_customer_by_contact når du har et Dataverse, kontakt GUID
  • get_customer_by_source_id når du har en post-ID fra et innhentet kildesystem, som et lojalitets- eller ERP-system

Hvis du ikke vet hvilke kildenavn som er gyldige, ring list_data_sources først.

Trinn 2: Hent kundedata

Etter at du har løst ID-en, ring et av disse verktøyene:

  • get_customer_details for fullstendig profil og dataproveniens
  • get_customer_segments For segmentmedlemskap
  • get_customer_measures for KPI- og målverdier
  • get_customer_predictions for AI- og maskinlæringspoeng
  • get_cluster_information for klyngemedlemskap

Kundeprofilverktøy

Disse verktøyene leser fra Dataverse-virtuelle enheter, som reflekterer live, enhetlige kundedata.

Finn kunden

find_customer

Søk samler kundeprofiler etter fornavn eller etternavn og returnerer kunder som matcher kunde-ID-er, navn og e-postadresser. Bruk dette verktøyet først når brukeren gir deg en persons navn, men ikke deres unike kunde-ID.

  • Atferd: Hvis du ikke oppgir et navn, lister verktøyet profiler i stedet for å søke.
  • Søk: Bruk top for å kontrollere sidestørrelsen. Svaret inkluderer hasMore slik at du kan se om det finnes flere resultater utover den nåværende siden.

Løs kunde etter kilde-ID

get_customer_by_source_id

Løser en samlet kunde-ID fra en postidentifikator i et innhentet kildesystem. Bruk den når du har en ID fra en kilde som et lojalitets- eller ERP-system og trenger den matchende Customer Insights-profilen.

Kall list_data_sources først for å finne gyldige kilde-entitetsnavn, som contact, lead, eller en egendefinert tabell.

Løs kunde via kontakt

get_customer_by_contact

Løser en samlet kunde-ID fra en Dataverse-kontakt-GUID. Bruk det når en arbeidsflyt starter med en kontaktpost og trenger den tilhørende Customer Insights-profilen.

Dette verktøyet er en snarvei for get_customer_by_source_id med kildeenheten satt til contact.

Få kundedetaljer

get_customer_details

Returnerer en komplett Customer 360-visning for én samlet kunde. Resultatet inkluderer:

  • Kjerneprofilattributter, som navn, e-post og adresse, med systemkolonner utelukket
  • Segmentmedlemskap
  • Kundemålinger
  • Klynger
  • Prediksjoner
  • Kildeopptegnelser som viser opprinnelse av datasamling

Hver kildepost inkluderer ikke-systemattributtene fra kildeenheten, hvordan disse attributtene mappes til enhetlige profilattributter, og et flagg som identifiserer hvilken kilde som bidro med vinnerverdien for hvert enhetlig felt.

Bruk dette verktøyet etter at du har løst en kunde-ID og du vil ha hele bildet i én samtale.

Få kundesegmenter

get_customer_segments

Lister segmentene eller målgruppene en samlet kunde tilhører. Hvert resultat inkluderer segmentnavn, visningsnavn og segment-ID.

Få kundemålinger

get_customer_measures

Returns beregnet kundemål og KPI-er, som livstidsverdi, ordretall og engasjementsscore. Verktøyet kombinerer målinger lagret i de støttede Customer Insights-dataoppsettene til ett enkelt resultat.

Bruk det til å hente aggregerte verdier som totale kjøp, gjennomsnittlig ordreverdi eller tilpassede forretningsmålinger.

Få kundeprediksjoner

get_customer_predictions

Returnerer maskinlæringsprediksjoner for en samlet kunde, som churn-sannsynlighet, predikert livstidsverdi, sannsynlighetspoeng og forslag til neste beste produkt. Hvert resultat inkluderer modellen og leverandøren det kom fra.

Få klyngeinformasjon

get_cluster_information

Returnerer klyngene en kunde tilhører, sammen med de andre medlemmene i hver klynge og deres affinitetsscorer. Klyngetyper oppdages dynamisk gjennom Customer Insights-modellens metadata.

En klynge er en regel etter sammenslåing som grupperer enhetlige profiler som oppfyller et sett med betingelser. En husholdning, for eksempel, er en vanlig gruppe mennesker som deler etternavn og adresse.

Liste datakilder

list_data_sources

Lister opp datakildene som er hentet inn i Customer Insights. For hver kilde rapporterer verktøyet kildeenheten, antall poster og om kolonner fra den kilden vises i den enhetlige profilen. Den flagger også kilder hvis felt ikke ble løst til profilkolonner, noe som er nyttig når du feilsøker unification.

Ingen innspill er nødvendig. Bruk dette verktøyet for å finne gyldige kildeenheter før du kaller get_customer_by_source_id.

Disse verktøyene delegerer til samme backend-samtykketjeneste som Customer Insights - Journeys bruker under reiseutførelse, slik at agentens beslutning alltid samsvarer med hva en reise ville gjort. Samtykketjenesten kan kjøres uavhengig av en full Customer Insights-installasjon, så disse verktøyene er tilgjengelige selv i miljøer hvor kun Dynamics 365 Sales eller Contact Center er distribuert.

check_consent

Sjekker samtykkestatus for kontaktpunkt, kommunikasjonskanal, formål og tema. Ring det før du anbefaler eller sender en melding, for å bekrefte at mottakeren er kvalifisert. Verktøyet kaller Dataverse-brukergrensesnittet msdynmkt_checkconsent og returnerer samtykketjenestens avgjørelse, inkludert grunnen til at en melding vil bli blokkert.

Vanlig brukstilfelle

En agent som forbereder seg på å sende en kommersiell melding ringer check_consent for å verifisere at mottakeren har valgt å bruke relevant formål og kanal.

Eksempel

Kontroller samtykke for kontaktpunkt +111111111, samsvarsprofil 7f4a6355-1811-4cde-bde3-fee8c85f56b1, formål Commercial (10000000-0000-0000-0000-000000000003), kanaltype SMS, forretningsenhet c507f51d-8f0c-ee11-8f6e-6045bd6ef763og emne Commercial Topic 001 (23db4a4d-ba9f-f011-bbd3-6045bd194648).

Resultat:

Parameteren Verdi
Kontaktpunkt +111111111
Kanaltype SMS
Samsvarsprofil-ID 7f4a6355-1811-4cde-bde3-fee8c85f56b1
Formål Kommersiell (ID: 10000000-0000-0000-0000-0000000003)
Emne Kommersielt emne 001 (ID: 23db4a4d-ba9f-f011-bbd3-6045bd194648)
Forretningsenhet c507f51d-8f0c-ee11-8f6e-6045bd6ef763
Samtykke ✅ Gitt

Kontaktpunktet har det frivillige samtykket som kreves både for kommersielt formål og kommersielt tema 001 , så SMS-meldinger til dette kontaktpunktet er tillatt under gjeldende overholdelsesinnstillinger.

get_unsubscribe_link

Genererer en kompatibel avmeldingslenke for mottaker og meldingskontekst. Forespørselen identifiserer mottaker, formål, samsvarsinnstillinger, meldingsmal og kontaktpunkt. Verktøyet kaller Dataverse custom msdynmkt_getunsubscribelink API.

Hver lenke er unik for kontaktpunktet og meldingskonteksten, så du får full sporbarhet og reviderbarhet.

Når en mottaker velger lenken, åpnes preferansesentersiden som er knyttet til compliance-profilen. Preferansesenteret lar mottakere administrere sine kommunikasjonspreferanser, for eksempel å velge bort spesifikke formål eller temaer, oppdatere kontaktpunkter eller melde seg ut av alt. Det gir kundene reell kontroll i stedet for et alt-eller-ingenting-opt-out.

Du kan tilpasse utseendet og funksjonaliteten til innstillingssenteret slik at det samsvarer med merkevaren din, inkludert oppdatering av tekst, legge til formål og emner, style siden med egendefinert CSS og legge til egendefinert JavaScript. Lær mer i Create-merkede, tilpassede preferansesentre for merkevarer.

Vanlig brukstilfelle

En kontaktagent genererer en melding og ringer get_unsubscribe_link for å legge inn en ett-klikk opt-out-lenke i meldingsdelen.

Eksempel

Generer en kobling for å stoppe abonnementet for kontaktpunkt +111111111, enhetstype Contact (f56302b0-875e-f111-a826-7ced8d6d1623), meldingsmal 226abb7d-855e-f111-a826-7ced8d6d1e7c, samsvarsprofil 7f4a6355-1811-4cde-bde3-fee8c85f56b1, formål 10000000-0000-0000-0000-000000000003, emne 23db4a4d-ba9f-f011-bbd3-6045bd194648og forretningsenhet c507f51d-8f0c-ee11-8f6e-6045bd6ef763.

Resultat:

Parameteren Verdi
Kontaktpunkt +111111111
Enhetstype Kontakt
Entitets-ID f56302b0-875e-f111-a826-7ced8d6d1623
Meldingsmal-ID 226abb7d-855e-f111-a826-7ced8d6d1e7c
Samsvarsprofil-ID 7f4a6355-1811-4cde-bde3-fee8c85f56b1
Formåls-ID 10000000-0000-0000-0000-000000000003
Emne-ID 23db4a4d-ba9f-f011-bbd3-6045bd194648
ID for forretningsenhet c507f51d-8f0c-ee11-8f6e-6045bd6ef763

Generert kobling for å stoppe abonnementet:

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

Reise- og e-postverktøy

Create Journey

create_journey

Validerer en komplett reise-JSON-nyttelast, beriker den, validerer den berikede nyttelasten på nytt, og oppretter deretter reiseposten Customer Insights - Journeys. Svaret inkluderer den opprettede reise-ID-en og valideringsresultatet.

Viktig!

create_journey er det eneste verktøyet i Customer Insights MCP Server som lager data. Den er ikke idempotent, så å prøve et mislykket anrop på nytt kan skape en dobbel reise. Få agenten din til å bekrefte utfallet før den prøver på nytt.

Valider e-post

validate_email

Validerer en eksisterende Customer Insights - Journeys-e-post uten å endre den. Forespørselen inneholder e-postmeldings-ID, innholdsdeler, plassholdere og valideringskontekst. Svaret inkluderer valideringsfunn på meldingsnivå og plassholdernivå.

Bruk det til å fange opp innholdsproblemer, som uløste plassholdere, før en reise sender meldingen.

Eksempler på arbeidsflyter

Søk opp en kunde ved navn og få hele profilen deres

  1. Ring find_customer, velg deretter den matchende kunden og noter deres enhetlige ID.
  2. Ring get_customer_details for å få profil, segmenter, mål og kildens opprinnelse.

Berik en kjent Dataverse-kontakt

  1. Ring get_customer_by_contact for å løse kontakt-ID-en til en samlet kunde-ID.
  2. Ring get_customer_predictions for get_cluster_information å få churn scores, kundens livstidsverdi og klyngemedlemskap.

Løs en post fra et annet kildesystem

  1. Ring list_data_sources for å finne det gyldige kildeenhetens navn.
  2. Ring get_customer_by_source_id for å løse kildeposten til en samlet kunde-ID.
  3. Ring get_customer_segments eller get_customer_measures for kontekst for segmenter og KPI.

Send en samsvarende melding

  1. Løs kunden med et av løsningsverktøyene.
  2. Ring check_consent for å bekrefte at kontakten er registrert for formålet, temaet, kanalen og kontaktpunktet du har tenkt å bruke.
  3. Ring get_unsubscribe_link for å få en personlig opt-out-kobling.
  4. Skriv og send meldingen med den innebygde koblingen.

Bygg og sjekk en reise

  1. Ring create_journey med reiselasten.
  2. Ring validate_email på e-postene reisen bruker for å bekrefte at innholdet løses riktig.

Slik fungerer det

Customer Insights MCP Server er bygget på det egendefinerte API-mønsteret for Dataverse. Den bruker to egendefinerte API-er for verktøysamhandling:

  • Liste verktøy: Lister opp alle MCP-verktøy registrert på serveren.
  • Kallverktøy: Kjører et spesifikt MCP-verktøy ved navn, og sender argumentene som JSON.

Serverdefinisjonen ligger i basisløsningen (CxpClient), som sendes til alle Dynamics 365-organisasjoner. Verktøyleverandører fra Customer Insights - Data og Customer Insights - Journeys legges til som løsningsutvidelser.

Oversikt over arkitektur

Serveren følger en lagdelt arkitektur:

  1. Protokolllag: Egendefinerte API-er og dataverse plugin-moduler håndterer samsvar med MCP-protokollen.
  2. Registerlag: Oppdager tilgjengelige verktøyleverandører under kjøring gjennom refleksjonsbasert autodiscovery.
  3. Verktøylag: MCP-pakkere som validerer inndata og delegerer til tjenester.
  4. Tjenestelag: Forretningslogikk som kaller de underliggende Customer Insights-tjenestene.
  5. Datalag: Dataverse-virtuelle enheter og Dataverse-lagring.

Security

MCP-serveren håndhever sikkerhet på flere lag:

Lag Beskrivelse
Transportsikkerhet (mTLS) Mutual Transport Layer sikkerhetssertifikatbasert autentisering mellom klienten og Dataverse
Egendefinerte API-rettigheter Plattformen validerer brukerrettigheter før den tillater oppdagelse eller kjøring av verktøy
Autorisasjon på verktøynivå Hvert verktøy sjekker enhetsspesifikke privilegier, som lesetilgang til samtykkeformål
Sikkerhet på datanivå Sikkerhet på radnivå sørger for at brukere kun når data de har tillatelse til å se

Note

Autorisasjon håndheves i verktøylogikken ved hjelp av innringerens brukerkontekst. MCP-serveren eskalerer aldri privilegier implisitt. Verktøy fungerer som fasader og gjør aldri noe utover det den tilkallende brukeren har lov til.

Forutsetninger

Før du bruker verktøyene, sørg for at du har:

  • Et Dynamics 365 Customer Insights-miljø. For samtykkeverktøyene fungerer også et Dynamics 365-miljø med distribuert delt samtykke, for eksempel Dynamics 365 Sales med delt samtykke.
  • Tilgang til Dataverse-tabellene som støtter verktøyene du planlegger å kalle.
  • For samtykkeverktøyene, minst én overholdelsesprofil med formål og temaer. Standard overholdelsesprofil inkluderer et kommersielt formål med restriktiv håndhevelse og et transaksjonsformål med ikke-restriktiv håndheving, slik at du kan starte med en gang uten ekstra konfigurasjon.
  • Dataverse-sikkerhetsrolle-privilegiene som verktøyene krever for bruker- eller agentidentitet.

Begrensninger

Husk disse begrensningene:

  • Samtykkeverktøyene dekker samtykkekontroller og stopper abonnementskoblingsgenerering. Oppdatering av samtykke, administrative operasjoner som å opprette eller slette formål og emner, samt henting av metadata fra samtykkemodellen, blir ikke eksponert gjennom MCP.
  • Ytelse: Samtaler gjennom MCP kan ha høyere ventetid enn direkte tjenesteanrop under reiseutførelse. Ta dette med i betraktningen når du designer scenarioer med høy gjennomstrømning.
  • Enkelt MCP-server: Én server dekker både Customer Insights - Journeys og Customer Insights - Data, og alle verktøy deler samme servernivådefinisjon av omfang. Godkjenning på verktøynivå styrer tilgangen til individuelle verktøy.

Neste trinn