heilingbrunner/tiaportal-mcp — L'opzione Open-Source più avanzata
30 strumenti MCP · solo V20 · Inattivo da settembre 2025
Questo è il concorrente open-source più serio. Sviluppato in circa 4 mesi (giugno–settembre 2025) da 3 collaboratori, con 32 stelle e 11 fork su GitHub. Distribuito anche come estensione per VS Code. Tuttavia, il progetto è inattivo da oltre 6 mesi.
Stack Tecnico
Puro C# .NET Framework 4.8 (nessun intermediario Node.js). Utilizza l'SDK MCP .NET ufficiale (ModelContextProtocol v0.3.0-preview). Trasporto solo via stdio (niente HTTP/SSE). Riferimenti ai pacchetti NuGet Siemens V20 — un approccio più moderno rispetto al caricamento dinamico delle DLL, ma bloccato su una singola versione.
30 strumenti MCP — Cosa coprono
Gli strumenti coprono 7 categorie: gestione della connessione (Connect, Disconnect, GetState), operazioni di progetto (Open, Save, Close, GetProjectTree), ispezione hardware (GetDevices, GetDeviceInfo), gestione software (GetSoftwareTree, CompileSoftware), operazioni sui blocchi (GetBlocks, ImportBlock, ExportBlock), gestione UDT (GetTypes, ImportType, ExportType) e supporto al formato documenti V20 (ExportAsDocuments, ImportFromDocuments).
Il supporto al formato documenti V20 (.s7dcl/.s7res) è una caratteristica notevole — si tratta di un nuovo formato Siemens che consente di esportare i blocchi in un formato strutturato e leggibile dall'uomo.
Cosa non fa
Problemi Tecnici
Nessun Threading STA
Questo è il problema più critico. L'Openness API di Siemens utilizza oggetti COM che richiedono la modalità Single-Threaded Apartment (STA). Senza un corretto dispatching STA, le chiamate COM possono corrompere silenziosamente i dati o bloccarsi casualmente sotto carico simultaneo. Ciò rende lo strumento inaffidabile per qualsiasi pipeline automatizzata.
Architettura Monolitica
Portal.cs contiene 2.300 righe e McpServer.cs mette tutti gli strumenti in un unico file. Questo rende il codice difficile da mantenere ed estendere.
V20 Hardcoded
Sebbene accetti un argomento CLI --tia-major-version, i riferimenti NuGet sono codificati per la V20. La maggior parte delle fabbriche reali utilizza ancora la V17 o la V18.
Richiede sempre la GUI
Nessuna modalità headless — TIA Portal deve essere aperto manualmente per primo. Impossibile da utilizzare nelle pipeline CI/CD.
Selezione del Processo
Utilizza processes.First() — si aggancia alla prima istanza di TIA Portal trovata. Se sono in esecuzione più istanze, non c'è modo di selezionare quale.
Con circa il 13% della superficie funzionale di T-IA Connect, heilingbrunner è l'opzione open-source più avanzata. Il suo supporto per il formato documenti V20 è genuinamente utile. Tuttavia, la mancanza di threading STA, l'assenza di operazioni online, la mancanza di gestione dei tag e oltre 6 mesi di inattività lo rendono inadatto per l'automazione della produzione.