heilingbrunner/tiaportal-mcp — A Opção de Código Aberto Mais Avançada
30 ferramentas MCP · Apenas V20 · Inativo desde setembro de 2025
Este é o concorrente de código aberto mais sério. Desenvolvido durante aproximadamente 4 meses (junho–setembro de 2025) por 3 contribuidores, com 32 estrelas e 11 forks no GitHub. Também distribuído como uma extensão para VS Code. No entanto, o projeto está inativo há mais de 6 meses.
Stack Técnica
C# puro .NET Framework 4.8 (sem intermediário Node.js). Utiliza o SDK oficial .NET MCP (ModelContextProtocol v0.3.0-preview). Transporte via stdio apenas (sem HTTP/SSE). Referencia pacotes NuGet Siemens V20 — uma abordagem mais moderna do que o carregamento dinâmico de DLL, mas travada em uma única versão.
30 Ferramentas MCP — O Que Elas Cobrem
As ferramentas cobrem 7 categorias: gestão de conexão (Connect, Disconnect, GetState), operações de projeto (Open, Save, Close, GetProjectTree), inspeção de hardware (GetDevices, GetDeviceInfo), gestão de software (GetSoftwareTree, CompileSoftware), operações de blocos (GetBlocks, ImportBlock, ExportBlock), manipulação de UDT (GetTypes, ImportType, ExportType) e suporte ao formato de documento V20 (ExportAsDocuments, ImportFromDocuments).
O suporte ao formato de documento V20 (.s7dcl/.s7res) é um recurso notável — este é um novo formato da Siemens que permite exportar blocos em um formato estruturado e legível por humanos.
O Que Ele Não Faz
Problemas Técnicos
Sem Threading STA
Este é o problema mais crítico. A Siemens Openness API usa objetos COM que exigem o modo Single-Threaded Apartment (STA). Sem o despacho STA adequado, as chamadas COM podem corromper dados silenciosamente ou travar aleatoriamente sob carga concorrente. Isso torna a ferramenta não confiável para qualquer pipeline automatizado.
Arquitetura Monolítica
Portal.cs contém 2.300 linhas e McpServer.cs coloca todas as ferramentas em um único arquivo. Isso torna a base de código difícil de manter e estender.
V20 Fixada no Código
Embora aceite um argumento de CLI --tia-major-version, as referências NuGet estão fixadas na V20. A maioria das fábricas reais ainda utiliza V17 ou V18.
Sempre Requer GUI
Sem modo headless — o TIA Portal deve ser aberto manualmente primeiro. Não pode ser usado em pipelines de CI/CD.
Seleção de Processo
Usa processes.First() — anexa-se à primeira instância do TIA Portal encontrada. Se várias instâncias estiverem rodando, não há como selecionar qual delas usar.
Com aproximadamente 13% da superfície funcional do T-IA Connect, o heilingbrunner é a opção de código aberto mais avançada. Seu suporte ao formato de documento V20 é genuinamente útil. No entanto, a falta de threading STA, a ausência de operações online, a falta de gestão de tags e os mais de 6 meses de inatividade o tornam inadequado para automação de produção.