範例使用案例
|
|
Model Context Protocol (Beta 版) 目前以預覽模式提供,且僅提供基本的功能驗證。完整資格認證與擴展功能將在未來發行版本中推出。
|
先決條件
1. 在 ThingWorx Composer 中建立 AppKey。設定適當的到期日。
2. 在 VS Code IDE 與 Claude Desktop 中設定 MCP 用戶端。
在 VS Code IDE 中設定 ThingWorx MCP 伺服器
1. 開啟 VS Code IDE。
2. 按下 Ctrl+Shift+P,開啟指令面板。
3. 選取 MCP Add Server 指令。
4. 選取 HTTP (HTTP 或 Server-Sent Events)。
5. 輸入 ThingWorx Server URL>/mcp 並按下 Enter 鍵。
6. 輸入伺服器名稱,例如 ThingWorxMCPServer,然後按下 Enter 鍵。
7. 根據業務需求選取 Global 或 Workspace,然後按下 Enter 鍵。
系統會在 VS Code IDEO 中建立 mcp.json 檔案,其中包含 url 與 type 鍵。
8. 在 “type” 之後新增下列程式碼:"headers": {<APPLICATION_KEY>"}
您的 mcp.json 檔案應如下所示:
{
"servers": {
"ThingworxMCP": {
"url": "https://centr154-eastus-iot-01-twx.ptcdevops.com/Thingworx/mcp",
"type": "http",
"headers": {
"AppKey": "a57da3b7-a7f7-4b05-b48a-ac6ccdc21939"
}
}
},
"inputs": []
9. 如此即可在 VS Code IDE 中啟動 MCP 用戶端。
如果 ThingWorx 已配置為單一登入 (SSO),請使用下列 URL 格式:<ThingWorx Server URL>rp>mcp。
範例情境
某製造工廠有多部機器需要監視,其關鍵 KPI 如下:
• 狀況
• 溫度
• 濕度
• 能源消耗
• 每日運轉時間
• 每日停機時間
請建立下列實體:
• Plant1.Machine.TT (ThingTemplate)
內容:
◦ Status (STRING | Persist | Logged)
◦ Temperature (NUMBER | Persist | Logged)
◦ Humidity (NUMBER | Persist | Logged)
◦ EnergyConsumption (NUMBER | Persist | Logged)
• Plant1.WeldingMachine1.Thing 物件
• Plant1.WeldingMachine2.Thing 物件
• Plant1.WeldingMachine3.Thing 物件
• Plant1.WeldingMachine4.Thing 物件
• Plant1.WeldingMachine.VS (Value Stream)
確保所有物件都以固定間隔串流即時資料。
使用案例 1
目的
工廠經理或機器主管需要廠區機器的即時運轉快照。其目標是快速瞭解目前效能,並識別關鍵運轉指標中的異常狀況。
使用者提示
取得包含關鍵 KPI 的最新機器狀況。
結果
提供包含最新 KPI 值的機器狀態摘要,例如能源消耗、溫度及總運行時間。
步驟
1. 在 ThingWorx 中建立名為 MCP.HelperThing 的 HelperThing。
2. 建立 GetCurrentMachineStatusKPI 服務,並設定下列項目:
◦ 「輸入」:machineName (STRING)
◦ 「輸出」:result (STRING)
3. 開啟 MCPServices 資源並轉至「服務」標籤。
4. 搜尋 AddTools 服務並按一下「執行」。
5. 在 toolInfo 輸入中,按一下 +Add。
6. 輸入:
◦ 服務提供者名稱:MCP.HelperThing
◦ 服務提供者類型:Thing
◦ 服務名稱:GetCurrentMachineStatusKPI
◦ 描述:Service returns the latest status with KPIs。It takes machineName as input and returns KPI data.
◦ 應用程式名稱:ThingWorx
7. 按一下「設定」。
8. 按一下「儲存」。
9. 按一下「執行」:
◦ 工具即已成功新增。
◦ 執行 GetAllTools 來確認已新增工具。
10. 在 VS Code IDE 中,確保 MCP 用戶端正在執行。您應該會在畫面中看到工具與提示的數量。
11. 開啟右側的聊天視窗。
12. 輸入提示:Get the latest machine status with critical KPIs.
輸出應該會顯示所請求的 KPI 資料。
使用案例 2
目的
工廠經理或機器主管需要機器的即時運轉快照,但可能不知道如何撰寫有效提示。此使用案例旨在協助使用者快速存取機器資訊,而無需具備提示工程專業知識。
結果
系統提供現成的範例提示,使用者可以根據自己的需求直接使用、進行自訂以及重新調整。這樣可以快速且一致地存取關鍵機器資訊。
步驟
1. 開啟 MCPServices 資源並轉至「服務」標籤。
2. 搜尋 AddPrompts 服務並按一下「執行」。
3. 在 promptInfo 輸入中,按一下 +Add。
4. 輸入下列詳細資訊:
◦ 名稱:Get Current Status of Machine
◦ 描述:A prompt to get the current status of a machine. It takes machineName as input.
◦ 內容:
{
"text": "Get current status of {machineName}",
"type": "text"
◦ 提示引數:新增引數 machineName。
5. 按一下「新增」。
6. 按一下「儲存」。
7. 按一下「執行」。
◦ 提示即已成功新增。
◦ 執行 GetAllPrompts 來確認已新增提示。
8. 在 VS Code IDE 中,確保 MCP 用戶端正在執行。您應該會在畫面中看到工具與提示的數量。
9. 開啟右側的聊天視窗。
10. 在聊天視窗中輸入 /,並選取在之前步驟中新增的提示。
11. 鍵入輸入值,然後按下 Enter 鍵。輸出應該會顯示所請求的機器狀況。
使用案例 3
目的
工廠經理或機器操作員可以存取相關業務與運轉資料,但不知道如何查詢資料集、擷取所需資訊或得出有意義的洞察。
結果
系統會擷取可用資料,並將其作為 LLM 的資源公開,以作為前後關聯參考使用。LLM 會剖析並解譯這些資料,並產生符合使用者提示的輸出,進而提供清晰、可操作的洞察,而無需使用者瞭解底層資料結構或查詢語言。
步驟
1. 開啟 MCPServices 資源並轉至「服務」標籤。
2. 搜尋 AddResources 服務並按一下「執行」。
3. 在 resourceInfo 輸入中,按一下 +Add。
4. 輸入下列詳細資訊:
◦ 名稱:QueryMachineData
◦ URI:file:///C:/Thingworx/ThingworxRepository/DataRepository/all-available-machine-data.json
| URI 路徑中參考的 JSON 檔案包含從值串流匯出的機器資料。 |
◦ 描述:A resource to get machine data. It takes the machine name as input and returns an InfoTable.
◦ 服務提供者名稱:MCP.HelperThing
◦ 服務提供者類型:Thing
5. 按一下「新增」。
6. 按一下「儲存」。
7. 按一下「執行」。
◦ 資源即已成功新增。
◦ 執行 GetAllResources 來確認已新增資源。
8. 在 VS Code IDE 中,確保 MCP 用戶端正在執行。您應該會在畫面中看到工具與提示的數量。
9. 按下 Ctrl+Shift+P,開啟指令面板。
10. 選取 MCP: Browse Resources 指令。
11. 從清單中選取 QueryMachineData。all-available-machine-data.json 會作為 LLM 的資源新增至聊天視窗。
12. 輸入附加資料的提示。