MCP Server-verktygsreferens för Customer Insights – Data

En MCP-server serverar både Customer Insights – Data och Customer Insights - Journeys, men varje verktyg fungerar med en specifik app. Med Customer Insights – Data kan du använda kundprofilverktygen. Rese- och e-postverktygen behöver Customer Insights - Journeys, och samtyckesverktygen behöver Customer Insights - Journeys eller Shared Consent.

Customer Insights Model Context Protocol (MCP)-servern erbjuder Dynamics 365 Customer Insights – Data och Customer Insights - Journeys-funktioner som kallbara verktyg för AI-agenter och stora språkmodeller (LLM)-kunder.

Det finns en enda MCP-server för båda apparna. Istället för att anropa interna API:er direkt arbetar dina agenter via ett säkert gränssnitt som tillämpar samma regler som Customer Insights upprätthåller överallt annars, inklusive samtyckesregler som tillämpas under resans genomförande.

Servern är delad, men varje verktyg arbetar med data från en specifik app. Genom MCP kan en agent:

  • Med Customer Insights – Data: upptäck inhämtade datakällor, lös en källpost till en enhetlig kundprofil och hämta profilattribut, segmentmedlemskap, mått, prognoser och klustermedlemskap
  • Med Customer Insights - Journeys eller Shared Consent: kontrollera samtycke och skapa avregistreringslänkar som följer reglerna innan du skickar ett meddelande
  • Med Customer Insights - Journeys: skapa resor och validera e-postinnehåll

Verktyg i en snabb översikt

Kolumnen Kräver visar vad varje verktyg fungerar med. Ett verktyg läser inte data från den andra appen, så ett verktyg som kräver Customer Insights – Data returnerar inte Customer Insights - Journeys-data.

Tool Visningsrubrik Vad det gör Requires Read-only
find_customer Hitta kund Sökningar i enhetliga kundprofiler efter för- eller efternamn Kundinsikter – Data Yes
get_customer_by_source_id Lös kund via käll-ID Löser ett enhetligt kund-ID från ett källsystempost-ID Kundinsikter – Data Yes
get_customer_by_contact Lös kund via kontakt Löser ett enhetligt kund-ID från en Dataverse-kontakt-GUID Kundinsikter – Data Yes
get_customer_details Få kunduppgifter Returnerar hela Customer 360-vyn för en kund Kundinsikter – Data Yes
get_customer_segments Få kundsegment Listar de segment som en kund tillhör i Customer Insights – Data Kundinsikter – Data Yes
get_customer_measures Få kundmått Avkastningsberäknade mått och KPI:er Kundinsikter – Data Yes
get_customer_predictions Få kundprognoser Returnerar maskininlärningsprognoser såsom churn-sannolikhet Kundinsikter – Data Yes
get_cluster_information Få klusterinformation Återvänder klustermedlemskap, såsom ett hushåll, och andra medlemmar Kundinsikter – Data Yes
list_data_sources Lista datakällor Listar inhämtade datakällor och deras postantal Kundinsikter – Data Yes
check_consent Kontrollera samtycke Kontrollerar samtycke för kontaktpunkt, kanal, syfte och ämne Customer Insights - Journeys eller Shared Consent Yes
get_unsubscribe_link Få avprenumerationslänk Genererar en kompatibel avprenumerationslänk för en mottagare Customer Insights - Journeys eller Shared Consent Yes
create_journey Skapa Journey Bekräftar, berikar och skapar en resa Kundinsikter - Resor No
validate_email Validera e-post Validerar en befintlig e-postadress utan att ändra den Kundinsikter - Resor Yes

Important

get_customer_segmentsreturnerar endast segment för Customer Insights – Data. Det återlämnar inte medlemskap i segment du bygger i Customer Insights - Journeys, och inget verktyg i Customer Insights MCP Server returnerar segmentmedlemskap i Customer Insights - Journeys.

create_journey är det enda verktyget som skriver data. Den är inte skrivskyddad, destruktiv eller idempotent, så att kalla den två gånger skapar två resor. Alla andra verktyg läser bara.

Hur verktygen passar ihop

Kundprofilverktygen, som behöver Customer Insights – Data, följer ett tvåstegsmönster: lösa ett enhetligt kund-ID och sedan använda det ID:t för att hämta kunddata. Samtyckes-, rese- och e-postverktygen behöver inte ett enhetligt kund-ID.

Steg 1: Lös ett enhetligt kund-ID

Välj det verktyg som matchar det du redan vet om kunden:

  • find_customer när du har ett personnamn
  • get_customer_by_contact när du har en Dataverse, kontakta GUID
  • get_customer_by_source_id när du har ett post-ID från ett inhämtat källkodssystem, såsom ett lojalitets- eller ERP-system

Om du inte vet vilka källnamn som är giltiga, ring list_data_sources först.

Steg 2: Hämta kunddata

Efter att du har löst identifieringen, ring något av dessa verktyg:

  • get_customer_details för fullständig profil och dataproveniens
  • get_customer_segments För segmentmedlemskap
  • get_customer_measures för KPI och mätvärden
  • get_customer_predictions för AI- och maskininlärningspoäng
  • get_cluster_information för klustermedlemskap

Kundprofilverktyg

Dessa verktyg behöver Customer Insights – Data. De läser från Dataverse-virtuella enheter, som speglar den levande enhetliga kunddata som Customer Insights – Data skapar, inklusive dess segment, mått, prognoser och kluster.

Note

Kundprofilverktygen läser inte Customer Insights - Journeys-data. Om du endast använder Customer Insights - Journeys finns det inga enhetliga kundprofiler för dessa verktyg att läsa. Läs mer i Use Customer Insights – Data profiler och segment i Customer Insights - Journeys.

Hitta kund

find_customer

Sökningar enhetliggör kundprofiler efter för- eller efternamn och returnerar kunders ID, namn och e-postadresser som matchar. Använd detta verktyg först när användaren ger dig en persons namn men inte deras enhetliga kund-ID.

  • Beteende: Om du inte anger ett namn listar verktyget profiler istället för att söka själv.
  • Pageing: Använd top för att kontrollera sidstorleken. Svaret inkluderar hasMore så att du kan se om fler resultat finns utöver den aktuella sidan.

Lös kund via käll-ID

get_customer_by_source_id

Löser ett enhetligt kund-ID från en postidentifierare i ett inhämtat källkodssystem. Använd det när du har ett ID från en källa som ett lojalitets- eller ERP-system och behöver matchande Customer Insights-profilen.

Anropa list_data_sources först för att hitta giltiga källnamn, såsom contact, lead, eller en anpassad tabell.

Lös kund via kontakt

get_customer_by_contact

Löser ett enhetligt kund-ID från en Dataverse-kontakt-GUID. Använd det när ett arbetsflöde startar med en kontaktpost och behöver den tillhörande Customer Insights-profilen.

Detta verktyg är en genväg för get_customer_by_source_id med källenheten satt till contact.

Få kunduppgifter

get_customer_details

Returnerar en komplett Customer 360-vy för en enhetlig kund. Resultatet inkluderar:

  • Kärnprofilattribut, såsom namn, e-post och adress, med systemkolumner uteslutna
  • Segmentmedlemskap
  • Kundmått
  • Kluster
  • Förutsägelser
  • Källposter som visar dataenhetlighetens proveniens

Varje källpost innehåller icke-systemattributen från källenheten, hur dessa attribut mappas till enhetliga profilattribut, samt en flagga som identifierar vilken källa som bidrog med det vinnande värdet för varje enat fält.

Använd detta verktyg efter att du har löst en kund-ID och vill ha hela bilden i ett samtal.

Få kundsegment

get_customer_segments

Listar de segment eller målgrupper som en enad kund tillhör i Customer Insights – Data. Varje resultat inkluderar segmentnamn, visningsnamn och segment-ID.

Detta verktyg returnerar inte segmenten Customer Insights - Journeys.

Få kundmått

get_customer_measures

Returer beräknade kundmått och KPI:er, såsom livstidsvärde, orderantal och engagemangspoäng. Verktyget kombinerar mått som lagras i de stödda Customer Insights-datalayouterna till ett enda resultat.

Använd det för att hämta aggregerade värden som totala köp, genomsnittligt ordervärde eller anpassade affärsmått.

Få kundprognoser

get_customer_predictions

Returnerar maskininlärningsprognoser för en enad kund, såsom churn-sannolikhet, förutsagt livstidsvärde, benägenhetspoäng och förslag på nästa bästa produkt. Varje resultat inkluderar modellen och leverantören det kommer ifrån.

Få klusterinformation

get_cluster_information

Returnerar klustren som en kund tillhör, tillsammans med de andra medlemmarna i varje kluster och deras affinitetspoäng. Klustertyper upptäcks dynamiskt från Customer Insights-modellens metadata.

Ett kluster är en regel efter unifikation som grupperar enhetliga profiler som uppfyller en uppsättning villkor. Ett hushåll, till exempel, är en gemensam grupp människor som delar efternamn och adress.

Lista datakällor

list_data_sources

Listar de datakällor som ingår i Customer Insights. För varje källa rapporterar verktyget källenheten, postantalet och om kolumner från den källan förekommer i den enhetliga profilen. Den flaggar också källor vars fält inte löstes upp i profilkolumner, vilket är användbart när du felsöker unification.

Ingen input krävs. Använd detta verktyg för att hitta giltiga källenhetsnamn innan du anropar get_customer_by_source_id.

Dessa verktyg behöver Customer Insights - Journeys eller en Dynamics 365-app med delat samtycke. De behöver inte Customer Insights – Data.

Dessa verktyg delegerar till samma backend-samtyckestjänst som Customer Insights - Journeys använder under resans genomförande, så en agents beslut stämmer alltid överens med vad en resa skulle göra. Samtyckestjänsten kan köras oberoende av en fullständig Customer Insights-installation, så dessa verktyg finns tillgängliga även i miljöer där endast Dynamics 365 Sales eller Contact Center är implementerat.

check_consent

Kontrollerar samtyckesstatus för kontaktpunkt, kommunikationskanal, syfte och ämne. Ring det innan du rekommenderar eller skickar en kommunikation, för att bekräfta att mottagaren är berättigad. Verktyget anropar msdynmkt_checkconsent Dataverse custom API och returnerar samtyckestjänstens beslut, inklusive anledningen till att ett meddelande skulle blockeras.

Vanligt användningsfall

En agent som förbereder sig för att skicka ett kommersiellt meddelande ringer check_consent för att verifiera att mottagaren valt att delta i relevant syfte och kanal.

Example

Kontrollera medgivande för kontaktpunkt +111111111, efterlevnadsprofil 7f4a6355-1811-4cde-bde3-fee8c85f56b1, syfte Commercial (10000000-0000-0000-0000-000000000003), kanaltyp SMS, affärsenhet c507f51d-8f0c-ee11-8f6e-6045bd6ef763och ämne Commercial Topic 001 (23db4a4d-ba9f-f011-bbd3-6045bd194648).

Resultat:

Parameter Value
Kontaktpunkt +111111111
Kanaltyp SMS
ID för profil för regelefterlevnad 7f4a6355-1811-4cde-bde3-fee8c85f56b1
Purpose Kommersiellt (ID: 10000000-0000-0000-0000-000000000003)
Topic Kommersiellt ämne 001 (ID: 23db4a4d-ba9f-f011-bbd3-6045bd194648)
Affärsenhet c507f51d-8f0c-ee11-8f6e-6045bd6ef763
Samtycke ✅ Beviljas

Kontaktpunkten har det frivilliga samtycke som krävs för både det kommersiella ändamålet och det kommersiella ämnet 001 , så SMS-meddelanden till denna kontaktpunkt är tillåtna enligt nuvarande efterlevnadsinställningar.

get_unsubscribe_link

Genererar en kompatibel avprenumerationslänk för mottagare och meddelandekontext. Begäran identifierar mottagarenheten, syftet, efterlevnadsinställningarna, meddelandemallen och kontaktpunkten. Verktyget anropar Dataverse-anpassade API:et msdynmkt_getunsubscribelink .

Varje länk är unik för kontaktpunkten och meddelandets kontext, så du får full spårbarhet och granskning.

När en mottagare väljer länken öppnas preferenscentersidan kopplad till efterlevnadsprofilen. Preferenscentret låter mottagare hantera sina kommunikationspreferenser, till exempel att välja bort specifika syften eller ämnen, uppdatera kontaktpunkter eller avprenumerera från allt. Det ger kunderna verklig kontroll istället för ett allt-eller-inget-avhopp.

Du kan anpassa utseendet och känslan i inställningscentret så att det matchar ditt varumärke, inklusive att uppdatera text, lägga till syften och ämnen, formatera sidan med anpassad CSS och lägga till anpassad JavaScript. Läs mer i Create varumärkesbaserade, anpassade preferenscenter.

Vanligt användningsfall

En outreach-agent genererar ett meddelande och ringer get_unsubscribe_link för att bädda in en enklicks opt-out-länk i meddelandets brödtext.

Example

Generera en länk för att avbryta prenumerationen för kontaktpunkt +111111111, entitetstyp Contact (f56302b0-875e-f111-a826-7ced8d6d1623), meddelandemall 226abb7d-855e-f111-a826-7ced8d6d1e7c, efterlevnadsprofil 7f4a6355-1811-4cde-bde3-fee8c85f56b1, syfte 10000000-0000-0000-0000-000000000003, ämne 23db4a4d-ba9f-f011-bbd3-6045bd194648och affärsenhet c507f51d-8f0c-ee11-8f6e-6045bd6ef763.

Resultat:

Parameter Value
Kontaktpunkt +111111111
Typ av entitet Kontakt
Entitets-ID f56302b0-875e-f111-a826-7ced8d6d1623
ID för meddelandemall 226abb7d-855e-f111-a826-7ced8d6d1e7c
ID för profil för regelefterlevnad 7f4a6355-1811-4cde-bde3-fee8c85f56b1
ID för syfte 10000000-0000-0000-0000-000000000003
Ämnes-ID 23db4a4d-ba9f-f011-bbd3-6045bd194648
Affärsenhets-ID c507f51d-8f0c-ee11-8f6e-6045bd6ef763

Länk för genererad avprenumerering:

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

Resa och e-postverktyg

Dessa verktyg behöver Customer Insights - Journeys.

Skapa Journey

create_journey

Validerar en komplett res-JSON-payload, berikar den, validerar den berikade payloaden igen och skapar sedan Customer Insights - Customer Insights - Journeys-reseposten. Svaret inkluderar det skapade rese-ID:t och valideringsresultatet.

Important

create_journey är det enda verktyget i Customer Insights MCP Server som skapar data. Det är inte idempotent, så att försöka om ett misslyckat samtal kan skapa en dubbel resa. Låt din agent bekräfta resultatet innan det görs en ny prövning.

Verifiera e-post

validate_email

Validerar ett befintligt Customer Insights - Customer Insights - Journeys-e-postmeddelande utan att ändra det. Förfrågan innehåller e-postmeddelandets ID, innehållsdelar, platshållare och valideringskontext. Svaret innehåller valideringsfynd på meddelandenivå och platshållarnivå.

Använd det för att upptäcka innehållsproblem, som olösta platshållare, innan en resa skickar meddelandet.

Exempelarbetsflöden

Sök upp en kund vid namn och få deras fullständiga profil

Detta arbetsflöde kräver Customer Insights – Data.

  1. Ring find_customer, välj sedan den matchande kunden och notera deras enhetliga ID.
  2. Ring get_customer_details för att få profil, segment, mått och källans ursprung.

Berika en känd Dataverse-kontakt

Detta arbetsflöde kräver Customer Insights – Data.

  1. Ring get_customer_by_contact för att lösa kontakt-ID till ett enhetligt kund-ID.
  2. Ring get_customer_predictions och get_cluster_information få churn scores, kundens livstidsvärde och klustermedlemskap.

Lös en post från ett annat källkodssystem

Detta arbetsflöde kräver Customer Insights – Data.

  1. Ring list_data_sources för att hitta det giltiga källnamnet på enheten.
  2. Anrop get_customer_by_source_id för att lösa källposten till ett enhetligt kund-ID.
  3. Ring get_customer_segments eller get_customer_measures för segment- och KPI-kontext.

Skicka ett meddelande som uppfyller reglerna

Detta arbetsflöde kräver Customer Insights - Journeys eller Shared Consent.

  1. Få mottagarens kontaktpunkt, såsom en e-postadress eller telefonnummer, samt deras register-ID. Om du använder Customer Insights – Data kan du först lösa kunden med ett av lösningsverktygen.
  2. Ring check_consent för att bekräfta att kontakten är invald för det ändamål, ämne, kanal och kontaktpunkt du tänker använda.
  3. Ring get_unsubscribe_link för att få en anpassad opt-out-länk.
  4. Skriv och skicka meddelandet med länken inbäddad.

Bygg och kontrollera en resa

Detta arbetsflöde kräver Customer Insights - Journeys.

  1. Ring create_journey med reselasten.
  2. Ring validate_email på de mejl som resan använder för att bekräfta att innehållet löses korrekt.

Så här fungerar det

Customer Insights MCP Server bygger på det anpassade API-mönstret för Dataverse. Den använder två anpassade API:er för verktygsinteraktion:

  • Lista verktyg: Räknar upp alla MCP-verktyg registrerade på servern.
  • Anropsverktyg: Kör ett specifikt MCP-verktyg vid namn och skickar argumenten som JSON.

Serverdefinitionen finns i baslösningen (CxpClient), som levereras till varje Dynamics 365-organisation. Verktygsleverantörer från Customer Insights – Data och Customer Insights - Journeys läggs till som lösningstillägg.

Översikt över arkitektur

Servern följer en arkitektur i flera lager:

  1. Protokollskikt: Anpassade API:er och Dataverse-plugin-program hanterar MCP-protokollefterlevnad.
  2. Registerlager: Upptäcker tillgängliga verktygsleverantörer vid körning via reflektionsbaserad autodiscovery.
  3. Verktygslager: MCP-omslutningar som validerar indata och delegerar till tjänster.
  4. Servicelager: Affärslogik som anropar de underliggande Customer Insights-tjänsterna.
  5. Datalager: Dataverse-virtuella enheter och Dataverse-lagring.

Security

MCP-servern upprätthåller säkerhet på flera lager:

Skikt Description
Transportsäkerhet (mTLS) Ömsesidig transportlager säkerhetscertifikatbaserad autentisering mellan klienten och Dataverse
Anpassade API-behörigheter Plattformen validerar användarrättigheter innan den tillåter upptäckt eller körning av verktygen
Auktorisering på verktygsnivå Varje verktyg kontrollerar entitetsspecifika privilegier, såsom läsåtkomst för samtyckesändamål
Säkerhet på datanivå Säkerheten på radnivå säkerställer att användare endast når data de är auktoriserade att se

Note

Auktorisering framtvingas i verktygslogik med hjälp av anroparens användarkontext. MCP-servern eskalerar aldrig privilegier implicit. Verktyg fungerar som fasader och gör aldrig något utöver vad den anropande användaren får göra.

Förutsättningar

Innan du använder verktygen, se till att du har:

  • Appen varje verktyg behöver:
    • För kundprofilverktygen, Customer Insights – Data.
    • För rese- och e-postverktygen, Customer Insights - Journeys.
    • För samtyckesverktygen Customer Insights - Journeys eller en Dynamics 365-miljö med Shared Consent implementerat, till exempel Dynamics 365 Sales with Shared Consent.
  • Tillgång till Dataverse-tabellerna som stöder de verktyg du planerar att kalla.
  • För samtyckesverktygen, minst en efterlevnadsprofil med syften och ämnen. Standardprofilen för efterlevnad inkluderar ett kommersiellt syfte med restriktiv tillsyn och ett transaktionssyfte med icke-restriktiv tillsyn, så du kan börja direkt utan extra konfiguration.
  • Dataverse-säkerhetsrollsprivilegier som verktygen kräver för användarens eller agentens identitet.

Limitations

Tänk på följande begränsningar:

  • Samtyckesverktygen omfattar samtyckeskontroller och generering av avregistreringslänkar. Uppdatering av samtycke, administrativa operationer som att skapa eller ta bort syften och ämnen, samt återhämtning av metadata från samtyckesmodellen exponeras inte via MCP.
  • Customer Insights - Journeys-segment: No tool returns Customer Insights - Customer Insights - Journeys-segmentmedlemskap. get_customer_segmentsreturnerar endast segment för Customer Insights – Data.
  • Prestanda: Samtal via MCP kan ha högre latens än direkta servicesamtal under resan. Räkna med detta när du utformar högkapacitetsscenarier.
  • En enkel MCP-server: En server täcker både Customer Insights - Journeys och Customer Insights – Data, och alla verktyg delar samma servernivå-definition. Auktorisering på verktygsnivå styr åtkomsten till enskilda verktyg. Varje verktyg behöver fortfarande det som visas i kolumnen Kräver i Verktyg vid en snabb blick.

Nästa steg