Sandbox
@Czarnak/totally-integrated-claude

TIA Portal plugin bundle for Claude Code and Codex

This repo packages a routed TIA Portal automation system for agent-driven work. The skill set covers Python scripting, C# Openness, Modular Application Creator, diagnostics, add-ins, and direct MCP interaction, with hooks that block unsafe writes unless the preview token flow is followed.

57 stars10 forksPowerShellUpdated 1mo ago
Who it's for

Builders who want their agent to work on Siemens TIA Portal projects with guided paths and write safety.

What it delivers

You can let your agent pick the right TIA Portal automation path and avoid unsafe writes.

What it does

Routed automation entry point

`tia-openness-roadmap` chooses the right path for MCP, Python, C#, MAC Module Builder, diagnostics, or Add-In work.

TIA Portal MCP access

`tia-portal-mcp` lets the agent browse and change TIA Portal project data through MCP tools.

Python scripting path

`tia-python` covers Siemens TIA Scripting Python V1.4.3 workflows for PLC, HMI, device, library, and project tasks.

C# Openness skill set

Several C# skills cover project, device, PLC, HMI, network, drive, multiuser, Teamcenter, TestSuite, and SiVArc operations.

Write safety hooks

`hooks/tia-write-guard.ps1` and `hooks/hooks.json` block TIA Portal writes unless the preview token flow is confirmed.

Environment diagnostics

`tia-doctor` checks the installed TIA Portal version, modular API files, user group, and optional Python/MCP support.

API baseline validation

Hosted baselines and test scripts verify committed installed-API evidence without requiring TIA Portal on the runner.

How to get it

  1. 1Run
    /plugin marketplace add Czarnak/totally-integrated-claude
  2. 2Install the marketplace from GitHub
    codex plugin marketplace add Czarnak/totally-integrated-claude
  3. 3From inside an interactive Codex session, you can use the slash-command form
    /plugin marketplace add Czarnak/totally-integrated-claude
  4. 4Start every TIA Portal task by asking Claude to load the routing skill
    How do I read all PLC tag tables from an open TIA Portal project?

README

totally-integrated-claude

A Claude Code plugin for Siemens TIA Portal engineering automation.

Provides a routed skill framework for TIA Portal engineering automation: Siemens TIA Scripting Python V1.4.3 for its supported wrapper surface, audited C# Openness skills for advanced object-model work, and a dedicated Modular Application Creator path.

image


Features

  • Scoped automation routing - tia-openness-roadmap honors an explicit implementation choice, then selects MCP, Python, C#, MAC Module Builder, diagnostic, or Add-In skills
  • Python TIA Scripting V1.4.3 - Siemens wrapper coverage for PLC data, generic HMI access, devices, libraries, and project workflows via tia-python
  • C# Openness - eleven domain skills covering the V21 Openness domain assemblies (see table below)
  • Modular Application Creator - tia-mac-module-builder covers the audited MAC V21.0.5 lifecycle, generated/custom ownership, resources, packaging, and qualification boundaries
  • TIA Portal Add-In development — VS Code–based Add-In authoring workflow
  • TIA Portal MCP server - work with your agent directly in TIA Portal V21 (separate installation required, see below)
  • MCP write safety hooks - Claude Code blocks TIA Portal writes unless the call includes confirm=true and a server-issued safetyToken
  • Environment diagnostics - tia-doctor verifies the exact V21 executable, modular Openness core, and user group, with optional Python/MCP checks
  • Certified V21 API baselines - hosted CI validates committed installed-API evidence without requiring TIA Portal on the runner

Skills

SkillPurpose
tia-openness-roadmapAutomation entry point. Honors explicit scope/path constraints and routes engineering tasks. Pure exported-code review uses plc-code-analysis directly.
tia-doctorManual diagnostic. Read-only V21 executable/modular API/group probe, with optional Python and MCP checks.
plc-code-analysisStandalone. Evidence-gated PLC security/quality analysis for raw SCL/ST, V21 SIMATIC SD, or schema-valid SimaticML.
tia-portal-mcpInteractive. Direct TIA Portal interaction via MCP tools (browse tree, read/write logic, list tags, hardware config).
tia-pythonSiemens TIA Scripting Python V1.4.3: wrapper-level PLC, HMI, device, library, project, CAx, CFC, project-text, master-copy, and Test Suite workflows.
tia-csharp-commonC# foundation: TIA Portal process attach, ExclusiveAccess, Transaction, disposable patterns. Required first load for every C# task.
tia-project-generalC# project, portal, and library lifecycle: open/create/save/archive/retrieve, project/global libraries, master copies, type/version workflows, UMAC/UMC, language settings, diagnostics.
tia-devices-generalC# device & device-item operations: hardware catalog, device creation/deletion, slot/subslot traversal, software containers, network connections, hardware parameters.
tia-plc-operationsC# PLC software engineering: program/system blocks, PLC tags/UDTs, software units, Safety, alarms, OPC-UA, technological objects, watch/force tables, online/download, compare.
tia-hmi-operationsC# HMI Classic and Unified: separate object models for targets/software, screens/items, tags, alarms, scripts, connections, logging, runtime settings, and compile/import/export.
tia-networksC# topology: subnets, nodes, IO systems, port channels, addresses, IO timing.
tia-simatic-drivesC# Startdrive / SINAMICS: drive controller access, drive engineering, motion control, download.
tia-import-exportC# & Python import/export: SimaticML, AML/CAx, PLC blocks, HMI screens/tags/alarms, hardware AML, project data.
tia-multiuserC# Multiuser Engineering: project-server connections, server-project identity, local/exclusive sessions, marking, locking, save/discard/commit.
tia-teamcenterC# provider-based Teamcenter Gateway: connection, search/download, dataset locking, and project/global-library save workflows.
tia-testsuiteC# TestSuite & Application Test: test sets, application tests, style-guide rules, automated system testing.
tia-sivarcC# SiVArc: rule tables and libraries, definitions, expression resolution, layout exchange, and guarded visualization generation.
tia-mac-module-builderModular Application Creator and Module Builder: TiaEquipmentModule lifecycle, models/use cases, .tiares, generated/custom ownership, packaging, and qualification.
addin-operationsTIA Portal Add-In development: project structure, VS Code workflow, Add-In lifecycle, menus, permissions, deployment.

Prerequisites

For Python TIA Scripting

  • TIA Scripting Python V1.4.3 downloaded from Siemens Industry Online Support
  • Python 3.12.x, 3.13.x, or 3.14.x with the matching Windows x64 wheel
  • TIA Portal and Openness V15.1 or later according to the V1.4.3 manual; Siemens package metadata separately lists V18-V21, so verify the exact installed target

For C# Openness

  • Siemens TIA Portal V21 for these audited API references
  • V21 modular Openness API, including Siemens.Engineering.Base.dll under PublicAPI\V21\net48
  • .NET Framework 4.8 or later

For Modular Application Creator

  • Siemens Modular Application Creator and Module Builder matching the target project; the audited skill baseline is MAC V21.0.5
  • TIA Portal V21 and its matching Openness PublicAPI for the audited baseline
  • .NET Framework 4.8 and access to the project's approved MAC/Module Builder package source

For Add-In development

  • Visual Studio 2022 or VS Code with C# Dev Kit
  • TIA Portal Add-In SDK (available from Siemens Industry Online Support)

TIA Scripting Python is not installed from PyPI by package name. Download the TIA Scripting Python ZIP from Siemens, then use one of Siemens' supported setup paths:

  • File import: unzip it and set TIA_SCRIPTING to the directory containing siemens_tia_scripting.pyd and the supplied adapter DLLs.
  • Wheel install: from the extracted package's install directory, install the V1.4.3 wheel whose CPython tag matches the interpreter, for example:
cd C:\Path\To\Your\TIA_Scripting_Python\install
py -3.12 -m pip install .\siemens_tia_scripting-1.4.3-cp312-cp312-win_amd64.whl

To check a local machine, run the bundled doctor probe:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File skills\tia-doctor\probe.ps1 -RequiredMajorVersion 21

For machine-readable output:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File skills\tia-doctor\probe.ps1 -RequiredMajorVersion 21 -Json

For a C#-only V21 check while Python and MCP are intentionally out of scope:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File skills\tia-doctor\probe.ps1 -RequiredMajorVersion 21 -SkipPython -SkipMcp

Installation

Install from GitHub or clone this repository and link it locally while developing.

Claude Code

/plugin marketplace add Czarnak/totally-integrated-claude

Codex

Install the marketplace from GitHub:

codex plugin marketplace add Czarnak/totally-integrated-claude

From inside an interactive Codex session, you can use the slash-command form:

/plugin marketplace add Czarnak/totally-integrated-claude

Usage

Start every TIA Portal task by asking Claude to load the routing skill:

How do I read all PLC tag tables from an open TIA Portal project?

Claude will load tia-openness-roadmap, select the correct implementation path (MCP, Python, C#, MAC Module Builder, diagnostic, or Add-In), and load the matching focused skill automatically.

TIA Portal MCP write safety

TIA Portal MCP write tools use a preview-then-apply workflow. First call the matching preview_* tool, review the summary/diff and currentStateHash, then pass the returned safetyToken to the write tool with confirm=true.

Examples:

WriteRequired preview
update_block_logicpreview_update_block_logic
create_tag_table, delete_tag_tablepreview_create_tag_table, preview_delete_tag_table
create_tag, update_tag, delete_tagpreview_create_tag, preview_update_tag, preview_delete_tag
create_user_constant, update_user_constant, delete_user_constantmatching preview_*_user_constant tool
add_network_device, configure_network_devicepreview_add_network_device, preview_configure_network_device
open_project, create_project, save_project, save_project_as, archive_project, close_projectmatching preview_*_project tool

Claude Code also loads hooks/tia-write-guard.ps1 through hooks/hooks.json as defense-in-depth. The MCP server is still the authority: other clients must use the same preview token flow.

Environment diagnostics

Use tia-doctor when TIA Portal automation fails because of missing local prerequisites. It is a read-only PowerShell probe that checks the exact V21 Portal executable, Siemens.Engineering.Base.dll and installed modular API metadata, and membership in the Siemens TIA Openness Windows user group. Python TIA Scripting and tia-mcp checks are optional and can be skipped independently.

Routing examples

TaskPathDomain skill
Explore project structure interactivelyMCPtia-portal-mcp
Analyze raw SCL/ST, SIMATIC SD, or SimaticML for security issuesStandaloneplc-code-analysis
Read/write PLC blocks and tagsPythontia-python
HMI screen access and exportPythontia-python
Device slot/subslot manipulationC#tia-devices-general
Subnet and IO-system configurationC#tia-networks
SINAMICS drive engineeringC#tia-simatic-drives
Advanced PLC online/security servicesC#tia-plc-operations
Multiuser Engineering (server projects)C#tia-multiuser
Teamcenter managed projectsC#tia-teamcenter
Automated PLC/HMI testingC#tia-testsuite
SiVArc rules or visualization generationC#tia-sivarc
Modular Application Creator module or .tiares workMAC Module Buildertia-mac-module-builder
TIA Portal Add-In projectC#addin-operations

Worth installing to boost your workflow

Contributing

See CONTRIBUTING.md for contributor setup, validation commands, test expectations, skill authoring rules, and safety requirements. Maintainers certifying a new Openness API surface should also follow the V21 API baseline workflow.

Sources

Examples

  • PLC Block Scanner - as simple as possible, strictly as an example.
  • TIA Git Add-In - Add-In for TIA Portal V21 making version control comfortable for PLC engineers.

License

MIT — see LICENSE.

Files in the repo

Repository payload16 top-level entries
  • .claude-plugin
  • .codex-plugin
  • .github
  • api-baselines
  • docs
  • hooks
  • img
  • scripts
  • skills
  • tests
  • .gitignore
  • .mcp.json
  • CONTRIBUTING.md
  • LICENSE
  • README.md
  • SECURITY.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More plugins

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

138k
1 add

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.

82k
code-yeongyu/
oh-my-openagent

OmO: Just type "mass ulw" keyword with your prompt. Now you are the master of graph engineering.

69k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

94k

Opinionated Oxlint rules for rejecting low-evidence TypeScript and JavaScript patterns

4.3k