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.
- 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=trueand a server-issuedsafetyToken - Environment diagnostics - manually run
tia-doctorto check TIA Portal, Openness, Python TIA Scripting, MCP, and LSP prerequisites
| 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. |
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) |
- Siemens TIA Portal V17 or later
- TIA Scripting Python downloaded from Siemens Industry Online Support
- Python 3.12.x for the current
siemens_tia_scriptingwheel
- Siemens TIA Portal V17 or later
- TIA Portal Openness assemblies (installed with TIA Portal)
- .NET Framework 4.8 or later
- 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_SCRIPTINGto the extractedbinariesdirectory. - Wheel install: from the extracted
binariesdirectory, 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.whlTo check a local machine, run the bundled doctor probe:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File skills\tia-doctor\probe.ps1For machine-readable output:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File skills\tia-doctor\probe.ps1 -JsonInstall from GitHub or clone this repository and link it locally while developing.
/plugin marketplace add Czarnak/totally-integrated-claudeGemini 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-claudeFor local development, link the checkout instead:
gemini extensions link .
gemini extensions validate .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-claudeFrom inside an interactive Codex session, you can use the slash-command form:
/plugin marketplace add Czarnak/totally-integrated-claudeStart 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 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.
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.
| 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 |
- C# LSP plugin from Claude Plugins Official
- Tia Portal MCP Server
See CONTRIBUTING.md for contributor setup, validation commands, test expectations, skill authoring rules, and safety requirements.
- 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.
MIT — see LICENSE.
