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
MCP server

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.
All reasons and checks

czarnak/tia-portal-mcp

Install

Manual install

dotnet tool install -g TiaMcpServer

Then `tia-mcp doctor` checks the environment and `tia-mcp install claude-code` registers the server in `read-only` mode.

Access and checks

How we review

Broad 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.

An MCP server for Siemens TIA Portal: the agent reads the PLC program, blocks and tags; edits need a flag.

MCP serverExtended access135Repository stars

A plugin for Siemens TIA Portal automation: skills for Python Scripting and C# Openness plus an MCP server with the documentation

PluginExtended access90Repository stars

An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell

MCP serverBroad access11.6KRepository stars

NX MCP connects an agent to Siemens NX with 16 typed tools for parts, sketches, extrusions and STEP export.

MCP serverExtended access173Repository stars

MCP server and wincli CLI: agents drive Windows apps by control name through UI Automation instead of screen coordinates

MCP serverBroad access131Repository stars

Microsoft Power Platform MCP server with 312 tools for flows, apps, Dataverse and Power Pages, driven in plain language.

MCP serverBroad access102Repository stars

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.

README badge

Report a problem