一台 MCP 伺服器同時服務 Customer Insights - 資料 與 Customer Insights - Journeys,但每個工具都支援特定應用程式。 透過 Customer Insights - 資料,你可以使用客戶檔案工具。 旅程和電子郵件工具需要 Customer Insights - Journeys,同意工具則需要 Customer Insights - Journeys 或 Shared Consent。
Customer Insights 模型情境協定(MCP)伺服器將 Dynamics 365 Customer Insights - 資料 與 Customer Insights - Journeys 功能公開為 AI 客服人員及大型語言模型(LLM)客戶端可呼叫的工具。
兩個應用程式共用一台 MCP 伺服器。 您的客服員不再直接呼叫內部 API,而是透過一個安全介面運作,該介面套用 Customer Insights 在其他地方執行的相同規則,包括旅程執行時的同意規則。
伺服器是共享的,但每個工具都使用特定應用程式的資料。 透過 MCP,代理人可以:
- 使用 Customer Insights - 資料:發現已匯入的資料來源,將來源紀錄解析為統一的客戶檔案,並取得個人資料屬性、分區成員、衡量、預測及叢集成員
- 使用 Customer Insights - Journeys 或 Shared Consent:在發送訊息前,先檢查同意並產生符合規定的退訂連結
- 使用 Customer Insights - Journeys:建立旅程並驗證電子郵件內容
工具一覽
需求欄位顯示每個工具的支援範圍。 工具不會讀取另一個應用程式的資料,因此需要 Customer Insights - 資料 的工具不會回傳 Customer Insights - Journeys 資料。
| Tool | 顯示標題 | 其功能是什麼 | Requires | 唯讀 |
|---|---|---|---|---|
find_customer |
尋找客戶 | 依姓名搜尋統一的客戶檔案 | 客戶洞察-數據 | Yes |
get_customer_by_source_id |
按來源識別解決客戶 | 從來源系統記錄 ID 解析統一的客戶 ID | 客戶洞察-數據 | Yes |
get_customer_by_contact |
以聯絡方式解決客戶問題 | 解析來自 Dataverse 聯絡 GUID 的統一客戶識別 | 客戶洞察-數據 | Yes |
get_customer_details |
取得客戶資料 | 回傳一位客戶的完整 Customer 360 檢視圖 | 客戶洞察-數據 | Yes |
get_customer_segments |
獲取顧客分群 | 列出客戶所屬的 Customer Insights - 資料 細分 | 客戶洞察-數據 | Yes |
get_customer_measures |
取得客戶指標 | 報酬、計算的指標與關鍵績效指標 | 客戶洞察-數據 | Yes |
get_customer_predictions |
獲取客戶預測 | 回傳機器學習預測,如流失機率 | 客戶洞察-數據 | Yes |
get_cluster_information |
取得叢集資訊 | 回報群組成員,例如家庭,以及其他成員 | 客戶洞察-數據 | Yes |
list_data_sources |
資料來源列表 | 列出已攝取的資料來源及其記錄數量 | 客戶洞察-數據 | Yes |
check_consent |
檢查同意 | 檢查聯絡點、管道、目的及主題的同意 | Customer Insights - Journeys 或 Shared Consent(共享同意) | Yes |
get_unsubscribe_link |
取得取消訂閱連結 | 為收件人產生合規的退訂連結 | Customer Insights - Journeys 或 Shared Consent(共享同意) | Yes |
create_journey |
創造旅程 | 肯定、豐富並創造一段旅程 | 顧客洞察 - 旅程 | No |
validate_email |
驗證電子郵件 | 驗證現有郵件而不更改內容 | 顧客洞察 - 旅程 | Yes |
重要
get_customer_segments僅回傳 Customer Insights - 資料 細分項目。 它不會回傳你在 Customer Insights - Journeys 建立的細分區段的會員資格,而 Customer Insights MCP 伺服器中沒有任何工具會回傳 Customer Insights - Journeys 細分的會員資格。
create_journey 是唯一能寫入資料的工具。 它不是只讀、破壞性或冪能的,所以叫兩次會造成兩段旅程。 其他工具只能讀取。
工具如何組合
需要 Customer Insights - 資料 的客戶檔案工具,遵循兩步驟模式:解析統一的客戶 ID,然後用該 ID 來取得客戶資料。 同意、旅程和電子郵件工具不需要統一的客戶 ID。
步驟 1:解決統一的客戶識別碼
選擇與你已知客戶狀況相符的工具:
-
find_customer當你有一個人的名字時 -
get_customer_by_contact當您擁有 Dataverse 時,請聯絡 GUID -
get_customer_by_source_id當你擁有來自匯入來源系統(如忠誠系統或 ERP 系統)的紀錄 ID 時
如果你不知道哪些來源實體名稱有效,請先打電話詢問 list_data_sources 。
步驟 2:取回客戶資料
解決 ID 後,請撥打以下任一工具:
-
get_customer_details完整資料資料與來源 -
get_customer_segments分段會員資格 -
get_customer_measures針對KPI與衡量指標 -
get_customer_predictions針對人工智慧與機器學習分數 -
get_cluster_information群集成員資格
客戶檔案工具
這些工具需要 Customer Insights - 資料。 他們從 Dataverse 虛擬實體讀取資料,這些實體反映出 Customer Insights - 資料 所建立的即時統一客戶資料,包括其分段、衡量、預測與叢集。
Note
客戶資料工具不會讀取 Customer Insights - Journeys 的資料。 如果你只使用 Customer Insights - Journeys,這些工具就沒有統一的客戶檔案可供閱讀。 在 Customer Insights - Journeys 中的 Use Customer Insights - 資料 檔案與細分領域中了解更多。
尋找客戶
find_customer
依名字或姓氏搜尋統一的客戶檔案,並回傳匹配的客戶 ID、姓名及電子郵件地址。 當使用者給你一個人的名字但沒有統一的客戶 ID 時,請先使用這個工具。
- 行為:如果你不提供姓名,工具會列出個人資料而非搜尋。
-
分頁:用
top來控制頁面大小。 回覆內容包括hasMore:讓你能判斷目前頁面之外是否有更多結果。
按來源識別解決客戶
get_customer_by_source_id
從已匯入的來源系統中記錄識別碼解析統一的客戶 ID。 當你有來自忠誠度或 ERP 系統的 ID 並需要匹配的 Customer Insights 檔案時,可以使用它。
先呼叫 list_data_sources 以尋找有效的來源實體名稱,例如 contact、 lead或自訂資料表。
以聯絡方式解決客戶問題
get_customer_by_contact
解析來自 Dataverse 聯絡人 GUID 的統一客戶 ID。 當工作流程以聯絡人紀錄開始,並需要相關的客戶洞察檔案時,請使用它。
這個工具是 的 get_customer_by_source_id 捷徑,將來源實體設為 contact。
取得客戶資料
get_customer_details
為統一客戶回傳完整的 Customer 360 視圖。 結果包括:
- 核心個人檔案屬性,如姓名、電子郵件和地址,系統欄位則不包含
- 分段會員資格
- 客戶衡量標準
- 叢集
- 預測
- 顯示資料統一來源的來源紀錄
每個來源記錄包含來源實體的非系統屬性、這些屬性如何映射到統一設定檔屬性,以及一個標示每個統一欄位中哪個來源貢獻了勝出值的旗標。
在解決客戶識別問題後,使用這個工具,並希望一通電話中了解完整情況。
獲取顧客分群
get_customer_segments
列出統一客戶所屬的 Customer Insights - 資料 細分或受眾。 每個結果包含區段名稱、顯示名稱和區段識別碼。
此工具不會回傳 Customer Insights - Journeys 的細分項目。
取得客戶指標
get_customer_measures
退貨計算客戶指標與關鍵績效指標(KPI),例如終身價值、訂單數量及互動分數。 該工具將支援的 Customer Insights 資料佈局中儲存的指標整合成單一結果。
用它來取得總購買量、平均訂單金額或自訂商業指標等彙整值。
獲取客戶預測
get_customer_predictions
為統一客戶回報機器學習預測,例如流失機率、預測終身價值、傾向分數及次佳產品建議。 每個結果都包含該產品所屬的型號與供應商。
取得叢集資訊
get_cluster_information
回傳客戶所屬的叢集,以及每個叢集的其他成員及其親和力分數。 叢集類型是從 Customer Insights 模型的元資料中動態發現的。
叢集是統一後的規則,將符合一組條件的統一設定檔分組。 例如,家庭是指一群共用同姓和同住址的人。
列出數據源
list_data_sources
列出匯入客戶洞察的資料來源。 針對每個來源,工具會回報來源實體、記錄數量,以及該來源的欄位是否出現在統一剖面中。 它也會標示那些欄位未解析成剖面欄位的來源,這在排查統一問題時很有用。
不需要輸入。 使用此工具在呼叫 get_customer_by_source_id前發現有效的來源實體名稱。
同意與合規工具
這些工具需要 Customer Insights - Journeys 或 Dynamics 365 應用程式,並附有共享同意。 他們不需要 Customer Insights - 資料。
這些工具委託給與 Customer Insights - Journeys 在旅程執行時所使用的後端同意服務相同,因此客服人員的決策總是與旅程本身的行為相符。 同意服務可獨立於完整 Customer Insights 安裝,因此即使在僅部署 Dynamics 365 Sales 或 Contact Center 的環境中,這些工具也能使用。
檢查同意
check_consent
檢查聯絡點、溝通管道、目的及主題的同意狀態。 在推薦或發送通知前,請先打電話確認收件人是否符合資格。 該工具會 msdynmkt_checkconsent 呼叫 Dataverse 自訂 API,並回傳同意服務的決定,包括訊息被阻擋的原因。
典型使用案例
準備發送商業訊息的客服人員會打電話 check_consent 確認收件人是否選擇加入相關目的與管道。
範例
檢查聯絡點 +111111111、合規設定檔 7f4a6355-1811-4cde-bde3-fee8c85f56b1、目的 Commercial(10000000-0000-0000-0000-000000000003)、通路類型 SMS、事業單位 c507f51d-8f0c-ee11-8f6e-6045bd6ef763及主題 Commercial Topic 001(23db4a4d-ba9f-f011-bbd3-6045bd194648)的同意狀態。
結果:
| 參數 | Value |
|---|---|
| 接觸點 | +111111111 |
| 頻道類型 | SMS |
| 合規設定檔識別碼 | 7f4a6355-1811-4cde-bde3-fee8c85f56b1 |
| Purpose | 商業版(ID:1000000-0000-0000-0000-0000000003) |
| Topic | 商業主題 001(ID:23db4a4d-ba9f-f011-bbd3-6045bd194648) |
| 事業單位 | C507F51D-8F0C-EE11-8F6E-6045BD6EF763 |
| 同意 | ✅ 已批准 |
該聯絡點擁有商業目的與商業主題 001 主題所需的自願同意,因此在現行合規設定下,允許向此聯絡點發送簡訊訊息。
取得取消訂閱連結
get_unsubscribe_link
為收件人及訊息情境產生合規的退訂連結。 請求會標示收件人實體、目的、合規設定、訊息範本及聯絡點。 該工具會 msdynmkt_getunsubscribelink 呼叫 Dataverse 自訂 API。
每個連結都與聯絡點和訊息情境不同,因此你能享有完整的追蹤與可稽核性。
當收件人選擇該連結時,會開啟與合規設定檔相關的偏好中心頁面。 偏好中心讓收件人管理自己的溝通偏好,例如選擇退出特定目的或主題、更新聯絡點,或取消訂閱所有內容。 這讓客戶擁有真正的掌控權,而非全有或全無的退出。
你可以自訂偏好中心的外觀與使用感,以符合你的品牌,包括更新文字、新增目的與主題、用自訂 CSS 樣式化頁面,以及新增自訂 JavaScript。 在 「創建品牌客製化偏好中心」了解更多。
典型使用案例
外展代理會產生訊息,並致電 get_unsubscribe_link 在訊息內容中嵌入一鍵退出連結。
範例
產生一個取消訂閱連結,涵蓋聯絡點 +111111111、實體類型 Contact (f56302b0-875e-f111-a826-7ced8d6d1623)、訊息範本 226abb7d-855e-f111-a826-7ced8d6d1e7c、合規設定檔 7f4a6355-1811-4cde-bde3-fee8c85f56b1、目的 10000000-0000-0000-0000-000000000003、主題 23db4a4d-ba9f-f011-bbd3-6045bd194648及事業單位 c507f51d-8f0c-ee11-8f6e-6045bd6ef763。
結果:
| 參數 | Value |
|---|---|
| 接觸點 | +111111111 |
| 實體類型 | 聯絡方式 |
| 實體識別碼 | f56302b0-875e-f111-a826-7ced8d6d1623 |
| 訊息範本 ID | 226abb7d-855e-f111-a826-7ced8d6d1e7c |
| 合規設定檔識別碼 | 7f4a6355-1811-4cde-bde3-fee8c85f56b1 |
| 目的識別 | 10000000-0000-0000-0000-000000000003 |
| 主題識別碼 | 23db4a4d-ba9f-f011-bbd3-6045bd194648 |
| 事業單位識別碼 | C507F51D-8F0C-EE11-8F6E-6045BD6EF763 |
已產生的退訂連結:
https://public-fra.mkt.dynamics.com/api/v2.0/orgs/7b2fdebc-d216-ee11-a66d-0022483903fc/consent/preferences?contextId=fd436906-0633-42a9-8426-c3a6edca0100
旅程與電子郵件工具
這些工具需要 Customer Insights - Journeys。
創造旅程
create_journey
驗證完整的旅程 JSON payload,豐富它,再驗證一次豐富後的 payload,然後建立 Customer Insights - Journeys 旅程記錄。 回應包含已建立的旅程 ID 及驗證結果。
重要
create_journey 是 Customer Insights MCP 伺服器中唯一能產生資料的工具。 它不是冪立的,所以重試失敗的通話可能會產生重複的旅程。 請你的經紀人在重審前確認結果。
驗證電子郵件
validate_email
驗證現有的 Customer Insights - Journeys 電子郵件,且不修改郵件。 請求包含電子郵件訊息 ID、內容部分、佔位符及驗證上下文。 回應包含訊息層級與佔位層級的驗證結果。
利用它在旅程發送訊息前,發現內容問題,例如未解決的佔位符。
工作流程範例
用名字查詢客戶,取得他們的完整檔案
這個工作流程需要 Customer Insights - 資料。
- 打電話
find_customer,然後選擇匹配的客戶並記錄他們的統一ID。 - 請致電
get_customer_details索取資料資料、分段、測量及來源來源。
豐富已知資料宇宙的聯絡人
這個工作流程需要 Customer Insights - 資料。
- 打電話
get_customer_by_contact將聯絡人ID解析為統一的客戶ID。 - 打電話
get_customer_predictions查詢get_cluster_information流失分數、客戶終身價值分數和群組會員資格。
解析來自其他來源系統的紀錄
這個工作流程需要 Customer Insights - 資料。
- 請致電
list_data_sources查詢有效的來源實體名稱。 - 呼叫
get_customer_by_source_id以將來源紀錄解析為統一的客戶 ID。 - 打電話
get_customer_segments或get_customer_measures詢問細分項目和關鍵績效指標(KPI)相關資訊。
發送合規訊息
這個工作流程需要 Customer Insights - Journeys 或 Shared Consent。
- 取得收件人的聯絡方式,例如電子郵件地址或電話號碼,以及他們的紀錄編號。 如果你使用 Customer Insights - 資料,你可以先用其中一個解決工具解決客戶問題。
- 請致電
check_consent確認該聯絡人是否選擇用於您打算使用的目的、主題、頻道及聯絡點。 - 致電
get_unsubscribe_link取得個人化的退出連結。 - 撰寫並發送帶有連結的訊息。
建立並檢視旅程
這個工作流程需要 Customer Insights - Journeys。
- 打電話
create_journey告訴我旅程的貨物。 - 撥打
validate_email旅程使用的電子郵件,確認內容是否正確解決。
運作原理
Customer Insights MCP 伺服器是建立在 Dataverse 自訂 API 模式之上。 它使用兩個自訂的 API 來進行工具互動:
- 清單工具:列舉伺服器上所有註冊的 MCP 工具。
- 呼叫工具:以名稱執行特定的 MCP 工具,並將參數以 JSON 傳遞。
伺服器定義存在於基礎解決方案(CxpClient)中,該解決方案會發佈給每個 Dynamics 365 組織。 來自 Customer Insights - 資料 和 Customer Insights - Journeys 的工具供應商會作為解決方案擴充加入。
架構概觀
伺服器採用分層架構:
- 協定層:自訂 API 與 Dataverse 外掛負責 MCP 協定合規性。
- 登錄層:透過基於反射的自動發現,在執行時發現可用的工具提供者。
- 工具層:MCP 包裝器,用於驗證輸入並將委派給服務。
- 服務層:呼叫底層客戶洞察服務的業務邏輯。
- 資料層:Dataverse 虛擬實體與 Dataverse 儲存。
安全性
MCP 伺服器在多個層級執行安全防護:
| 層 | Description |
|---|---|
| 傳輸安全(mTLS) | 客戶端與 Dataverse 之間的互助傳輸層安全憑證驗證 |
| 自訂 API 權限 | 平台在允許工具發現或執行前,先驗證使用者權限 |
| 工具層級授權 | 每個工具都會檢查實體特定的權限,例如同意目的的讀取權限 |
| 資料層級安全 | 列級安全確保使用者只存取他們被授權查看的資料 |
Note
授權是在工具邏輯中,利用呼叫者的使用者情境強制執行的。 MCP 伺服器從不會隱含地升級權限。 工具只是表面功夫,從不做超出呼叫使用者被允許做的事。
先決條件
在使用工具之前,請確保你具備:
- 每個工具所需的應用程式:
- 關於客戶資料工具,Customer Insights - 資料。
- 至於旅程和電子郵件工具,請參考 Customer Insights - Journeys。
- 對於同意工具,可以使用 Customer Insights - Journeys 或部署於具備共享同意的 Dynamics 365 環境,例如 Dynamics 365 Sales with Shared Consent。
- 存取支援你計劃調用工具的 Dataverse 表格。
- 對於同意工具,至少有一個符合目的和主題的合規檔案。 預設的合規設定包含商業目的( Commercial Purpose)且具限制性執法(Restricted enforce)和交易型( Transactional Purpose)但非限制性執法,因此你可以立即開始,無需額外設定。
- Dataverse 的安全角色賦予工具對使用者或代理身份所需的特權。
Limitations
請記住下列限制:
- 同意工具涵蓋同意檢查和取消訂閱連結產生。 更新同意、建立或刪除目的與主題等管理操作,以及同意模型的元資料檢索,都不會透過 MCP 公開。
-
Customer Insights - Journeys 區段:無工具退貨 Customer Insights - Journeys 區段會員資格。
get_customer_segments僅回傳 Customer Insights - 資料 細分項目。 - 效能:透過 MCP 的通話在旅程執行時可能比直接服務通話延遲更高。 設計高通量情境時,請將此納入考量。
- 單一 MCP 伺服器:一台伺服器同時涵蓋 Customer Insights - Journeys 與 Customer Insights - 資料,且所有工具共享相同的伺服器層級範圍定義。 工具層級授權控制對個別工具的存取。 每個工具仍然需要在「工具一覽中的需求」欄位中顯示的內容。