heilingbrunner/tiaportal-mcp — Det mest avancerade open source-alternativet
30 MCP-verktyg · Endast V20 · Inaktivt sedan september 2025
Detta är den mest seriösa open source-konkurrenten. Utvecklat under cirka 4 månader (juni–september 2025) av 3 bidragsgivare, med 32 stjärnor och 11 forks på GitHub. Distribueras även som ett VS Code-tillägg. Projektet har dock varit inaktivt i över 6 månader.
Teknisk stack
Ren C# .NET Framework 4.8 (ingen Node.js-mellanhand). Använder officiell .NET MCP SDK (ModelContextProtocol v0.3.0-preview). Transport endast via stdio (ingen HTTP/SSE). Refererar till Siemens V20 NuGet-paket — ett modernare tillvägagångssätt än dynamisk DLL-laddning, men låst till en enda version.
30 MCP-verktyg — Vad de täcker
Verktygen täcker 7 kategorier: anslutningshantering (Connect, Disconnect, GetState), projektoperationer (Open, Save, Close, GetProjectTree), maskinvaruinspektion (GetDevices, GetDeviceInfo), programvaruhantering (GetSoftwareTree, CompileSoftware), blockoperationer (GetBlocks, ImportBlock, ExportBlock), UDT-hantering (GetTypes, ImportType, ExportType) och stöd för V20-dokumentformatet (ExportAsDocuments, ImportFromDocuments).
Stödet för V20-dokumentformatet (.s7dcl/.s7res) är en anmärkningsvärd funktion — detta är ett nytt Siemens-format som gör det möjligt att exportera block i ett strukturerat, läsbart format.
Vad det inte gör
Tekniska problem
Ingen STA-threading
Detta är det mest kritiska problemet. Siemens Openness API använder COM-objekt som kräver Single-Threaded Apartment (STA)-läge. Utan korrekt STA-hantering kan COM-anrop tyst korrumpera data eller krascha slumpmässigt under samtidig belastning. Detta gör verktyget otillförlitligt för automatiserade flöden.
Monolitisk arkitektur
Portal.cs innehåller 2 300 rader och McpServer.cs placerar alla verktyg i en enda fil. Detta gör källkoden svår att underhålla och utöka.
Hårdkodat för V20
Även om det accepterar ett --tia-major-version-argument är NuGet-referenserna hårdkodade till V20. De flesta verkliga anläggningar kör fortfarande V17 eller V18.
Kräver alltid GUI
Inget headless-läge — TIA Portal måste öppnas manuellt först. Kan inte användas i CI/CD-pipelines.
Val av process
Använder processes.First() — ansluter till den första TIA Portal-instansen som hittas. Om flera instanser körs finns det inget sätt att välja vilken man vill ansluta till.
Med cirka 13 % av T-IA Connects funktionella omfattning är heilingbrunner det mest avancerade open source-alternativet. Dess stöd för V20-dokumentformatet är genuint användbart. Avsaknaden av STA-threading, online-operationer och tagghantering, samt över 6 månaders inaktivitet, gör det dock olämpligt för produktionsautomation.