heilingbrunner/tiaportal-mcp — L'option open-source la plus avancée
30 outils MCP · V20 uniquement · Inactif depuis septembre 2025
C'est le concurrent open-source le plus sérieux. Développé sur environ 4 mois (juin–septembre 2025) par 3 contributeurs, avec 32 stars et 11 forks sur GitHub. Également distribué en extension VS Code. Cependant, le projet est inactif depuis plus de 6 mois.
Stack technique
C# .NET Framework 4.8 pur (pas d'intermédiaire Node.js). Utilise le SDK MCP officiel .NET (ModelContextProtocol v0.3.0-preview). Transport via stdio uniquement (pas de HTTP/SSE). Référence les packages NuGet Siemens V20 — une approche plus moderne que le chargement dynamique de DLL, mais verrouillée sur une seule version.
30 outils MCP — Ce qu'ils couvrent
Les outils couvrent 7 catégories : gestion de connexion (Connect, Disconnect, GetState), opérations de projet (Open, Save, Close, GetProjectTree), inspection hardware (GetDevices, GetDeviceInfo), gestion logicielle (GetSoftwareTree, CompileSoftware), opérations sur les blocs (GetBlocks, ImportBlock, ExportBlock), gestion des UDTs (GetTypes, ImportType, ExportType), et support du format document V20 (ExportAsDocuments, ImportFromDocuments).
Le support du format document V20 (.s7dcl/.s7res) est une fonctionnalité notable — c'est un nouveau format Siemens qui permet d'exporter les blocs dans un format structuré et lisible par l'homme.
Ce qu'il ne fait PAS
Problèmes techniques
Pas de threading STA
C'est le problème le plus critique. L'API Openness de Siemens utilise des objets COM qui nécessitent le mode Single-Threaded Apartment (STA). Sans dispatching STA correct, les appels COM peuvent corrompre silencieusement les données ou crasher aléatoirement sous charge concurrente. Cela rend l'outil non fiable pour tout pipeline automatisé.
Architecture monolithique
Portal.cs contient 2 300 lignes et McpServer.cs regroupe tous les outils dans un seul fichier. Cela rend le code difficile à maintenir et à étendre.
V20 codé en dur
Bien qu'il accepte un argument CLI --tia-major-version, les références NuGet sont codées en dur pour V20. La plupart des usines réelles utilisent encore V17 ou V18.
Nécessite toujours l'interface graphique
Pas de mode headless — TIA Portal doit être ouvert manuellement au préalable. Ne peut pas être utilisé dans des pipelines CI/CD.
Sélection de processus
Utilise processes.First() — s'attache à la première instance TIA Portal trouvée. Si plusieurs instances sont en cours d'exécution, impossible de choisir laquelle utiliser.
Avec environ 13 % de la surface fonctionnelle de T-IA Connect, heilingbrunner est l'option open-source la plus avancée. Son support du format document V20 est réellement utile. Cependant, l'absence de threading STA, d'opérations en ligne, de gestion des tags et plus de 6 mois d'inactivité le rendent inapproprié pour l'automatisation en production.