WinCC Unified MCP XT
Um servidor MCP para interfacear com sistemas SIEMENS WinCC Unified SCADA através de sua API GraphQL.
Documentação
WinCC Unified MCP XT
Um servidor Model Context Protocol (MCP) projetado para interfacear com sistemas SCADA SIEMENS WinCC Unified por meio de sua API GraphQL. Este servidor expõe várias funcionalidades do WinCC Unified como ferramentas MCP, permitindo que assistentes de IA e outros clientes compatíveis com MCP interajam programaticamente com o sistema SCADA.
Este projeto é baseado no repositório de Andreas Vogler
🔧 Recursos
- Conecta-se a um endpoint GraphQL do WinCC Unified.
- Fornece ferramentas MCP para:
- ✅ Autenticação de usuário (
login-user) - 📂 Navegação por objetos SCADA (
browse-objects) - 📊 Leitura de valores atuais de tags (
get-tag-values) - 🕒 Consulta de dados históricos/registrados de tags (
get-logged-tag-values) - 🚨 Obtenção de alarmes ativos (
get-active-alarms) - 📁 Obtenção de alarmes registrados (
get-logged-alarms) - ✍️ Escrita de valores em tags (
write-tag-values) - 🟢 Reconhecimento de alarmes (
acknowledge-alarms) - 🔄 Redefinição de alarmes (
reset-alarms)
- ✅ Autenticação de usuário (
- Login automático opcional de conta de serviço com mecanismo de renovação de token.
⚙️ Pré-requisitos
- Node.js (v18.x ou mais recente recomendado)
- npm (incluído com Node.js)
- Acesso a um endpoint de servidor WinCC Unified GraphQL em execução
⚙️ Configuração
este servidor usa um arquivo config.js escrito em sintaxe de módulo ES.
Exemplo 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
};
🚀 Como Iniciar
- Navegue até a pasta do projeto:
cd your-project-directory
- Instale as dependências:
npm install
-
Edite o config.js conforme mostrado acima.
-
Inicie o servidor
node start
🖥️ Conectando com o Claude Desktop
Para usar este servidor MCP com o Claude AI (versão desktop):
-
Encontre ou crie o arquivo claude_desktop_config.json (normalmente na pasta de configuração do aplicativo Claude).
-
Adicione ou atualize o seguinte:
{
"mcpServers": {
"WinCC Unified": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:3000/mcp"]
}
}
}
- Certifique-se de que @modelcontextprotocol/tools esteja instalado:
npm install -g @modelcontextprotocol/tools
🧰 Ferramentas MCP Disponíveis
| Ferramenta | Descrição |
|---|---|
login-user | Faz login com nome de usuário/senha. |
browse-objects | Navega pelos elementos SCADA configurados. |
get-tag-values | Obtém valores atuais de tags. |
get-logged-tag-values | Obtém dados históricos de tags. |
get-active-alarms | Lista alarmes atualmente ativos. |
get-logged-alarms | Mostra alarmes acionados anteriormente. |
write-tag-values | Atualiza uma ou mais tags. |
acknowledge-alarms | Reconhece alarmes. |
reset-alarms | Redefine alarmes. |
📝 Observações
-
Se configurado, uma conta de serviço é conectada automaticamente e o token é renovado a cada minuto.
-
O login manual de um usuário substitui temporariamente a sessão de serviço.