heilingbrunner/tiaportal-mcp — الخيار مفتوح المصدر الأكثر تقدماً
30 أداة MCP · V20 فقط · غير نشط منذ سبتمبر 2025
هذا هو المنافس الجدي الوحيد مفتوح المصدر. تم تطويره على مدار 4 أشهر تقريباً (يونيو-سبتمبر 2025) بواسطة 3 مساهمين، مع 32 نجمة و 11 فرعاً (fork) على GitHub. يوزع أيضاً كامتداد لـ VS Code. ومع ذلك، المشروع غير نشط منذ أكثر من 6 أشهر.
المكدس التقني
C# .NET Framework 4.8 خالص (بدون وسيط Node.js). يستخدم SDK الرسمي لـ .NET MCP (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 أن تفسد البيانات بصمت أو تنهار عشوائياً تحت ضغط العمليات المتزامنة. هذا يجعل الأداة غير موثوقة لأي خطوط إنتاج مؤتمتة.
معمارية متجانسة (Monolithic)
يحتوي ملف Portal.cs على 2300 سطر، ويضع McpServer.cs جميع الأدوات في ملف واحد. هذا يجعل صيانة الكود وتوسعته أمراً صعباً.
V20 مبرمجة بشكل ثابت
بينما يقبل وسيط CLI --tia-major-version، إلا أن مراجع NuGet مبرمجة بشكل ثابت على V20. لا تزال معظم المصانع الحقيقية تعمل على V17 أو V18.
يتطلب دائماً واجهة رسومية GUI
لا يوجد وضع headless — يجب فتح TIA Portal يدوياً أولاً. لا يمكن استخدامه في خطوط CI/CD.
اختيار العمليات (Process Selection)
يستخدم processes.First() — يرتبط بأول مثيل لـ TIA Portal يجده. إذا كانت هناك مثيلات متعددة قيد التشغيل، فلا توجد طريقة لاختيار المثيل المطلوب.
بما يقارب 13% من السطح الوظيفي لـ T-IA Connect، يعد heilingbrunner الخيار الأكثر تقدماً مفتوح المصدر. دعمه لتنسيق مستندات V20 مفيد حقاً. ومع ذلك، فإن نقص STA threading، وعدم وجود عمليات عبر الإنترنت، وعدم وجود إدارة للتاغات، والخمول لأكثر من 6 أشهر يجعلها غير مناسبة لأتمتة الإنتاج.