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, позволяющий экспортировать блоки в структурированном, человекочитаемом виде.
Что он не умеет
Технические проблемы
Отсутствие 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, heilingbrunner является самым продвинутым опенсорс-вариантом. Поддержка формата документов V20 действительно полезна. Однако отсутствие STA threading, онлайн-операций, управления тегами и более 6 месяцев неактивности делают его непригодным для промышленной автоматизации.