Skip to content

Czarnak/totally-integrated-claude

Repository files navigation

totally-integrated-claude

A Claude Code plugin for Siemens TIA Portal engineering automation.

Provides a routed skill framework covering the full TIA Portal Openness API surface — Python TIA Scripting for everyday tasks and C# Openness for advanced object-model work — plus an LSP server for Siemens PLC source languages.

image


Features

  • Automatic routing - one entry-point skill (tia-openness-roadmap) selects Python or C# and loads the right domain skill
  • Python TIA Scripting - full coverage of PLC blocks/tags, HMI, libraries, devices, project lifecycle via tia-python
  • C# Openness - nine domain skills covering every Openness API area (see table below)
  • TIA Portal Add-In development — VS Code–based Add-In authoring workflow
  • LSP language server - syntax highlighting, diagnostics, and code intelligence for Siemens PLC source files
  • 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 - manually run tia-doctor to check TIA Portal, Openness, Python TIA Scripting, MCP, and LSP prerequisites

Skills

Skill Purpose
tia-openness-roadmap Entry point. Routes all TIA Portal tasks to the correct implementation path and domain skill. Load this first for every TIA Portal task.
tia-doctor Manual diagnostic. Checks local prerequisites and reports exact remediation steps without mutating the machine.
plc-code-analysis Standalone. Multi-perspective security and quality analysis for PLC code (SCL/LAD/FBD) via SimaticML or MCP.
tia-portal-mcp Interactive. Direct TIA Portal interaction via MCP tools (browse tree, read/write logic, list tags, hardware config).
tia-python Python TIA Scripting: PLC blocks/tags/UDTs, HMI tags/screens, library types/versions, project lifecycle, CAx import/export.
tia-csharp-common C# foundation: TIA Portal process attach, ExclusiveAccess, Transaction, disposable patterns. Required first load for every C# task.
tia-project-general C# project & portal lifecycle: open, create, save, archive, retrieve, UMAC/UMC, language settings, diagnostics.
tia-devices-general C# device & device-item operations: hardware catalog, device creation/deletion, slot/subslot traversal, software containers, network connections, hardware parameters.
tia-plc-operations C# 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-operations C# Unified HMI: screens, screen items, elements, parts, tags, alarms, scripts, cycles, connections, dynamization, events, runtime settings, system services.
tia-networks C# topology: subnets, nodes, IO systems, port channels, addresses, IO timing.
tia-simatic-drives C# Startdrive / SINAMICS: drive controller access, drive engineering, motion control, download.
tia-import-export C# & Python import/export: SimaticML, AML/CAx, PLC blocks, HMI screens/tags/alarms, hardware AML, project data.
tia-multiuser C# Multiuser Engineering: server project management, local sessions, multiuser commissioning workflows.
tia-teamcenter C# Teamcenter Integration: Teamcenter storage management and Teamcenter-managed project operations.
tia-testsuite C# TestSuite & Application Test: test sets, application tests, style-guide rules, automated system testing.
addin-operations TIA Portal Add-In development: project structure, VS Code workflow, Add-In lifecycle, menus, permissions, deployment.

LSP Language Server

The plugin ships a compiled LSP server (bin/siemens-lsp.exe) providing language intelligence for Siemens PLC source files:

Extension Language
.scl Structured Control Language
.st Structured Text (IEC 61131-3)
.s7res S7 Resource
.s7dcl S7 Declaration
.udt User-Defined Type
.db Data Block
.awl Statement List (AWL/STL)

Prerequisites

For Python TIA Scripting

  • Siemens TIA Portal V17 or later
  • TIA Scripting Python downloaded from Siemens Industry Online Support
  • Python 3.12.x for the current siemens_tia_scripting wheel

For C# Openness

  • Siemens TIA Portal V17 or later
  • TIA Portal Openness assemblies (installed with TIA Portal)
  • .NET Framework 4.8 or later

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 extracted binaries directory.
  • Wheel install: from the extracted binaries directory, install the matching wheel file, for example:
cd C:\Path\To\Your\TIA_Scripting_Python\binaries
py -3.12 -m pip install .\siemens_tia_scripting-x.x.x-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

For machine-readable output:

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

Installation

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

Claude Code

/plugin marketplace add Czarnak/totally-integrated-claude

Gemini CLI

Gemini CLI reads gemini-extension.json, bundled skills/, GEMINI.md, and the inline mcpServers configuration from the extension root.

Install from GitHub:

gemini extensions install https://github.com/Czarnak/totally-integrated-claude

For local development, link the checkout instead:

gemini extensions link .
gemini extensions validate .

Codex

Codex reads .codex-plugin/plugin.json, which points at the bundled skills/, .mcp.json, and .lsp.json files.

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 (Python or C#), and load the matching domain 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:

Write Required preview
update_block_logic preview_update_block_logic
create_tag_table, delete_tag_table preview_create_tag_table, preview_delete_tag_table
create_tag, update_tag, delete_tag preview_create_tag, preview_update_tag, preview_delete_tag
create_user_constant, update_user_constant, delete_user_constant matching preview_*_user_constant tool
add_network_device, configure_network_device preview_add_network_device, preview_configure_network_device
open_project, create_project, save_project, save_project_as, archive_project, close_project matching 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 TIA Portal, Openness assemblies, membership in the Siemens TIA Openness Windows user group, Python TIA Scripting, tia-mcp, and the bundled Siemens PLC language server.

Routing examples

Task Path Domain skill
Explore project structure interactively MCP tia-portal-mcp
Analyze exported SimaticML XML for security issues Standalone plc-code-analysis
Read/write PLC blocks and tags Python tia-python
HMI screen access and export Python tia-python
Device slot/subslot manipulation C# tia-devices-general
Subnet and IO-system configuration C# tia-networks
SINAMICS drive engineering C# tia-simatic-drives
Advanced PLC online/security services C# tia-plc-operations
Multiuser Engineering (server projects) C# tia-multiuser
Teamcenter managed projects C# tia-teamcenter
Automated PLC/HMI testing C# tia-testsuite
TIA Portal Add-In project C# 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.

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.