Analisi Approfondita 2026

Ogni Server MCP per TIA Portal,
Analizzato e Confrontato

Quattro progetti collegano l'IA a Siemens TIA Portal via MCP. Abbiamo analizzato il loro codice sorgente, l'architettura e la sicurezza. Uno è costruito per la produzione, tre sono esperimenti open-source. Ecco l'analisi tecnica completa.

Il Panorama MCP per TIA Portal

Il Model Context Protocol (MCP) consente agli agenti IA di interagire direttamente con gli strumenti di ingegneria. Per Siemens TIA Portal, esistono oggi quattro implementazioni.

T-IA Connect

Commerciale · Grado di produzione

Bridge MCP di grado industriale con 369 strumenti che coprono l'intero ciclo di vita di TIA Portal: gestione progetti, CRUD dei blocchi, gestione dei tag, HMI, operazioni online, simulazione PLCSim e altro ancora. Sviluppo attivo, supporto professionale.

Openness API (V17–V21)

heilingbrunner/tiaportal-mcp

Open Source · Estensione VS Code

Estensione VS Code con 30 strumenti MCP per l'esplorazione dei progetti, l'importazione/esportazione di blocchi, la compilazione e il nuovo formato di documenti V20. Nessuna gestione dei tag, niente HMI, nessuna operazione online. Inattivo da settembre 2025.

Openness API (solo V20)

gangsterke/Tia-Portal-MCP-server

Open Source · Proof of Concept

Prototipo minimale con 12 strumenti di sola lettura per l'esplorazione dei progetti e la lettura dei tag. Costruito in un solo giorno, mai aggiornato. V18 hardcoded, nessuna gestione degli errori, nessuna sicurezza.

Openness API (solo V18)

cadugrillo/s7-mcp-bridge

Open Source · Monitor di Runtime

Approccio diverso: si collega direttamente alla Web API del PLC (HTTPS) senza TIA Portal. 21 strumenti per il monitoraggio del runtime, lettura/scrittura di tag e controllo della CPU. Nessuna funzionalità di ingegneria.

Web API PLC (S7-1200/1500)

Analisi del Codice Sorgente

Abbiamo revisionato il codice sorgente di ogni progetto per valutarne l'architettura, la sicurezza e l'usabilità nel mondo reale. Ecco cosa abbiamo scoperto.

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

Nessuna gestione dei tag — impossibile leggere, scrivere, creare o importare/esportare tag
Nessun supporto HMI/WinCC — niente schermate, connessioni, allarmi o tag HMI
Nessuna operazione online — niente GoOnline, Download o monitoraggio in tempo reale
Nessun supporto alla simulazione PLCSim
Nessuna generazione di blocchi — impossibile creare nuovi blocchi in SCL, LAD, FBD o GRAPH
Nessuna gestione di reti/sottoreti o supporto alle librerie
Nessuna tabella di monitoraggio o tabella di forzamento
Nessun sistema di job — tutte le operazioni are sincrone e bloccanti

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.

~13% di copertura funzionale rispetto a T-IA Connect

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.

gangsterke/Tia-Portal-MCP-server — Un Proof of Concept di un giorno

12 strumenti MCP · solo V18 · Costruito in un giorno, mai aggiornato

Questo progetto è esattamente quello che sembra: un proof of concept costruito in un solo giorno (12 ottobre 2025) e mai aggiornato da allora. Circa 1.260 righe di codice totali. Dimostra che collegare MCP a TIA Portal è possibile, ma non offre nulla oltre a questo.

Stack Tecnico

Architettura a doppio processo: un livello Node.js TypeScript (~400 righe) gestisce il protocollo MCP, mentre un sottoprocesso C# .NET Framework 4.8 (~860 righe in un singolo Program.cs) chiama l'Openness API. Comunicazione tra i due processi tramite JSON su stdin/stdout.

12 strumenti MCP — Sola Lettura

Tutti gli strumenti sono di sola lettura: aprire/chiudere il progetto, elencare i PLC, elencare i blocchi (solo a livello radice — nessuna ricorsione nei gruppi), esportare un singolo blocco come XML, leggere le tabelle dei tag, cercare i tag, ottenere la configurazione hardware, ottenere informazioni sul progetto e due strumenti OPC UA (esportazione/ottenimento informazioni sull'interfaccia). Il supporto OPC UA è la sua unica caratteristica originale.

Lo strumento get_block_code è ingannevole — restituisce solo metadati (nome, tipo, linguaggio), non il codice sorgente effettivo.

Problemi Notevoli

V18 Hardcoded

I percorsi assoluti verso Portal V18\PublicAPI\V18\ sono hardcoded. Nessun supporto multi-versione.

Nessun Threading STA

Funziona per fortuna su .NET Framework 4.8 poiché il thread principale è predefinito su STA, ma questo non è gestito esplicitamente e fallirà sotto carico simultaneo.

Inghiottimento silenzioso degli errori

Blocchi catch vuoti in tutto il codice — gli errori vengono ignorati silenziosamente. Se qualcosa va storto, non lo saprai mai.

Race Condition all'avvio

Utilizza un semplice setTimeout(2000ms) per attendere l'avvio del sottoprocesso C#. Nessun controllo di salute, nessun handshake corretto.

Zero Sicurezza

Nessuna autenticazione, nessuna validazione dei percorsi (la directory traversal è possibile), nessun limite di velocità. Zero test, zero CI/CD, nessun file LICENSE nonostante dichiari MIT in package.json.

~1–2% di copertura funzionale rispetto a T-IA Connect

Con circa l'1–2% della superficie funzionale di T-IA Connect, questo è un proof of concept minimale, non uno strumento. Il suo unico contributo originale è il supporto per l'interfaccia OPC UA. Utile come esercizio di apprendimento, pericoloso per qualsiasi altra cosa.

cadugrillo/s7-mcp-bridge — Monitoraggio del Runtime senza TIA Portal

21 strumenti MCP · Web API PLC · Nessuna funzionalità di ingegneria

Questo progetto adotta un approccio fondamentalmente diverso: invece di connettersi a TIA Portal tramite l'Openness API, si connette direttamente alla Web API integrata nel PLC (JSON-RPC su HTTPS). Non è necessario alcun software Siemens — basta una connessione di rete al PLC. Ciò lo rende complementare piuttosto che concorrente agli altri progetti, ma introduce serie preoccupazioni per la sicurezza.

Stack Tecnico

Puro TypeScript/Node.js. Trasporto tramite HTTP-stream (porta 57001) o stdio. Il packaging include immagini Docker multi-architettura e un'estensione Claude Desktop (.mcpb). Nessuna dipendenza Siemens — solo chiamate fetch() a https://<PLC_IP>/api/jsonrpc.

21 strumenti MCP — Focus sul Runtime

Sistema (Api-Ping, Api-Version, Api-Browse), Autenticazione (Api-Login, Api-Logout, ChangePassword), Configurazione (List-AvailablePlcs), Dati (PlcProgram-Browse, PlcProgram-Read, PlcProgram-Write), Controllo CPU (ReadOperatingMode, RequestChangeOperatingMode, ReadSystemTime, SetSystemTime), Diagnostica (Alarms-Browse, Alarms-Acknowledge, DiagnosticBuffer-Browse) e Backup (Plc-CreateBackup).

Cosa fa bene

Nessuna installazione Siemens richiesta — qualsiasi macchina con Node.js può connettersi
Architettura pulita: un file per strumento, codice ben organizzato
Supporto per Docker ed estensione Claude Desktop
Monitoraggio del runtime senza necessità di tenere aperto TIA Portal

Cosa è pericoloso

L'IA può fermare la produzione

Lo strumento RequestChangeOperatingMode consente a un agente IA di mettere una CPU in modalità STOP. Lo strumento PlcProgram-Write gli consente di scrivere valori arbitrari nei tag del PLC. Su una linea di produzione, un'allucinazione dell'IA potrebbe fermare un'intera fabbrica. Non c'è dialogo di conferma, nessun audit trail, nessun controllo di sicurezza. 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 disabilitato globalmente

Il codice imposta NODE_TLS_REJECT_UNAUTHORIZED = "0", che disabilita la verifica del certificato TLS per l'intero processo Node.js — non solo per le connessioni al PLC. Questa è una vulnerabilità di sicurezza.

Credenziali in memoria

Le credenziali del PLC sono memorizzate in chiaro in memoria. Nessuna crittografia, nessuna memorizzazione sicura.

Zero Test

Nessuna suite di test per uno strumento che controlla direttamente apparecchiature industriali. Inattivo da ottobre 2025.

Categoria diversa — solo monitoraggio del runtime

Il progetto s7-mcp-bridge occupa una nicchia diversa — monitoraggio del runtime tramite Web API PLC, non ingegneria. L'approccio zero-install è interessante per i dashboard di monitoraggio. Tuttavia, la completa assenza di barriere di sicurezza su operazioni critiche (STOP della CPU, scrittura dei tag) lo rende pericoloso per qualsiasi ambiente industriale. T-IA Connect copre sia le operazioni di ingegneria che quelle di runtime con adeguate protezioni.

Perché la sicurezza in produzione è importante

Collegare un'IA a un'apparecchiatura industriale non è un progetto giocattolo. Ecco cosa c'è in gioco.

Il threading STA non è negoziabile

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. T-IA Connect è l'unica implementazione con un corretto StaDispatcher.

IA + PLC = Sicurezza Critica

Quando un agente IA può scrivere tag, scaricare programmi o cambiare le modalità operative della CPU, un'allucinazione può fermare una linea di produzione. T-IA Connect utilizza l'autenticazione tramite chiave API, la limitazione della velocità e la registrazione delle azioni. Le alternative open-source hanno zero barriere di sicurezza.

Il supporto multi-versione è fondamentale

La maggior parte delle fabbriche utilizza la V17 o la V18, non la V20. Uno strumento codificato per una singola versione di TIA Portal esclude la maggior parte delle installazioni reali. T-IA Connect carica dinamicamente le DLL Openness corrette dalla V17 alla V21.

Modalità Headless per CI/CD

Le pipeline automatizzate devono essere eseguite senza GUI. T-IA Connect può aprire TIA Portal in modalità headless, compilare, scaricare e chiudere — senza alcuna interazione dell'utente. Le alternative open-source richiedono che TIA Portal sia aperto manualmente per primo.

Tabella di confronto delle caratteristiche

La matrice di confronto completa — tutte le caratteristiche, tutti e quattro i server, a colpo d'occhio

Caratteristica
T-IA Connect
heilingbrunner
gangsterke
s7-mcp-bridge
Strumenti MCP
369
30
12
21
Versioni TIA Portal
V17, V18, V19, V20, V21
Solo V20 (NuGet hardcoded)
Solo V18 (percorso hardcoded)
N/D — nessun TIA Portal necessario
Operazioni sui blocchi
CRUD completo + generazione SCL/LAD/FBD/GRAPH
Importazione/Esportazione (XML e documenti V20)
Solo esportazione (livello radice)
Nessuna
Gestione dei tag
CRUD completo + importazione/esportazione
Nessuna
Sola lettura
Lettura/scrittura in runtime
HMI / WinCC
Schermate, connessioni, allarmi, tag
Nessuna
Nessuna
Nessuna
Operazioni online
GoOnline, Download (confirmation required), monitoring — Run/Stop CPU disabled by design for safety
Nessuna
Nessuna
Run/Stop CPU, lettura/scrittura tag
Simulazione PLCSim
PLCSim + PLCSim Advanced
Nessuna
Nessuna
Nessuna
Threading STA
StaDispatcher (sicuro per la produzione)
Nessuno (rischio crash COM)
Nessuno (rischio crash COM)
N/D
Sicurezza
Chiave API + limitazione di velocità + licenza RSA
Nessuna
Nessuna
Nessuna (TLS disabilitato globalmente)
Trasporto
HTTP + SSE + stdio
Solo stdio
Solo stdio
HTTP-stream + stdio
API REST
417 endpoint
Nessuno
Nessuno
Nessuno
Modalità Headless
Sì — nessuna GUI di TIA Portal richiesta
No — richiede TIA Portal aperto
No — richiede TIA Portal aperto
N/D
Ultimo aggiornamento
Attivo (aggiornamenti settimanali)
Settembre 2025 (inattivo da oltre 6 mesi)
Ottobre 2025 (costruito in 1 giorno, mai aggiornato)
Ottobre 2025 (inattivo da oltre 6 mesi)
Licenza
Commerciale (prova gratuita di 14 giorni)
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

Domande frequenti

Cos'è l'MCP e perché è importante per TIA Portal?

MCP (Model Context Protocol) è uno standard aperto di Anthropic che consente agli agenti IA di interagire con strumenti esterni. Per TIA Portal, significa che qualsiasi IA — Claude, GPT, Llama, Gemini — può creare blocchi PLC, gestire tag, compilare e scaricare programmi. È il ponte tra l'IA moderna e l'automazione industriale.

I server MCP open-source sono sicuri per l'uso in produzione?

No. Nessuna delle tre implementazioni open-source gestisce correttamente il threading STA, il che significa che rischiano la corruzione degli oggetti COM in caso di uso simultaneo. Inoltre, mancano di autenticazione, limitazione della velocità e registrazione degli audit — essenziali per qualsiasi strumento che interagisca con apparecchiature industriali. Sono utili per la sperimentazione, non per la produzione.

Posso usare T-IA Connect con Claude, ChatGPT o modelli locali?

Sì. T-IA Connect supporta qualsiasi client compatibile con MCP: Claude Desktop, Claude Code, Cursor, VS Code con Continue, Windsurf e qualsiasi integrazione personalizzata. Poiché l'MCP è un protocollo aperto, scegli tu il tuo fornitore di IA — inclusi i modelli locali tramite Ollama per ambienti isolati (air-gapped).

E per quanto riguarda s7-mcp-bridge — non è complementare?

Il progetto s7-mcp-bridge adotta un approccio diverso: si connette alla Web API integrata del PLC, non a TIA Portal. Questo è utile per il monitoraggio del runtime, ma non può creare blocchi, gestire strutture di progetto o eseguire attività di ingegneria. È anche pericoloso: può mettere una CPU in modalità STOP e scrivere valori di tag arbitrari senza alcun controllo di sicurezza. T-IA Connect copre sia le operazioni di ingegneria che quelle di runtime con adeguate protezioni.

Pronto a collegare l'IA a TIA Portal?

Inizia con una prova gratuita di 14 giorni. Tutti i 369 strumenti MCP, tutte le versioni di TIA Portal, nessuna carta di credito richiesta.