TIA Portal MCP
MCP server for Siemens TIA Portal V21: an agent reads PLC blocks, tags, network and HMI and makes guarded edits.
- 124 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- In `read-write` and `full` modes the agent changes blocks, tags, network and HMI of an industrial project.
- Edits are not rolled back on failure, and a logic error in a PLC hits equipment once downloaded.
Install
- Works in
Manual install
dotnet tool install -g TiaMcpServerThen `tia-mcp doctor` checks the environment and `tia-mcp install claude-code` registers the server in `read-only` mode.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- In `read-write` and `full` modes the agent changes blocks, tags, network and HMI of an industrial project.
- Edits are not rolled back on failure, and a logic error in a PLC hits equipment once downloaded.
This is third-party code. Review the repository files before installing.
What it does
The server connects an agent to a running TIA Portal through the Siemens Openness API. The default `read-only` mode exposes eight tools: reading PLC blocks and types, tag tables, cross-references, hardware and network configuration, WinCC Unified HMI objects, the project tree and status. The `read-write` mode adds up to nineteen tools: `plc_write`, `network_write`, `hmi_write`, `vci_write`, `compile_check` and project lifecycle calls (open, create, save, archive, close). Writes pass one guarded pipeline, and `dryRun:true` previews effects without changes. There is no PLC run or stop. Work goes through a separate .NET Framework 4.8 process, because Siemens assemblies cannot run inside .NET 10.
Who it is for. Automation engineers who program Siemens PLCs in TIA Portal V21 and want to review projects together with an agent.
Good fit when
- A block's logic must be exported and the places where a tag is used found through cross-references.
- Effects are previewed with `dryRun:true` before editing a project.
- Network and I/O addresses are matched against PLC tag tables.
- After changes, compilation is checked and compiler messages read.
Not a fit when
- The computer does not run Windows or lacks TIA Portal V21.
- Starting and stopping the PLC is required.
- The project uses classic WinCC, which the server only lists.
Example request
Bind to the open project, show the tree, find all cross-references to the tag Motor_Run and report the result without writing.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
TIA_MCP_PROJECT_PATH- Absolute path to the `.ap21` or `.amc21` project the server binds to.
Limitations
It runs only on Windows with TIA Portal V21 and Openness enabled; the Windows user belongs to the `Siemens TIA Openness` group. The tool needs .NET SDK 10.0.400 or newer and the .NET Framework 4.8 runtime. The server does not copy Siemens libraries and loads them from the local installation. Writes are not rolled back on failure: execution stops at the first failed item, so re-read the state before retrying. Hardware configuration is engineering data and does not certify that an installation was commissioned.
How to disable. Remove the server entry in the client and run `dotnet tool uninstall -g TiaMcpServer`. The audit log lives in `%LOCALAPPDATA%\TiaMcpServer\audit` and is cleaned separately.
FAQ
How do I connect the server to Claude Code?
Install the tool with `dotnet tool install -g TiaMcpServer`, check the environment with `tia-mcp doctor` and register the server with `tia-mcp install claude-code`. Codex, OpenCode and MiMoCode are supported as well.
How do access modes differ?
`read-only` holds eight read tools. `read-write` adds edits and project lifecycle calls with a prompt per call, and `full` runs the same calls without a prompt.
What does `tia-mcp doctor` do?
It checks the Windows version, .NET runtimes, the TIA Portal installation, Openness assemblies, group membership and host-worker compatibility. The output names exactly what is missing.
Can it start and stop a PLC?
No. The server has no PLC run or stop operations and no safety tokens any more: protection comes from access modes and the guarded write pipeline.
Where is the audit log stored?
In `%LOCALAPPDATA%\TiaMcpServer\audit`. Every write call, including previews and denials, is recorded with a confirmation marker.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server for Siemens TIA Portal: the agent reads the PLC program, blocks and tags; edits need a flag.
A plugin for Siemens TIA Portal automation: skills for Python Scripting and C# Openness plus an MCP server with the documentation
An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell
NX MCP connects an agent to Siemens NX with 16 typed tools for parts, sketches, extrusions and STEP export.
MCP server and wincli CLI: agents drive Windows apps by control name through UI Automation instead of screen coordinates
Microsoft Power Platform MCP server with 312 tools for flows, apps, Dataverse and Power Pages, driven in plain language.
README in short
The README describes tools, access modes, limits and the two-process design in detail. Installation uses a .NET global tool, and `tia-mcp install` automates client registration.