TIA Portal MCP Server
An MCP server and CLI for Siemens TIA Portal V20 and V21: the agent builds a project with PLC and HMI screens and compiles it
- 367 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- An agent creates and changes blocks and tags in a TIA Portal project, and the project can control real equipment
- The server starts TIA processes and writes configuration into the Claude, Cursor and VS Code client files
Install
- Works in
Manual install
tia.cmd configRun it from the root of the unpacked release archive. The --host vscode, claude, claude-code or cursor parameter picks one client, and --print outputs the configuration for manual pasting. For a non-default TIA install add --tia-portal-location and --tia-major-version.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- An agent creates and changes blocks and tags in a TIA Portal project, and the project can control real equipment
- The server starts TIA processes and writes configuration into the Claude, Cursor and VS Code client files
This is third-party code. Review the repository files before installing.
What it does
TIA Portal MCP Server drives Siemens TIA Portal through the Openness interface: an agent creates a project, adds hardware, writes PLC blocks in SCL and LAD, builds WinCC Unified screens, compiles and saves the project. The server runs as a ready TiaMcpServer.exe over stdio or HTTP, so you do not write Openness code yourself. The server has 235 tools, but the client sees 65 core ones by default to keep the context small. The agent finds the rest with the FindTools request and calls them through CallTool. The best loop is Bootstrap, Connect, OpenProject, GetProjectTree, then read paths such as PLC_1 and make the smallest change followed by a compile. The same exe works as a `tia` command line. An AI emits a project description in YAML or JSON, and an engineer runs `tia gen spec.yaml`. Separate commands patch and compile the project, export and import it, and prewarm starts TIA in advance. For V21 the project can be exported to Git through the Version Control Interface, one text file per block.
Who it is for. For automation engineers and integrators who program Siemens S7-1200 and S7-1500 controllers and want to speed up project creation with Claude Code, Cursor or VS Code.
Good fit when
- You need a template project with PLC and HMI built from a YAML description without manual steps
- An agent should write an SCL or LAD block and fix compile warnings itself
- You want to put a TIA Portal V21 project under Git and see which blocks changed
- You need WinCC Unified screens, events and bindings to PLC tags
- You need to read current controller variable values in read-only mode
Not a fit when
- TIA Portal is not installed on the machine: the server only works on top of it
- You need to run it outside Windows: the server is built for .NET Framework 4.8
- You want hardware configuration or know-how protected blocks in Git: the Version Control Interface does not cover them
- The project lives in TIA Portal V19 or earlier
Example request
Create a project with an S7-1500 PLC, add an SCL function block for motor start and stop, compile and saveMCP
- Transport
- stdio, http
- Authentication
- not required
Environment variables
TiaPortalLocation- TIA Portal install folder when the server cannot find it in the registry
Limitations
You need Windows, an installed TIA Portal V20 or V21 and .NET Framework 4.8. The Windows user must be added to the local Siemens TIA Openness group and sign in again, otherwise the connection fails. The server finds the TIA install path in the registry or accepts it through the `--tia-portal-location` parameter.
The first run without prewarm starts TIA in about three minutes, and with prewarm later calls take about a second. A block must be compiled before it is exported to Git, which is a limit of TIA Portal itself. If something does not connect, `tia.cmd doctor` checks the install, the exe version and the Openness group.
How to disable. Remove the tia-portal entry from the client configuration: Claude Desktop, Claude Code, Cursor or VS Code. A backup of the previous file sits next to it with the .bak extension. Then close the prewarm process if it is running.
FAQ
How do I connect TIA Portal to Claude Code or Cursor?
Unpack the release and run `tia.cmd config` (or double-click the 配置MCP.bat file). The command finds TIA Portal and its registry entry itself, picks the exe for your version and registers the server in every client it finds, keeping the previous files with the .bak extension.
Why does the client see only 65 of the 235 tools?
The schemas would otherwise take a lot of context and hit the limits of VS Code and Windsurf. The other tools are reachable through FindTools and CallTool, and the `--full` key of the config command lists everything at once.
Is a license needed for the MCP server itself?
No, the server is MIT-licensed and needs no key. Only a licensed TIA Portal is required.
Can I work without an MCP client?
Yes, the same exe works as the `tia` CLI. Get a project description in YAML or JSON and run `tia gen spec.yaml`, and the `--dry-run` flag checks it without TIA.
What does the tool do with online controller values?
It only reads them, by absolute S7 addresses or through OPC UA. These tools cannot write values to the controller.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server that gives an agent screenshots, DOM, logs and IPC of a running Tauri v2 app and lets it click through the interface
A CLI and TypeScript runtime for calling MCP servers from a terminal, scripts and generated typed clients
A 1C:EDT plugin that gives agents projects, errors, BSL analysis, form screenshots, metadata refactoring and infobase launch over MCP
Developer tools for the 1C MCP Server Constructor
Инструменты для разработки — MCP Tools для Конструктора MCP серверов 1С
Four ready MCP tools for executing code, running queries and diagnosing a 1C infobase, loaded into the third-party 1C MCP Server Constructor product
An MCP server that lets an agent read files, search code and run commands in a workspace
A 1C external data processor with MCP and REST API: queries, metadata, event log and code execution without changing the configuration
README in short
The author starts with the supported versions and the CLI, then shows the Git export of a project and a three-step quick start. The bundle can be checked without TIA installed, and the source build comes last.