WinCC Unified MCP XT
Un servidor MCP para interactuar con sistemas SCADA SIEMENS WinCC Unified a través de su API GraphQL.
Documentación
WinCC Unified MCP XT
Un servidor de Model Context Protocol (MCP) diseñado para interactuar con sistemas SCADA SIEMENS WinCC Unified a través de su API GraphQL. Este servidor expone diversas funcionalidades de WinCC Unified como herramientas MCP, permitiendo que asistentes de IA y otros clientes compatibles con MCP interactúen programáticamente con el sistema SCADA.
Este proyecto está basado en el repositorio de Andreas Vogler
🔧 Características
- Se conecta a un endpoint GraphQL de WinCC Unified.
- Proporciona herramientas MCP para:
- ✅ Autenticación de usuarios (
login-user) - 📂 Exploración de objetos SCADA (
browse-objects) - 📊 Lectura de valores actuales de etiquetas (
get-tag-values) - 🕒 Consulta de datos históricos/registrados de etiquetas (
get-logged-tag-values) - 🚨 Obtención de alarmas activas (
get-active-alarms) - 📁 Obtención de alarmas registradas (
get-logged-alarms) - ✍️ Escritura de valores en etiquetas (
write-tag-values) - 🟢 Confirmación de alarmas (
acknowledge-alarms) - 🔄 Restablecimiento de alarmas (
reset-alarms)
- ✅ Autenticación de usuarios (
- Inicio de sesión automático opcional con cuenta de servicio y mecanismo de renovación de token.
⚙️ Requisitos previos
- Node.js (se recomienda v18.x o superior)
- npm (incluido con Node.js)
- Acceso a un endpoint de servidor WinCC Unified GraphQL en funcionamiento
⚙️ Configuración
Este servidor utiliza un archivo config.js escrito en sintaxis de módulos ES.
Ejemplo de config.js (ESM):
export const config = {
URL: "https://your-wincc-server.example.com/graphql", // required
userName: "service_account_username", // optional
pwr: "service_account_password", // optional
};
🚀 Cómo iniciar
- Navegue a la carpeta del proyecto:
cd your-project-directory
- Instale las dependencias:
npm install
-
Edite config.js como se muestra arriba.
-
Inicie el servidor
node start
🖥️ Conexión con Claude Desktop
Para usar este servidor MCP con Claude AI (versión de escritorio):
-
Busque o cree el archivo claude_desktop_config.json (normalmente en la carpeta de configuración de la aplicación Claude).
-
Agregue o actualice lo siguiente:
{
"mcpServers": {
"WinCC Unified": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:3000/mcp"]
}
}
}
- Asegúrese de que @modelcontextprotocol/tools esté instalado:
npm install -g @modelcontextprotocol/tools
🧰 Herramientas MCP disponibles
| Herramienta | Descripción |
|---|---|
login-user | Inicia sesión con nombre de usuario/contraseña. |
browse-objects | Explora los elementos SCADA configurados. |
get-tag-values | Recupera valores de etiquetas en vivo. |
get-logged-tag-values | Obtiene datos históricos de etiquetas. |
get-active-alarms | Lista las alarmas actualmente activas. |
get-logged-alarms | Muestra alarmas previamente activadas. |
write-tag-values | Actualiza una o más etiquetas. |
acknowledge-alarms | Confirma alarmas. |
reset-alarms | Restablece alarmas. |
📝 Notas
-
Si está configurado, una cuenta de servicio inicia sesión automáticamente y el token se renueva cada minuto.
-
El inicio de sesión manual de un usuario anula temporalmente la sesión de servicio.