Casos de uso de ejemplo
|
|
Model Context Protocol (beta) se ofrece actualmente en modo de versión preliminar y solo proporciona la validación funcional básica. En versiones futuras se introducirán capacidades ampliadas y de cualificación completas.
|
Requisitos previos
1. Crear una AppKey en ThingWorx Composer. Definir una fecha de vencimiento adecuada.
2. Configurar el cliente MCP con VS Code IDE y Claude Desktop.
Configuración del servidor MCP de ThingWorx en VS Code IDE
1. Abra VS Code IDE.
2. Pulse Ctrl+Mayús+P para abrir la paleta de comandos.
3. Seleccione el comando MCP Add Server.
4. Seleccione HTTP (HTTP or Server-Sent Events).
5. Introduzca ThingWorx Server URL>/mcp y pulse Intro.
6. Introduzca el nombre del servidor, por ejemplo, ThingWorxMCPServer, y pulse Intro.
7. Seleccione Global o Workspace en función de las necesidades empresariales y, a continuación, pulse Intro.
El fichero mcp.json se crea en VS Code IDE con url y type como claves.
8. Añada el código siguiente después de “type”: "headers": {<APPLICATION_KEY>"}
El fichero mcp.json debería tener el siguiente aspecto:
{
"servers": {
"ThingworxMCP": {
"url": "https://centr154-eastus-iot-01-twx.ptcdevops.com/Thingworx/mcp",
"type": "http",
"headers": {
"AppKey": "a57da3b7-a7f7-4b05-b48a-ac6ccdc21939"
}
}
},
"inputs": []
9. De este modo, se inicia el cliente MCP en VS Code IDE.
Si ThingWorx está configurado para el inicio de sesión único (SSO), utilice el siguiente formato de URL: <ThingWorx Server URL>rp>mcp.
Escenario de ejemplo
Una planta de fabricación tiene múltiples máquinas que supervisar con los siguientes KPI críticos:
• Estado
• Temperatura
• Humedad
• Consumo de energía
• Tiempo de ejecución diario
• Período de inactividad diario
Cree las siguientes entidades:
• Plant1.Machine.TT (ThingTemplate)
Propiedades:
◦ Status (STRING | Persist | Logged)
◦ Temperature (NUMBER | Persist | Logged)
◦ Humidity (NUMBER | Persist | Logged)
◦ EnergyConsumption (NUMBER | Persist | Logged)
• Plant1.WeldingMachine1.Thing Thing
• Plant1.WeldingMachine2.Thing Thing
• Plant1.WeldingMachine3.Thing Thing
• Plant1.WeldingMachine4.Thing Thing
• Plant1.WeldingMachine.VS (Value Stream)
Asegúrese de que todas las cosas transmitan datos en vivo a intervalos regulares.
Caso práctico 1
Finalidad
Un gerente de planta o supervisor de máquina necesita una instantánea operativa inmediata de una máquina de la fábrica. El objetivo es comprender rápidamente el rendimiento actual e identificar condiciones anormales en las métricas operativas clave.
Solicitud del usuario
Obtener el estado más reciente de la máquina con KPI críticos.
Resultado
Resumen del estado de la máquina con los valores de KPI más recientes, como el consumo de energía, la temperatura y el tiempo de ejecución total.
Pasos
1. Cree una cosa auxiliar denominada MCP.HelperThing en ThingWorx.
2. Cree un servicio GetCurrentMachineStatusKPI con:
◦ Entrada: machineName (STRING)
◦ Salida: result (STRING)
3. Abra el recurso MCPServices y vaya a la ficha Servicios.
4. Busque el servicio AddTools y pulse en Ejecutar.
5. En la entrada de toolInfo, pulse en +Añadir.
6. Introduzca lo siguiente:
◦ Nombre del proveedor de servicio: MCP.HelperThing
◦ Tipo de proveedor de servicio: Thing
◦ Nombre del servicio: GetCurrentMachineStatusKPI
◦ Descripción: el servicio devuelve el estado más reciente con KPI. Toma machineName como entrada y devuelve los datos de KPI.
◦ Nombre de la aplicación: ThingWorx
7. Pulse en Definir.
8. Pulse en Guardar.
9. Pulse en Ejecutar.
◦ La herramienta se añade correctamente.
◦ Ejecute GetAllTools para confirmar que se ha añadido la herramienta.
10. En VS Code IDE, asegúrese de que el cliente MCP se esté ejecutando. Se debería ver la cantidad de herramientas e indicaciones en pantalla.
11. Abra la ventana de chat en el lado derecho.
12. Introduzca la solicitud: Obtenga el estado más reciente de la máquina con los KPI críticos.
La salida debería mostrar los datos de KPI solicitados.
Caso práctico 2
Finalidad
Un gerente de planta o supervisor de máquina necesita una instantánea operativa inmediata de una máquina, pero es posible que no sepa cómo redactar una solicitud eficaz. Este caso de uso ayuda a los usuarios a acceder rápidamente a la información de la máquina sin necesidad de conocimientos de creación de solicitudes especiales.
Resultado
El sistema proporciona solicitudes de ejemplo listas para usar que los usuarios pueden consumir, personalizar y refinar según sus necesidades. De este modo, se obtiene un acceso rápido y coherente a la información crítica de la máquina.
Pasos
1. Abra el recurso MCPServices y vaya a la ficha Servicios.
2. Busque el servicio AddPrompts y pulse en Ejecutar.
3. En la entrada de promptInfo, pulse en +Añadir.
4. Introduzca los siguientes detalles:
◦ Nombre: obtener estado actual de la máquina
◦ Descripción: una solicitud para obtener el estado actual de una máquina. Toma machineName como entrada.
◦ Contenido:
{
"text": "Get current status of {machineName}",
"type": "text"
◦ Argumentos de solicitud: añada el argumento machineName.
5. Pulse en Añadir.
6. Pulse en Guardar.
7. Pulse en Ejecutar.
◦ La solicitud se añade correctamente.
◦ Ejecute GetAllPrompts para confirmar que se ha añadido la solicitud.
8. En VS Code IDE, asegúrese de que el cliente MCP se esté ejecutando. Se debería ver la cantidad de herramientas e indicaciones en pantalla.
9. Abra la ventana de chat en el lado derecho.
10. Introduzca / en la ventana de chat y seleccione la solicitud añadida en los pasos anteriores.
11. Introduzca los valores de entrada y pulse Intro. La salida debería mostrar el estado de la máquina solicitada.
Caso práctico 3
Finalidad
Un gerente de planta u operador de máquina tiene acceso a datos comerciales y operativos pertinentes, pero no sabe cómo consultar el conjunto de datos, extraer la información necesaria u obtener información significativa.
Resultado
Los datos disponibles se ingieren y exponen como un recurso para que el LLM los use como referencia contextual. El LLM analiza e interpreta estos datos, y genera una salida que se alinea con la solicitud del usuario, proporcionando inteligencia clara y procesable sin necesidad de que el usuario comprenda la estructura de datos subyacente o el lenguaje de consulta.
Pasos
1. Abra el recurso MCPServices y vaya a la ficha Servicios.
2. Busque el servicio AddResources y pulse en Ejecutar.
3. En la entrada de resourceInfo, pulse en +Añadir.
4. Introduzca los siguientes detalles:
◦ Nombre: QueryMachineData
◦ URI: file:///C:/Thingworx/ThingworxRepository/DataRepository/all-available-machine-data.json
| En el fichero JSON al que se hace referencia en la ruta del URI se incluyen datos de la máquina exportados del flujo de valores. |
◦ Descripción: un recurso para obtener datos de la máquina. Toma el nombre de la máquina como entrada y devuelve una infotable.
◦ Nombre del proveedor de servicio: MCP.HelperThing
◦ Tipo de proveedor de servicio: Thing
5. Pulse en Añadir.
6. Pulse en Guardar.
7. Pulse en Ejecutar.
◦ El recurso se añade correctamente.
◦ Ejecute GetAllResources para confirmar que se ha añadido la solicitud.
8. En VS Code IDE, asegúrese de que el cliente MCP se esté ejecutando. Se debería ver la cantidad de herramientas e indicaciones en pantalla.
9. Pulse Ctrl+Mayús+P para abrir la paleta de comandos.
10. Seleccione el comando MCP: Browse Resources.
11. Seleccione QueryMachineData de la lista. all-available-machine-data.json se añade como un recurso para el LLM en la ventana de chat.
12. Introduzca una solicitud para los datos conectados.