MCP Server-værktøjsreference til Customer Insights - Data

En MCP-server leverer både Customer Insights - Data og Customer Insights - Journeys, så en agent i begge apps kan kalde et hvilket som helst af de værktøjer, der er listet her.

Customer Insights Model Context Protocol (MCP) Serveren eksponerer Dynamics 365 Customer Insights - Data og Customer Insights - Journeys-funktioner som kaldbare værktøjer til AI-agenter og store sprogmodeller (LLM)-kunder.

Der er en enkelt MCP-server til begge apps. I stedet for at kalde interne API'er direkte, arbejder dine agenter gennem ét sikkert interface, der anvender de samme regler, som Customer Insights håndhæver overalt ellers, inklusive samtykkeregler, der håndhæves under rejseudførelsen.

Gennem MCP kan en agent:

  • Opdag de datakilder, der indgår i Customer Insights
  • Opløs en post fra et kildesystem til en samlet kundeprofil
  • Hent profilattributter, segmenter, målinger, forudsigelser og klyngemedlemskab
  • Tjek samtykke og generer kompatible afmeldelinks før du sender en besked
  • Skab rejser og valider e-mailindhold

Værktøjer ved et hurtigt blik

Værktøj Visningstitel Hvad den gør Skrivebeskyttet
find_customer Find en kunde Søgninger i ensartede kundeprofiler efter for- eller efternavn Ja
get_customer_by_source_id Løs kunde efter kilde-id Løser et samlet kunde-ID ud fra et kildesystem-post-ID Ja
get_customer_by_contact Løs Kunde Via Kontakt Løser et samlet kunde-ID fra en Dataverse-kontakt-GUID Ja
get_customer_details Få kundeoplysninger Returnerer hele Customer 360-visningen for én kunde Ja
get_customer_segments Få kundesegmenter Lister de segmenter, en kunde tilhører Ja
get_customer_measures Få kundemålinger Afkast beregnede mål og KPI'er Ja
get_customer_predictions Få kundeprognoser Returnerer maskinlæringsforudsigelser såsom churn-sandsynlighed Ja
get_cluster_information Få klyngeinformation Returnerer klyngemedlemskab, såsom husstand, og andre medlemmer Ja
list_data_sources Liste datakilder Lister indsamlede datakilder og deres antal poster Ja
check_consent Tjek samtykke Tjekker samtykke for kontaktpunkt, kanal, formål og emne Ja
get_unsubscribe_link Få afmeld Link Genererer et kompatibelt afmeldelink for en modtager Ja
create_journey Skab Rejse Validerer, beriger og skaber en rejse Nej
validate_email Bekræft e-mail Validerer en eksisterende e-mail uden at ændre den Ja

create_journey er det eneste værktøj, der skriver data. Den er ikke skrivebeskyttet, destruktiv eller idempotent, så at kalde den to gange skaber to rejser. Alle andre værktøjer læser kun.

Hvordan værktøjerne passer sammen

De fleste arbejdsgange følger et totrinsmønster: løs et samlet kunde-ID, og brug derefter dette ID til at hente kundedata.

Trin 1: Løs et samlet kunde-ID

Vælg det værktøj, der matcher det, du allerede ved om kunden:

  • find_customer Når du har et personnavn
  • get_customer_by_contact når du har et Dataverse, kontakt GUID
  • get_customer_by_source_id når du har et record ID fra et indtaget kildesystem, såsom et loyalitets- eller ERP-system

Hvis du ikke ved, hvilke kildeenhedsnavne der er gyldige, så ring list_data_sources først.

Trin 2: Hent kundedata

Når du har løst ID'en, skal du ringe til et af disse værktøjer:

  • get_customer_details for den komplette profil og dataproveniens
  • get_customer_segments For segmentmedlemskaber
  • get_customer_measures for KPI og måleværdier
  • get_customer_predictions for AI- og maskinlæringsresultater
  • get_cluster_information for klyngemedlemskab

Kundeprofilværktøjer

Disse værktøjer læser fra Dataverse virtuelle enheder, som afspejler live, samlede kundedata.

Find en kunde

find_customer

Søgninger samler kundeprofiler efter for- eller efternavn og returnerer kunders ID'er, navne og e-mailadresser. Brug dette værktøj først, når brugeren giver dig en persons navn, men ikke deres samlede kunde-ID.

  • Adfærd: Hvis du ikke oplyser et navn, viser værktøjet profiler i stedet for at søge.
  • Paging: Brug top til at styre sidestørrelsen. Svaret inkluderer hasMore det, så du kan se, om der findes flere resultater ud over den nuværende side.

Løs kunde efter kilde-id

get_customer_by_source_id

Løser et samlet kunde-ID ud fra en postidentifikator i et indtaget kildesystem. Brug det, når du har et ID fra en kilde som et loyalitets- eller ERP-system og har brug for den matchende Customer Insights-profil.

Kald list_data_sources først for at finde gyldige kildeentitetsnavne, såsom contact, lead, eller en brugerdefineret tabel.

Løs Kunde Via Kontakt

get_customer_by_contact

Løser et samlet kunde-ID fra en Dataverse-kontakt-GUID. Brug den, når en arbejdsgang starter med en kontaktpost og har brug for den tilknyttede Customer Insights-profil.

Dette værktøj er en genvej til get_customer_by_source_id med kildeentiteten sat til .contact

Få kundeoplysninger

get_customer_details

Returnerer et komplet Customer 360-view for én samlet kunde. Resultatet omfatter:

  • Kerneprofilattributter, såsom navn, e-mail og adresse, med systemkolonner udelukket
  • Segmentmedlemskaber
  • Kundemålinger
  • Klynger
  • Forudsigelser
  • Kildeposter , der viser oprindelsen af dataunifikation

Hver kildepost indeholder ikke-systemattributter fra kildeenheden, hvordan disse attributter mappes til unified profilattributter, og et flag, der identificerer, hvilken kilde der bidrog med den vindende værdi for hvert samlet felt.

Brug dette værktøj, efter du har løst et kunde-ID, og du vil have det fulde billede i ét opkald.

Få kundesegmenter

get_customer_segments

Lister de segmenter eller målgrupper, som en samlet kunde tilhører. Hvert resultat indeholder segmentnavn, displaynavn og segment-ID.

Få kundemålinger

get_customer_measures

Returneringer beregnede kundemålinger og KPI'er, såsom livstidsværdi, ordreantal og engagementsscore. Værktøjet kombinerer målinger, der er gemt i de understøttede Customer Insights-datalayouts, til ét resultat.

Brug den til at hente aggregerede værdier som samlede køb, gennemsnitlig ordreværdi eller tilpassede forretningsmålinger.

Få kundeprognoser

get_customer_predictions

Returnerer maskinlæringsforudsigelser for en samlet kunde, såsom churn sandsynlighed, forudsagt livstidsværdi, tilbøjelighedsscorer og næstbedste produktforslag. Hvert resultat inkluderer modellen og leverandøren, det kom fra.

Få klyngeinformation

get_cluster_information

Returnerer de klynger, en kunde tilhører, sammen med de andre medlemmer af hver klynge og deres affinitetsscorer. Klyngetyper opdages dynamisk fra Customer Insights-modellens metadata.

En klynge er en regel efter foreningen, der grupperer samlede profiler, der opfylder et sæt betingelser. En husstand, for eksempel, er en almindelig gruppe af mennesker, der deler efternavn og adresse.

Liste datakilder

list_data_sources

Lister de datakilder, der er indsamlet i Customer Insights. For hver kilde rapporterer værktøjet kildeenheden, postantallet og om kolonner fra den kilde vises i den samlede profil. Det markerer også kilder, hvis felter ikke blev opløst til profilkolonner, hvilket er nyttigt, når du fejlsøger unifikation.

Ingen input er nødvendig. Brug dette værktøj til at finde gyldige kildeentitetsnavne, før du kalder get_customer_by_source_id.

Disse værktøjer delegerer til den samme backend-samtykketjeneste, som Customer Insights - Journeys bruger under rejseudførelse, så en agents beslutning altid matcher, hvad en rejse ville gøre. Samtykketjenesten kan køre uafhængigt af en fuld Customer Insights-installation, så disse værktøjer er tilgængelige selv i miljøer, hvor kun Dynamics 365 Sales eller Contact Center er implementeret.

check_consent

Tjekker samtykkestatus for kontaktpunkt, kommunikationskanal, formål og emne. Ring til det, før du anbefaler eller sender en meddelelse, for at bekræfte, at modtageren er berettiget. Værktøjet kalder Dataverse msdynmkt_checkconsent custom API og returnerer samtykketjenestens beslutning, inklusive årsagen til, at en besked ville blive blokeret.

Typisk anvendelsestilfælde

En agent, der forbereder sig på at sende en kommerciel besked, ringer check_consent for at bekræfte, at modtageren har valgt det relevante formål og kanal.

Eksempel

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

Resultat:

Parameter Værdi
Kontaktpunkt +111111111
Kanaltype sms
Profil-id for overholdelse 7f4a6355-1811-4cde-bde3-fee8c85f56b1
Formål Kommerciel (id: 10000000-0000-0000-0000-0000-0000003)
Emne Kommercielt emne 001 (id: 23db4a4d-ba9f-f011-bbd3-6045bd194648)
Forretningsenhed c507f51d-8f0c-ee11-8f6e-6045bd6ef763
Samtykke ✅ Godkendt

Kontaktpunktet har det samtykke, der kræves både for det kommercielle formål og det kommercielle emne 001 , så SMS-beskeder til dette kontaktpunkt er tilladt under de nuværende overholdelsesindstillinger.

get_unsubscribe_link

Genererer et kompatibelt afmeldelink for modtageren og beskedens kontekst. Anmodningen identificerer modtagerenheden, formålet, compliance-indstillinger, beskedskabelon og kontaktpunkt. Værktøjet kalder Dataverse custom msdynmkt_getunsubscribelink API.

Hvert link er unikt for kontaktpunktet og beskedens kontekst, så du får fuld sporbarhed og auditbarhed.

Når en modtager vælger linket, åbner den præferencecentersiden, der er tilknyttet compliance-profilen. Præferencecentret lader modtagerne administrere deres kommunikationspræferencer, for eksempel fravælge specifikke formål eller emner, opdatere kontaktpunkter eller afmelde sig fra alt. Det giver kunderne reel kontrol i stedet for et alt-eller-intet opt-out.

Du kan tilpasse udseendet af præferencecenteret, så det passer til dit brand, herunder opdatering af tekst, tilføjelse af formål og emner, formatering af siden med brugerdefineret CSS og tilføjelse af brugerdefineret JavaScript. Lær mere i Create brandede, tilpassede præferencecentre.

Typisk anvendelsestilfælde

En outreach-agent genererer en besked og ringer get_unsubscribe_link for at indlejre et ét-klik opt-out-link i beskedens indhold.

Eksempel

Generér et link til opsigelse af abonnement for kontaktpunkt +111111111, objekttype Contact (f56302b0-875e-f111-a826-7ced8d6d1623), meddelelsesskabelon 226abb7d-855e-f111-a826-7ced8d6d1e7c, overholdelsesprofil 7f4a6355-1811-4cde-bde3-fee8c85f56b1, formål 10000000-0000-0000-0000-000000000003, emne 23db4a4d-ba9f-f011-bbd3-6045bd194648og forretningsenhed c507f51d-8f0c-ee11-8f6e-6045bd6ef763.

Resultat:

Parameter Værdi
Kontaktpunkt +111111111
Entitetstype Kontaktperson
Entitets-id f56302b0-875e-f111-a826-7ced8d6d1623
Id for meddelelsesskabelon 226abb7d-855e-f111-a826-7ced8d6d1e7c
Profil-id for overholdelse 7f4a6355-1811-4cde-bde3-fee8c85f56b1
Formåls-id 10000000-0000-0000-0000-000000000003
Emne-id 23db4a4d-ba9f-f011-bbd3-6045bd194648
Afdelings-id c507f51d-8f0c-ee11-8f6e-6045bd6ef763

Genereret link til opsigelse af abonnement:

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

Rejse og e-mailværktøjer

Skab Rejse

create_journey

Validerer en komplet rejse JSON-payload, beriger den, validerer den berigede payload igen og opretter derefter Customer Insights - Journeys rejseposten. Svaret inkluderer det oprettede rejse-ID og valideringsresultatet.

Vigtigt!

create_journey er det eneste værktøj i Customer Insights MCP Server, der skaber data. Det er ikke idempotent, så at prøve et mislykket opkald igen kan skabe en dobbelt rejse. Få din agent til at bekræfte resultatet, før den prøver igen.

Bekræft e-mail

validate_email

Validerer en eksisterende Customer Insights - Journeys-e-mail uden at ændre den. Anmodningen indeholder e-mailbeskedens ID, indholdsdele, pladsholdere og valideringskontekst. Svaret indeholder valideringsresultater på beskedniveau og pladsholderniveau.

Brug det til at fange indholdsproblemer, såsom uløste pladsholdere, før en rejse sender beskeden.

Eksempler på arbejdsgange

Slå en kunde op ved navn og få deres fulde profil

  1. Ring find_customer, vælg derefter den matchende kunde og noter deres samlede ID.
  2. Ring get_customer_details for at få profil, segmenter, mål og kildens oprindelse.

Berig en kendt Dataverse-kontakt

  1. Ring get_customer_by_contact for at omstille kontakt-ID'et til et samlet kunde-ID.
  2. Ring get_customer_predictions og get_cluster_information få churn scores, kundelivstidsværdi-scores og klyngemedlemskab.

Løs en post fra et andet kildesystem

  1. Kald list_data_sources for at finde det gyldige kilde-entitetsnavn.
  2. Ring get_customer_by_source_id for at løse kildeposten til et samlet kunde-ID.
  3. Ring get_customer_segments eller get_customer_measures for kontekst af segmenter og KPI.

Send en overensstemmende besked

  1. Løs kunden med et af løsningsværktøjerne.
  2. Ring check_consent for at bekræfte, at kontakten er tilmeldt til det formål, emne, kanal og kontaktpunkt, du har tænkt dig at bruge.
  3. Ring get_unsubscribe_link for at få et personligt fravalgslink.
  4. Skriv og send meddelelsen med linket integreret.

Byg og tjek en rejse

  1. Ring create_journey med rejselasten.
  2. Ring validate_email på de e-mails, som rejsen bruger, for at bekræfte, at indholdet bliver korrekt løst.

Sådan fungerer det

Customer Insights MCP Server er baseret på det brugerdefinerede API-mønster dataverse. Den bruger to brugerdefinerede API'er til værktøjsinteraktion:

  • Liste værktøjer: Opregner alle MCP-værktøjer, der er registreret på serveren.
  • Kaldsværktøj: Kører et specifikt MCP-værktøj ved navn og sender argumenterne som JSON.

Serverdefinitionen ligger i basisløsningen (CxpClient), som sendes til alle Dynamics 365-organisationer. Værktøjsudbydere fra Customer Insights - Data og Customer Insights - Journeys tilføjes som løsningsudvidelser.

Oversigt over arkitektur

Serveren følger en lagdelt arkitektur:

  1. Protokollag: Brugerdefinerede API'er og Dataverse-plug-ins håndterer MCP-protokoloverholdelse.
  2. Registreringslag: Opdager tilgængelige værktøjsudbydere under kørsel via refleksionsbaseret autodiscovery.
  3. Værktøjslag: MCP-ombrydere, der validerer input og uddelegerer til tjenester.
  4. Servicelag: Forretningslogik, der kalder de underliggende Customer Insights-tjenester.
  5. Datalag: Dataverse virtuelle enheder og Dataverse-lagring.

Sikkerhed

MCP-serveren håndhæver sikkerhed på flere lag:

Lag Beskrivelse
Transportsikkerhed (mTLS) Mutual Transport Layer sikkerhedscertifikatbaseret autentificering mellem klienten og Dataverse
Brugerdefinerede API-rettigheder Platformen validerer brugerrettigheder, før den tillader værktøjsopdagelse eller -udførelse
Godkendelse på værktøjsniveau Hvert værktøj tjekker enhedsspecifikke privilegier, såsom læseadgang til samtykkeformål
Sikkerhed på dataniveau Sikkerheden på rækkeniveau sikrer, at brugerne kun får adgang til data, de har tilladelse til at se

Note

Autorisation gennemtvinges i værktøjslogikken ved hjælp af brugerkonteksten for kalderen. MCP-serveren eskalerer aldrig privilegier implicit. Værktøjer fungerer som facader og gør aldrig andet end det, den kaldende bruger har tilladelse til.

Forudsætninger

Før du bruger værktøjerne, skal du sikre dig, at du har:

  • Et Dynamics 365 Customer Insights-miljø. For samtykkeværktøjerne fungerer et Dynamics 365-miljø med delt samtykke implementeret, for eksempel Dynamics 365 Sales med delt samtykke.
  • Adgang til Dataverse-tabellerne, der understøtter de værktøjer, du planlægger at kalde.
  • For samtykkeværktøjerne bør du mindst have én overholdelsesprofil med formål og emner. Standardprofilen for overholdelse inkluderer et kommercielt formål med restriktiv håndhævelse og et transaktionsformål med ikke-restriktiv håndhævelse, så du kan starte med det samme uden ekstra konfiguration.
  • Dataverse-sikkerhedsrollerettighederne, som værktøjerne kræver for bruger- eller agentidentiteten.

Begrænsninger

Vær opmærksom på disse begrænsninger:

  • Samtykkeværktøjerne dækker kontrol af samtykke og oprettelse af link til opsigelse af abonnement. Opdatering af samtykke, administrative operationer som oprettelse eller sletning af formål og emner samt indsamling af samtykkemodelmetadata er ikke eksponeret gennem MCP.
  • Ydelse: Opkald gennem MCP kan have højere latenstid end direkte serviceopkald under rejseudførelse. Tag dette med i betragtning, når du designer scenarier med høj gennemstrømning.
  • Enkelt MCP-server: Én server dækker både Customer Insights - Journeys og Customer Insights - Data, og alle værktøjer deler samme serverniveau-definition. Godkendelse på værktøjsniveau styrer adgangen til individuelle værktøjer.

Næste trin