Глубокий анализ 2026

Все MCP-серверы для TIA Portal,
проанализированы и сравнены

Четыре проекта подключают ИИ к Siemens TIA Portal через MCP. Мы проанализировали их исходный код, архитектуру и безопасность. Один создан для эксплуатации, три — это опенсорс-эксперименты. Вот полный технический разбор.

Ландшафт MCP для TIA Portal

Model Context Protocol (MCP) позволяет ИИ-агентам напрямую взаимодействовать с инженерными инструментами. Для Siemens TIA Portal на сегодня существует четыре реализации.

T-IA Connect

Коммерческий · Промышленный уровень

Промышленный MCP-мост с 369 инструментами, охватывающими полный жизненный цикл TIA Portal: управление проектами, CRUD блоков, управление тегами, HMI, онлайн-операции, симуляция PLCSim и многое другое. Активная разработка, профессиональная поддержка.

Openness API (V17–V21)

heilingbrunner/tiaportal-mcp

Open Source · Расширение VS Code

Расширение VS Code с 30 инструментами MCP для просмотра проектов, импорта/экспорта блоков, компиляции и нового формата документов V20. Без управления тегами, без HMI, без онлайн-операций. Неактивен с сентября 2025 года.

Openness API (только V20)

gangsterke/Tia-Portal-MCP-server

Open Source · Proof of Concept

Минимальный прототип с 12 инструментами только для чтения для просмотра проектов и чтения тегов. Создан за один день, никогда не обновлялся. Захардкоженная V18, отсутствие обработки ошибок и безопасности.

Openness API (только V18)

cadugrillo/s7-mcp-bridge

Open Source · Runtime Monitor

Другой подход: подключается напрямую к PLC Web API (HTTPS) без TIA Portal. 21 инструмент для мониторинга во время выполнения, чтения/записи тегов и управления CPU. Без инженерных возможностей.

PLC Web API (S7-1200/1500)

Анализ исходного кода

Мы изучили исходный код каждого проекта, чтобы оценить архитектуру, безопасность и пригодность для реального использования. Вот наши выводы.

heilingbrunner/tiaportal-mcp — Самый продвинутый опенсорс-вариант

30 MCP-инструментов · Только V20 · Неактивен с сентября 2025 года

Это самый серьезный конкурент из мира Open Source. Разрабатывался примерно 4 месяца (июнь–сентябрь 2025 г.) тремя участниками, имеет 32 звезды и 11 форков на GitHub. Также распространяется как расширение VS Code. Однако проект не обновлялся более 6 месяцев.

Технологический стек

Чистый C# .NET Framework 4.8 (без посредника Node.js). Использует официальный .NET MCP SDK (ModelContextProtocol v0.3.0-preview). Транспорт только через stdio (без HTTP/SSE). Ссылается на NuGet-пакеты Siemens V20 — более современный подход, чем динамическая загрузка DLL, но привязан к одной версии.

30 инструментов MCP — что они охватывают

Инструменты разделены на 7 категорий: управление соединением (Connect, Disconnect, GetState), операции с проектом (Open, Save, Close, GetProjectTree), проверка оборудования (GetDevices, GetDeviceInfo), управление ПО (GetSoftwareTree, CompileSoftware), операции с блоками (GetBlocks, ImportBlock, ExportBlock), работа с UDT (GetTypes, ImportType, ExportType) и поддержка формата документов V20 (ExportAsDocuments, ImportFromDocuments).

Поддержка формата документов V20 (.s7dcl/.s7res) — примечательная функция. Это новый формат Siemens, позволяющий экспортировать блоки в структурированном, человекочитаемом виде.

Что он не умеет

Нет управления тегами — нельзя читать, писать, создавать или импортировать/экспортировать теги
Нет поддержки HMI/WinCC — нет экранов, соединений, алармов или тегов HMI
Нет онлайн-операций — нет GoOnline, Download или мониторинга в реальном времени
Нет поддержки симуляции PLCSim
Нет генерации блоков — нельзя создавать новые блоки на SCL, LAD, FBD или GRAPH
Нет управления сетями/подсетями или поддержки библиотек
Нет таблиц наблюдения (watch tables) или таблиц форсирования (force tables)
Нет системы заданий (job system) — все операции синхронные и блокирующие

Технические проблемы

Отсутствие STA Threading

Это самая критическая проблема. Siemens Openness API использует COM-объекты, требующие режима Single-Threaded Apartment (STA). Без надлежащей диспетчеризации STA вызовы COM могут незаметно повредить данные или привести к случайным сбоям при параллельной нагрузке. Это делает инструмент ненадежным для любой автоматизированной цепочки.

Монолитная архитектура

Файл Portal.cs содержит 2300 строк, а McpServer.cs помещает все инструменты в один файл. Это затрудняет поддержку и расширение кодовой базы.

Захардкоженная версия V20

Хотя проект принимает аргумент CLI --tia-major-version, ссылки на NuGet жестко привязаны к V20. Большинство реальных заводов все еще используют V17 или V18.

Всегда требует GUI

Нет headless-режима — TIA Portal должен быть открыт вручную заранее. Нельзя использовать в конвейерах CI/CD.

Выбор процесса

Использует processes.First() — подключается к первому найденному экземпляру TIA Portal. Если запущено несколько экземпляров, выбрать нужный невозможно.

~13% функционального покрытия по сравнению с T-IA Connect

Обладая примерно 13% функционального покрытия T-IA Connect, heilingbrunner является самым продвинутым опенсорс-вариантом. Поддержка формата документов V20 действительно полезна. Однако отсутствие STA threading, онлайн-операций, управления тегами и более 6 месяцев неактивности делают его непригодным для промышленной автоматизации.

gangsterke/Tia-Portal-MCP-server — Однодневный Proof of Concept

12 MCP-инструментов · Только V18 · Создан за один день, никогда не обновлялся

Этот проект именно то, чем кажется: proof of concept, созданный за один день (12 октября 2025 г.) и с тех пор ни разу не обновлявшийся. Всего около 1260 строк кода. Он демонстрирует саму возможность подключения MCP к TIA Portal, но не предлагает ничего сверх этого.

Технологический стек

Двухпроцессная архитектура: слой Node.js TypeScript (~400 строк) обрабатывает протокол MCP, а подпроцесс C# .NET Framework 4.8 (~860 строк в одном файле Program.cs) вызывает Openness API. Связь между двумя процессами через JSON в stdin/stdout.

12 инструментов MCP — Только чтение

Все инструменты работают только на чтение: открытие/закрытие проекта, список ПЛК, список блоков (только корневой уровень — без рекурсии в группы), экспорт одного блока в XML, чтение таблиц тегов, поиск тегов, получение конфигурации оборудования, получение информации о проекте и два инструмента OPC UA (экспорт/получение информации об интерфейсе). Поддержка OPC UA — его единственная оригинальная функция.

Инструмент get_block_code вводит в заблуждение — он возвращает только метаданные (имя, тип, язык), а не фактический исходный код.

Заметные проблемы

Захардкоженная версия V18

Абсолютные пути к Portal V18\PublicAPI\V18\ жестко прописаны в коде. Поддержка нескольких версий полностью отсутствует.

Отсутствие STA Threading

Работает по чистой случайности на .NET Framework 4.8, так как основной поток по умолчанию STA, но это не управляется явно и приведет к сбоям при параллельной нагрузке.

Глотание ошибок

Пустые блоки catch по всему коду — ошибки молча игнорируются. Если что-то пойдет не так, вы об этом никогда не узнаете.

Состояние гонки при запуске

Использует простой setTimeout(2000ms) для ожидания запуска подпроцесса C#. Никакой проверки работоспособности (health check), никакого правильного квитирования.

Нулевая безопасность

Нет аутентификации, нет проверки путей (возможен directory traversal), нет ограничения частоты запросов. Ноль тестов, ноль CI/CD, нет файла LICENSE, несмотря на упоминание MIT в package.json.

~1–2% функционального покрытия по сравнению с T-IA Connect

Обладая примерно 1–2% функционального покрытия T-IA Connect, это минимальный прототип, а не инструмент. Его единственный оригинальный вклад — поддержка интерфейса OPC UA. Полезен как учебное упражнение, опасен для всего остального.

cadugrillo/s7-mcp-bridge — Мониторинг без TIA Portal

21 MCP-инструмент · PLC Web API · Без инженерных возможностей

Этот проект использует фундаментально иной подход: вместо подключения к TIA Portal через Openness API, он подключается напрямую к встроенному Web API ПЛК (JSON-RPC через HTTPS). Программное обеспечение Siemens не требуется — нужно только сетевое соединение с ПЛК. Это делает его скорее дополняющим, чем конкурирующим с другими проектами, но вносит серьезные опасения по поводу безопасности.

Технологический стек

Чистый TypeScript/Node.js. Транспорт через HTTP-stream (порт 57001) или stdio. Пакет включает Docker-образы для разных архитектур и расширение для Claude Desktop (.mcpb). Никаких зависимостей от Siemens — только вызовы fetch() к https://<PLC_IP>/api/jsonrpc.

21 инструмент MCP — Фокус на рантайме

Системные (Api-Ping, Api-Version, Api-Browse), аутентификация (Api-Login, Api-Logout, ChangePassword), конфигурация (List-AvailablePlcs), данные (PlcProgram-Browse, PlcProgram-Read, PlcProgram-Write), управление CPU (ReadOperatingMode, RequestChangeOperatingMode, ReadSystemTime, SetSystemTime), диагностика (Alarms-Browse, Alarms-Acknowledge, DiagnosticBuffer-Browse) и резервное копирование (Plc-CreateBackup).

Сильные стороны

Не требуется установка ПО Siemens — любая машина с Node.js может подключиться
Чистая архитектура: один файл на инструмент, хорошо организованная кодовая база
Поддержка Docker и расширения Claude Desktop
Мониторинг во время выполнения без необходимости держать TIA Portal открытым

В чем опасность

ИИ может остановить производство

Инструмент RequestChangeOperatingMode позволяет ИИ-агенту перевести CPU в режим STOP. Инструмент PlcProgram-Write позволяет записывать произвольные значения в теги ПЛК. На производственной линии одна галлюцинация ИИ может остановить весь завод. Нет диалогов подтверждения, нет журнала аудита, нет проверок безопасности. 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 отключен глобально

Код устанавливает NODE_TLS_REJECT_UNAUTHORIZED = "0", что отключает проверку сертификатов TLS для всего процесса Node.js, а не только для соединений с ПЛК. Это уязвимость в безопасности.

Учетные данные в памяти

Учетные данные ПЛК хранятся в открытом виде в памяти. Никакого шифрования, никакого защищенного хранилища.

Ноль тестов

Нет набора тестов для инструмента, который напрямую управляет промышленным оборудованием. Неактивен с октября 2025 года.

Другая категория — только мониторинг рантайма

Проект s7-mcp-bridge занимает другую нишу — мониторинг рантайма через PLC Web API, а не инжиниринг. Подход без установки интересен для дашбордов мониторинга. Однако полное отсутствие барьеров безопасности при критических операциях (CPU STOP, запись тегов) делает его опасным для любой промышленной среды. T-IA Connect охватывает как инжиниринг, так и рантайм-операции с надлежащими мерами защиты.

Почему важна безопасность при эксплуатации

Подключение ИИ к промышленному оборудованию — это не игрушка. Вот что стоит на кону.

STA Threading обязателен

Siemens Openness API использует COM-объекты, требующие режима Single-Threaded Apartment (STA). Без надлежащей диспетчеризации STA вызовы COM могут незаметно повредить данные или привести к случайным сбоям под нагрузкой. T-IA Connect — единственная реализация с полноценным StaDispatcher.

ИИ + ПЛК = Критическая безопасность

Когда ИИ-агент может записывать теги, загружать программы или менять режимы работы CPU, одна галлюцинация может остановить производственную линию. T-IA Connect использует аутентификацию по API-ключу, ограничение частоты запросов и логирование действий. Опенсорс-альтернативы не имеют никаких барьеров безопасности.

Поддержка нескольких версий имеет значение

Большинство заводов работают на V17 или V18, а не на V20. Инструмент, жестко привязанный к одной версии TIA Portal, исключает большинство реальных инсталляций. T-IA Connect динамически загружает нужные DLL Openness для версий с V17 по V21.

Headless-режим для CI/CD

Автоматизированные конвейеры должны работать без GUI. T-IA Connect может открыть TIA Portal в фоновом режиме, скомпилировать, загрузить и закрыть его — без участия пользователя. Опенсорс-альтернативы требуют ручного открытия TIA Portal.

Таблица сравнения функций

Полная матрица сравнения — все функции четырех серверов с первого взгляда

Функция
T-IA Connect
heilingbrunner
gangsterke
s7-mcp-bridge
Инструменты MCP
369
30
12
21
Версии TIA Portal
V17, V18, V19, V20, V21
Только V20 (захардкожен NuGet)
Только V18 (захардкожен путь)
Н/Д — TIA Portal не требуется
Операции с блоками
Полный CRUD + генерация SCL/LAD/FBD/GRAPH
Импорт/Экспорт (XML и документы V20)
Только экспорт (корневой уровень)
Нет
Управление тегами
Полный CRUD + импорт/экспорт
Нет
Только чтение
Рантайм чтение/запись
HMI / WinCC
Экраны, соединения, алармы, теги
Нет
Нет
Нет
Онлайн-операции
GoOnline, Download (confirmation required), monitoring — Run/Stop CPU disabled by design for safety
Нет
Нет
Run/Stop CPU, чтение/запись тегов
Симуляция PLCSim
PLCSim + PLCSim Advanced
Нет
Нет
Нет
STA Threading
StaDispatcher (безопасно для эксплуатации)
Нет (риск сбоя COM)
Нет (риск сбоя COM)
Н/Д
Безопасность
API-ключ + ограничение частоты + RSA лицензия
Нет
Нет
Нет (TLS отключен глобально)
Транспорт
HTTP + SSE + stdio
Только stdio
Только stdio
HTTP-stream + stdio
REST API
417 эндпоинтов
Нет
Нет
Нет
Headless-режим
Да — GUI TIA Portal не требуется
Нет — требует открытого TIA Portal
Нет — требует открытого TIA Portal
Н/Д
Последнее обновление
Активен (еженедельные обновления)
Сентябрь 2025 (неактивен 6+ месяцев)
Октябрь 2025 (создан за 1 день, не обновлялся)
Октябрь 2025 (неактивен 6+ месяцев)
Лицензия
Коммерческая (14-дневная пробная версия)
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

Часто задаваемые вопросы

Что такое MCP и почему это важно для TIA Portal?

MCP (Model Context Protocol) — это открытый стандарт от Anthropic, который позволяет ИИ-агентам взаимодействовать с внешними инструментами. Для TIA Portal это означает, что любой ИИ — Claude, GPT, Llama, Gemini — может создавать блоки ПЛК, управлять тегами, компилировать и загружать программы. Это мост между современным ИИ и промышленной автоматизацией.

Безопасны ли опенсорсные MCP-серверы для использования на производстве?

Нет. Ни одна из трех опенсорсных реализаций не обрабатывает STA threading правильно, что создает риск повреждения объектов COM при параллельном использовании. Им также не хватает аутентификации, ограничения частоты запросов и журнала аудита — того, что необходимо для любого инструмента, работающего с промышленным оборудованием. Они полезны для экспериментов, но не для эксплуатации.

Могу ли я использовать T-IA Connect с Claude, ChatGPT или локальными моделями?

Да. T-IA Connect поддерживает любого MCP-совместимого клиента: Claude Desktop, Claude Code, Cursor, VS Code с Continue, Windsurf и любые кастомные интеграции. Поскольку MCP — открытый протокол, вы сами выбираете провайдера ИИ, включая локальные модели через Ollama для изолированных сред.

А как насчет s7-mcp-bridge — разве он не дополняет картину?

s7-mcp-bridge использует другой подход: он подключается к встроенному Web API ПЛК, а не к TIA Portal. Это полезно для мониторинга рантайма, но он не может создавать блоки, управлять структурой проекта или выполнять инженерные задачи. Кроме того, он опасен: он может перевести CPU в режим STOP и записывать произвольные значения тегов без каких-либо проверок безопасности. T-IA Connect охватывает как инжиниринг, так и рантайм-операции с надлежащими мерами защиты.

Готовы подключить ИИ к TIA Portal?

Начните с бесплатной 14-дневной пробной версии. Все 369 инструментов MCP, все версии TIA Portal, банковская карта не требуется.