# TiaCommander

An MCP server that links an AI assistant to Siemens TIA Portal through the Openness API, so you can drive PLC projects in plain language.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 50
- Author: a4webdev
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/a4webdev/tiacommander-mcp
- Updated: 2026-09-07
- HTML: https://affpapa.org/en/nevibecode/mcp/tiacommander

## What it does

TiaCommander is an MCP server built on .NET Framework 4.8 that talks to Siemens TIA Portal over the Openness API. It ships 19 tools and 230 actions: reading and writing FB/FC/OB/DB blocks, PLC tag tables, hardware configuration, master copies and library types, cross-references, UDTs, watch and force tables, connection diagnostics, and compile-checked download to the controller. A separate `technology_objects` tool handles axes and other technology objects with 15 actions, including wiring an object to its hardware.

The server speaks MCP 2024-11-05 over stdio. TIA Portal V17 through V20 are accepted, though only V19 has been fully tested. Projects from V16 and older are detected and refused. The `docs/configs` folder carries ready config files for Claude, Codex CLI, Cursor, VS Code Copilot, Windsurf and Gemini CLI, plus block XML templates and `TiaCommander.S7Bridge.exe` for live controller data.

One thing to check first: Siemens TIA Portal V17 or later has to be installed on the same machine with the Openness component enabled, because the server loads those libraries from your TIA Portal installation at startup. Without it the server comes up in a degraded mode and walks you through setup. There is no installer — unpack the archive, point your client at `TiaCommander.exe`, and run it.

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- read and export FB/FC/OB/DB blocks as XML or SCL
- create PLC tag tables and assign addresses
- compare online and offline versions of a project
- trace callers and spot unused blocks through cross-references
- download a project to the PLC with a compile check

## Example prompts
- List every block under `MotorControl` and export them to XML
- Create a tag table for the filling line and assign addresses
- Compare the online and offline project and show me the differences

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32221
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12791

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
