Exemples de cas d'utilisation
|
|
Le Model Context Protocol (bêta) est actuellement disponible en version préliminaire et ne propose qu'une validation fonctionnelle de base. Une qualification complète et des fonctionnalités étendues seront introduites dans les prochaines versions.
|
Prérequis
1. Créez une clé d'application dans ThingWorx Composer. Définissez une date d'expiration appropriée.
2. Configurez le client MCP avec VS Code IDE et Claude Desktop.
Configuration du serveur MCP ThingWorx dans VS Code IDE
1. Ouvrez VS Code IDE.
2. Appuyez sur Ctrl+Maj+P pour ouvrir la palette de commandes.
3. Sélectionnez la commande MCP Add Server.
4. Sélectionnez HTTP (HTTP ou Server-Sent Events).
5. Saisissez ThingWorx Server URL>/mcp et appuyez sur Enter.
6. Entrez le nom du serveur, par exemple ThingWorxMCPServer, puis appuyez sur Enter.
7. Sélectionnez Global ou Workspace en fonction des besoins métier, puis appuyez sur Enter.
Le fichier mcp.json est créé dans VS Code IDE avec url et type comme clés.
8. Après “type”, ajoutez le code "headers": {<APPLICATION_KEY>"}.
Votre fichier mcp.json doit se présenter comme suit :
{
"servers": {
"ThingworxMCP": {
"url": "https://centr154-eastus-iot-01-twx.ptcdevops.com/Thingworx/mcp",
"type": "http",
"headers": {
"AppKey": "a57da3b7-a7f7-4b05-b48a-ac6ccdc21939"
}
}
},
"inputs": []
9. Cette opération démarre le client MCP dans VS Code IDE.
Si ThingWorx est configuré pour l'authentification unique (SSO), utilisez le format d'URL suivant : <ThingWorx Server URL>rp>mcp.
Exemple de scénario
Une usine de fabrication comporte plusieurs machines à surveiller avec les KPI critiques suivants :
• Statut
• Température
• Humidité
• Consommation d'énergie
• Durée de fonctionnement quotidienne
• Durée d'immobilisation quotidienne
Créez les entités suivantes :
• Plant1.Machine.TT (ThingTemplate)
Propriétés :
◦ Status (STRING | Persist | Logged)
◦ Temperature (NUMBER | Persist | Logged)
◦ Humidity (NUMBER | Persist | Logged)
◦ EnergyConsumption (NUMBER | Persist | Logged)
• Objet Plant1.WeldingMachine1.Thing
• Objet Plant1.WeldingMachine2.Thing
• Objet Plant1.WeldingMachine3.Thing
• Objet Plant1.WeldingMachine4.Thing
• Plant1.WeldingMachine.VS (Value Stream)
Assurez-vous que tous les objets diffusent des données en direct à intervalles réguliers.
Cas d'utilisation 1
Objectif
Un responsable d'usine ou un superviseur de machine a besoin d'un cliché opérationnel immédiat d'une machine dans l'usine. L'objectif est de comprendre rapidement les performances actuelles et d'identifier les conditions anormales pour les principales mesures opérationnelles.
Requête de l'utilisateur
Obtenir le dernier statut de la machine avec les KPI critiques.
Résultat
Résumé de l'état de la machine avec les dernières valeurs des KPI, telles que la consommation d'énergie, la température et la durée totale d'exécution.
Etapes
1. Créez un HelperThing nommé MCP.HelperThing dans ThingWorx.
2. Créez un GetCurrentMachineStatusKPI de service avec :
◦ Entrée : machineName (CHAINE)
◦ Sortie : result (CHAINE)
3. Ouvrez la ressource MCPServices et accédez à l'onglet Services.
4. Recherchez le service AddTools, puis cliquez sur Exécuter.
5. Dans l'entrée toolInfo, cliquez sur +Ajouter.
6. Saisissez ce qui suit :
◦ Nom du fournisseur de services : MCP.HelperThing
◦ Type de fournisseur de services : Thing
◦ Nom du service : GetCurrentMachineStatusKPI
◦ Description : le service renvoie le dernier statut avec des KPI. Il prend machineName comme entrée et renvoie les données des KPI.
◦ Nom de l'application : ThingWorx
7. Cliquez sur Définir.
8. Cliquez sur Enregistrer.
9. Cliquez sur Exécuter :
◦ L'outil est ajouté.
◦ Exécutez GetAllTools pour confirmer l'ajout de l'outil.
10. Dans VS Code IDE, assurez-vous que le client MCP est en cours d'exécution. Le nombre d'outils et de requêtes doit s'afficher à l'écran.
11. Ouvrez la fenêtre de discussion sur le côté droit.
12. Entrez la requête Obtenir le dernier statut de la machine avec les KPI critiques.
La sortie doit afficher les données de KPI demandées.
Cas d'utilisation 2
Objectif
Un responsable d'usine ou un superviseur de machine a besoin d'un cliché opérationnel immédiat d'une machine, mais peut ne pas savoir comment formuler une requête efficace. Ce cas d'utilisation permet aux utilisateurs d'accéder rapidement aux informations machine sans avoir besoin d'une expertise en ingénierie de requêtes.
Résultat
Le système fournit des exemples de requêtes prêtes à l'emploi que les utilisateurs peuvent utiliser, personnaliser et affiner en fonction de leurs besoins. Cela permet un accès rapide et cohérent aux informations critiques sur les machines.
Etapes
1. Ouvrez la ressource MCPServices et accédez à l'onglet Services.
2. Recherchez le service AddPrompts, puis cliquez sur Exécuter.
3. Dans l'entrée promptInfo, cliquez sur +Ajouter.
4. Spécifiez ce qui suit :
◦ Nom : Obtenir le statut actuel de la machine
◦ Description : Requête permettant d'obtenir le statut actuel d'une machine. Elle prend machineName comme entrée.
◦ Contenu :
{
"text": "Get current status of {machineName}",
"type": "text"
◦ Arguments de requête: ajoutez l'argument machineName.
5. Cliquez sur Ajouter.
6. Cliquez sur Enregistrer.
7. Cliquez sur Exécuter.
◦ La requête est ajoutée.
◦ Exécutez GetAllPrompts pour confirmer l'ajout de la requête.
8. Dans VS Code IDE, assurez-vous que le client MCP est en cours d'exécution. Le nombre d'outils et de requêtes doit s'afficher à l'écran.
9. Ouvrez la fenêtre de discussion sur le côté droit.
10. Entrez / dans la fenêtre de chat et sélectionnez la requête ajoutée aux étapes précédentes.
11. Entrez les valeurs d'entrée, puis appuyez sur Entrée. La sortie doit afficher le statut demandé de la machine.
Cas d'utilisation 3
Objectif
Un responsable d'usine ou un opérateur de machine a accès aux données commerciales et opérationnelles pertinentes, mais ne sait pas comment interroger le jeu de données, extraire les informations requises ou en tirer des informations pertinentes.
Résultat
Les données disponibles sont ingérées et exposées en tant que ressource que le LLM peut utiliser comme référence contextuelle. Le LLM analyse et interprète ces données et génère un résultat qui s'aligne sur la requête de l'utilisateur, fournissant ainsi des informations claires et exploitables sans que l'utilisateur ait besoin de comprendre la structure de données sous-jacente ou le langage de requête.
Etapes
1. Ouvrez la ressource MCPServices et accédez à l'onglet Services.
2. Recherchez le service AddResources, puis cliquez sur Exécuter.
3. Dans l'entrée resourceInfo, cliquez sur +Ajouter.
4. Spécifiez ce qui suit :
◦ Nom : QueryMachineData
◦ URI : file:///C:/Thingworx/ThingworxRepository/DataRepository/all-available-machine-data.json
| Le fichier JSON référencé dans le chemin d'accès à l'URI contient des données machine exportées à partir du flux de valeurs. |
◦ Description : ressource permettant d'obtenir des données machine. Elle prend le nom de la machine en entrée et renvoie une table d'informations.
◦ Nom du fournisseur de services : MCP.HelperThing
◦ Type de fournisseur de services : Thing
5. Cliquez sur Ajouter.
6. Cliquez sur Enregistrer.
7. Cliquez sur Exécuter.
◦ La ressource est ajoutée.
◦ Exécutez GetAllResources pour confirmer l'ajout de la requête.
8. Dans VS Code IDE, assurez-vous que le client MCP est en cours d'exécution. Le nombre d'outils et de requêtes doit s'afficher à l'écran.
9. Appuyez sur Ctrl+Maj+P pour ouvrir la palette de commandes.
10. Sélectionnez la commande MCP: Browse Resources.
11. Sélectionnez QueryMachineData dans la liste. all-available-machine-data.json est ajouté en tant que ressource pour le LLM dans la fenêtre de discussion.
12. Entrez une requête pour les données jointes.