Djupgående analys 2026

Varje MCP-server för TIA Portal,
Analyserad och jämförd

Fyra projekt ansluter AI till Siemens TIA Portal via MCP. Vi har analyserat deras källkod, arkitektur och säkerhet. Ett är byggt för produktion, tre är open source-experiment. Här är den fullständiga tekniska genomgången.

MCP-landskapet för TIA Portal

Model Context Protocol (MCP) gör det möjligt för AI-agenter att interagera direkt med ingenjörsverktyg. För Siemens TIA Portal finns idag fyra implementationer.

T-IA Connect

Kommersiell · Industriell kvalitet

MCP-brygga av industriell kvalitet med 369 verktyg som täcker hela livscykeln för TIA Portal: projekthantering, CRUD för block, tagghantering, HMI, online-operationer, PLCSim-simulering med mera. Aktiv utveckling, professionell support.

Openness API (V17–V21)

heilingbrunner/tiaportal-mcp

Open Source · VS Code-tillägg

VS Code-tillägg med 30 MCP-verktyg för projektbläddring, import/export av block, kompilering och det nya V20-dokumentformatet. Ingen tagghantering, inget HMI, inga online-operationer. Inaktivt sedan september 2025.

Openness API (endast V20)

gangsterke/Tia-Portal-MCP-server

Open Source · Koncepttest (PoC)

Minimal prototyp med 12 läsverktyg för projektbläddring och taggläsning. Byggt på en enda dag, aldrig uppdaterat. V18 hårdkodat, ingen felhantering, ingen säkerhet.

Openness API (endast V18)

cadugrillo/s7-mcp-bridge

Open Source · Runtime-övervakare

Annorlunda tillvägagångssätt: ansluter direkt till PLC Web API (HTTPS) utan TIA Portal. 21 verktyg för runtime-övervakning, läsning/skrivning av taggar och CPU-kontroll. Inga ingenjörsfunktioner.

PLC Web API (S7-1200/1500)

Analys av källkod

Vi granskade källkoden för varje projekt för att bedöma arkitektur, säkerhet och användbarhet i verkligheten. Här är vad vi fann.

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

Ingen tagghantering — kan inte läsa, skriva, skapa eller importera/exportera taggar
Inget stöd för HMI/WinCC — inga skärmar, anslutningar, larm eller HMI-taggar
Inga online-operationer — ingen GoOnline, Download eller realtidsövervakning
Inget stöd för PLCSim-simulering
Ingen generering av block — kan inte skapa nya block i SCL, LAD, FBD eller GRAPH
Ingen hantering av nätverk/subnät eller biblioteksstöd
Inga observationstabeller (watch tables) eller forceratabeller
Inget jobbsystem — alla operationer är synkrona och blockerande

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.

~13 % funktionell täckning jämfört med T-IA Connect

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.

gangsterke/Tia-Portal-MCP-server — Ett endagars-koncepttest

12 MCP-verktyg · Endast V18 · Byggt på en dag, aldrig uppdaterat

Detta projekt är precis vad det ser ut som: ett koncepttest (PoC) byggt på en enda dag (12 oktober 2025) och aldrig uppdaterat sedan dess. Cirka 1 260 rader kod totalt. Det visar att det är möjligt att ansluta MCP till TIA Portal, men erbjuder inget utöver det.

Teknisk stack

Arkitektur med dubbla processer: ett Node.js TypeScript-lager (~400 rader) hanterar MCP-protokollet, medan en C# .NET Framework 4.8-underprocess (~860 rader i en enda Program.cs) anropar Openness API. Kommunikation mellan de två processerna via stdin/stdout JSON.

12 MCP-verktyg — Endast läsning

Alla verktyg är skrivskyddade: öppna/stänga projekt, lista PLC:er, lista block (endast på rotnivå — ingen rekursion i grupper), exportera ett enskilt block som XML, läsa taggtabeller, söka efter taggar, hämta maskinvarukonfiguration, hämta projektinfo samt två OPC UA-verktyg (exportera/hämta gränssnittsinfo). OPC UA-stödet är dess enda unika funktion.

Verktyget get_block_code är missledande — det returnerar endast metadata (namn, typ, språk), inte den faktiska källkoden.

Anmärkningsvärda problem

Hårdkodat för V18

Absoluta sökvägar till Portal V18\PublicAPI\V18\ är hårdkodade. Inget stöd för flera versioner överhuvudtaget.

Ingen STA-threading

Fungerar av tur på .NET Framework 4.8 eftersom huvudtråden som standard är STA, men detta hanteras inte explicit och kommer att misslyckas vid samtidig belastning.

Tyst sväljning av fel

Tomma catch-block genom hela koden — fel ignoreras tyst. Om något går fel får du aldrig veta det.

Race condition vid uppstart

Använder en enkel setTimeout(2000ms) för att vänta på att C#-underprocessen ska starta. Ingen hälsokontroll, inget korrekt handskakningsprotokoll.

Noll säkerhet

Ingen autentisering, ingen validering av sökvägar (directory traversal är möjligt), ingen hastighetsbegränsning. Noll tester, noll CI/CD, ingen LICENSE-fil trots påstående om MIT i package.json.

~1–2 % funktionell täckning jämfört med T-IA Connect

Med cirka 1–2 % av T-IA Connects funktionella omfattning är detta ett minimalt koncepttest, inte ett verktyg. Dess enda originella bidrag är stöd för OPC UA-gränssnitt. Användbart som en läroövning, farligt för allt annat.

cadugrillo/s7-mcp-bridge — Runtime-övervakning utan TIA Portal

21 MCP-verktyg · PLC Web API · Inga ingenjörsfunktioner

Detta projekt tar ett fundamentalt annorlunda grepp: istället för att ansluta till TIA Portal via Openness API, ansluter det direkt till PLC:ns inbyggda Web API (JSON-RPC över HTTPS). Ingen Siemens-programvara behövs — bara en nätverksanslutning till PLC:n. Detta gör det till ett komplement snarare än en konkurrent till de andra projekten, men det introducerar allvarliga säkerhetsrisker.

Teknisk stack

Ren TypeScript/Node.js. Transport via HTTP-stream (port 57001) eller stdio. Paketeringen inkluderar Docker-bilder för flera arkitekturer och ett Claude Desktop-tillägg (.mcpb). Inga Siemens-beroenden — bara fetch()-anrop till https://<PLC_IP>/api/jsonrpc.

21 MCP-verktyg — Fokus på runtime

System (Api-Ping, Api-Version, Api-Browse), Autentisering (Api-Login, Api-Logout, ChangePassword), Konfiguration (List-AvailablePlcs), Data (PlcProgram-Browse, PlcProgram-Read, PlcProgram-Write), CPU-kontroll (ReadOperatingMode, RequestChangeOperatingMode, ReadSystemTime, SetSystemTime), Diagnostik (Alarms-Browse, Alarms-Acknowledge, DiagnosticBuffer-Browse) och Säkerhetskopiering (Plc-CreateBackup).

Vad det gör bra

Ingen Siemens-installation krävs — vilken maskin som helst med Node.js kan ansluta
Ren arkitektur: en fil per verktyg, välorganiserad källkod
Stöd för Docker och Claude Desktop-tillägg
Runtime-övervakning utan att behöva ha TIA Portal öppet

Vad som är farligt

AI kan stoppa produktionen

Verktyget RequestChangeOperatingMode låter en AI-agent sätta en CPU i STOP-läge. Verktyget PlcProgram-Write låter den skriva godtyckliga värden till PLC-taggar. På en produktionslinje kan en AI-hallucination stoppa en hel fabrik. Det finns ingen bekräftelsedialog, ingen granskningslogg, ingen säkerhetskontroll. By contrast, T-IA Connect deliberately disabled the start_cpu and stop_cpu commands — they return an explicit error even though the Openness API would allow it. Downloading to a physical CPU requires a manual confirmation with a detailed safety message.

TLS inaktiverat globalt

Koden sätter NODE_TLS_REJECT_UNAUTHORIZED = "0", vilket inaktiverar validering av TLS-certifikat för hela Node.js-processen — inte bara för PLC-anslutningar. Detta är en säkerhetsbrist.

Inloggningsuppgifter i minnet

Inloggningsuppgifter till PLC lagras i klartext i minnet. Ingen kryptering, ingen säker lagring.

Noll tester

Ingen testsvit för ett verktyg som direkt styr industriell utrustning. Inaktivt sedan oktober 2025.

Annan kategori — endast runtime-övervakning

s7-mcp-bridge fyller en annan nisch — runtime-övervakning via PLC Web API, inte konstruktion. Noll-installations-metoden är intressant för övervakningspaneler. Den totala avsaknaden av säkerhetsspärrar på kritiska operationer (CPU STOP, taggskrivning) gör det dock farligt för alla industriella miljöer. T-IA Connect täcker både konstruktion och runtime-operationer med korrekta skyddsåtgärder.

Varför produktionssäkerhet spelar roll

Att ansluta en AI till industriell utrustning är inget leksaksprojekt. Här är vad som står på spel.

STA-threading är icke-förhandlingsbart

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 belastning. T-IA Connect är den enda implementationen med en korrekt StaDispatcher.

AI + PLC = Säkerhetskritiskt

När en AI-agent kan skriva taggar, ladda ner program eller ändra driftslägen för CPU:er, kan en enda hallucination stoppa en produktionslinje. T-IA Connect använder autentisering med API-nyckel, hastighetsbegränsning och loggning av åtgärder. Open source-alternativen saknar helt säkerhetsspärrar.

Stöd för flera versioner är viktigt

De flesta fabriker kör V17 eller V18 — inte V20. Ett verktyg som är hårdkodat till en enda TIA Portal-version exkluderar majoriteten av verkliga installationer. T-IA Connect laddar dynamiskt rätt Openness-DLL:er för versionerna V17 till V21.

Headless-läge för CI/CD

Automaterade flöden behöver köras utan GUI. T-IA Connect kan öppna TIA Portal i headless-läge, kompilera, ladda ner och stänga — utan någon användarinteraktion. Open source-alternativen kräver att TIA Portal öppnas manuellt först.

Jämförelsetabell funktion för funktion

Den fullständiga jämförelsematrisen — alla funktioner, alla fyra servrar, vid en blick

Funktion
T-IA Connect
heilingbrunner
gangsterke
s7-mcp-bridge
MCP-verktyg
369
30
12
21
TIA Portal-versioner
V17, V18, V19, V20, V21
Endast V20 (NuGet hårdkodat)
Endast V18 (sökväg hårdkodad)
N/A — ingen TIA Portal behövs
Blockoperationer
Full CRUD + generering av SCL/LAD/FBD/GRAPH
Import/Export (XML & V20-dokument)
Endast export (rotnivå)
Inga
Tagghantering
Full CRUD + import/export
Ingen
Endast läsning
Läsning/skrivning i runtime
HMI / WinCC
Skärmar, anslutningar, larm, taggar
Ingen
Ingen
Ingen
Online-operationer
GoOnline, Download (confirmation required), monitoring — Run/Stop CPU disabled by design for safety
Ingen
Ingen
Run/Stop CPU, läsa/skriva taggar
PLCSim-simulering
PLCSim + PLCSim Advanced
Ingen
Ingen
Ingen
STA-threading
StaDispatcher (produktionssäker)
Ingen (risk för COM-krasch)
Ingen (risk för COM-krasch)
N/A
Säkerhet
API-nyckel + hastighetsbegränsning + RSA-licens
Ingen
Ingen
Ingen (TLS inaktiverat globalt)
Transport
HTTP + SSE + stdio
endast stdio
endast stdio
HTTP-stream + stdio
REST API
417 ändpunkter
Ingen
Ingen
Ingen
Headless-läge
Ja — inget GUI för TIA Portal krävs
Nej — kräver att TIA Portal är öppet
Nej — kräver att TIA Portal är öppet
N/A
Senast uppdaterad
Aktiv (veckovisa uppdateringar)
September 2025 (inaktiv 6+ månader)
Oktober 2025 (byggt på 1 dag, aldrig uppdaterat)
Oktober 2025 (inaktiv 6+ månader)
Licens
Kommersiell (14 dagars gratis provperiod)
MIT
MIT
MIT
CPU Safety Guardrails
start/stop CPU disabled by design, physical download requires mandatory confirmation, full audit trail
None (no online operations)
None (no online operations)
None — RequestChangeOperatingMode exposed unprotected, arbitrary tag write without confirmation

Vanliga frågor

Vad är MCP och varför är det viktigt för TIA Portal?

MCP (Model Context Protocol) är en öppen standard från Anthropic som gör det möjligt för AI-agenter att interagera med externa verktyg. För TIA Portal innebär det att vilken AI som helst — Claude, GPT, Llama, Gemini — kan skapa PLC-block, hantera taggar, kompilera och ladda ner program. Det är bryggan mellan modern AI och industriell automation.

Är de öppna MCP-servrarna säkra för produktionsbruk?

Nej. Ingen av de tre open source-implementationerna hanterar STA-threading korrekt, vilket innebär att de riskerar korruption av COM-objekt vid samtidig användning. De saknar också autentisering, hastighetsbegränsning och granskningsloggning — vilket är nödvändigt för alla verktyg som interagerar med industriell utrustning. De är användbara för experiment, inte för produktion.

Kan jag använda T-IA Connect med Claude, ChatGPT eller lokala modeller?

Ja. T-IA Connect stöder alla MCP-kompatibla klienter: Claude Desktop, Claude Code, Cursor, VS Code med Continue, Windsurf och alla anpassade integrationer. Eftersom MCP är ett öppet protokoll väljer du själv din AI-leverantör — inklusive lokala modeller via Ollama för miljöer utan internetanslutning.

Vad sägs om s7-mcp-bridge — är den inte ett komplement?

s7-mcp-bridge tar ett annat tillvägagångssätt: den ansluter till PLC:ns inbyggda Web API, inte till TIA Portal. Detta är användbart för runtime-övervakning, men den kan inte skapa block, hantera projektstrukturer eller utföra någon form av ingenjörsarbete. Den är också farlig: den kan sätta en CPU i STOP-läge och skriva godtyckliga taggvärden utan några säkerhetskontroller. T-IA Connect täcker både konstruktion och runtime-operationer med korrekta skyddsåtgärder.

Redo att ansluta AI till TIA Portal?

Börja med en gratis 14-dagars provperiod. Alla 369 MCP-verktyg, alla TIA Portal-versioner, inget kreditkort krävs.