
TiaCommander
io.github.a4webdevPublished by GitHub account a4webdevv3.42.0Updated Oct 24, 2026
Siemens TIA Portal MCP server — AI-assisted PLC programming. 19 tools, 230 actions.
Overview
A local MCP server that connects AI assistants to Siemens TIA Portal via the Openness API for AI-assisted PLC programming and project management.
- What you can do
- Read, inspect, compile and export PLC blocks, interfaces and networks, and create or import SCL, LAD, FBD and STL blocks and data blocks with cross-reference analysis and diagnostics. Manage project sessions, folders, hardware and network configuration, PLC tag tables, user-defined types, libraries and technology objects. Handle alarm texts and text lists with XLSX import and export. Read live values and CPU diagnostics from a running controller, and use watch and force tables. Compile-checked download to and upload from the PLC, plus server administration, export storage and device catalog lookups.
- When to use it
- For automation engineers working in Siemens TIA Portal who want an AI assistant to inspect, create, compile and debug PLC projects and to read live values from S7-1200 or S7-1500 controllers without leaving the AI client.
- Requirements
- Windows desktop with Siemens TIA Portal V17 or later installed and the Openness component enabled; V19 is the only fully tested version. Runs as a local .NET Framework 4.8 process, installed as an .mcpb bundle or portable ZIP. Live data needs TCP port 102 access to the CPU; a CPU password may be needed depending on protection level.
Installation
In SourceWeft
- Open TiaCommander in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
TiaCommander — MCP Server for Siemens TIA Portal
New in this release: a new technology_objects tool — 15 actions for listing and reading technology objects, changing parameters, structural edits, export/import, and connecting an object to its hardware; per-project PLC credentials with a new Credentials tab in the Manager — a project's own password is tried first, a global one is the fallback; transactional block overwrites — the block is exported before the import and restored if the import fails, and overwrites no longer lose attributes, block numbers or folder placement; and compiler results that list only real diagnostics, so totals always match the compiler's own count. Dozens more fixes and improvements since v3.15.2 — see CHANGELOG.md for the full list.
*V17 through V20 are supported for project work. V16 and older are detected and refused with a clear message. Only V19 is fully tested; the others are expected to work as TIA Portal maintains backward-compatible Openness APIs across versions.
Overview
TiaCommander is an MCP server that connects AI assistants to Siemens TIA Portal via the Openness API. It enables AI-assisted PLC programming, project management, library operations, hardware configuration, cross-reference analysis, and deployment — all through natural language.
Tested AI clients: Claude Desktop, Claude Code, VS Code (Copilot), Cursor, Windsurf, Codex CLI, Gemini CLI.
19 tools, 230 actions covering the full TIA Portal project lifecycle.
What's in the download?
No installer, no registry changes, no system modifications. Extract, configure, and run. Download the latest .zip from GitHub Releases.
Claude Desktop users: Download the .mcpb bundle from Releases and install via Settings → Extensions → Advanced Settings → Install Extension. No config file editing needed. See the Quick Start Guide for details.
Prerequisite: Siemens TIA Portal V17 or later must be installed on your machine with the Openness component enabled. TiaCommander loads Siemens Openness libraries directly from your TIA Portal installation at runtime. Without TIA Portal, the server starts in degraded mode with limited functionality and guides you through setup.
Why this tool exists?
First things first — we are software developers and automation engineers who use Siemens products daily — in our own facilities, at client sites, and in every project that needs industrial automation. We love it. With Siemens, it's simple — it just works. Every time. All the time.
During years of hands-on programming, wiring, testing, debugging and making things happen with Siemens PLCs, we have built TiaCommander just for our own internal needs. That's the honest reason why it exists — we built it for ourselves, and we find it awesome. It speeds things up tenfold, sometimes twentyfold, and sometimes more — until you ask yourself: how the hell were we getting things done before?!
You can get full project context through your AI assistant in under a minute. Create any block in seconds — SCL, LAD, FBD, DB — get interface structures, build multi-instance DBs, run cross-references, compile, debug, retrieve errors, and a lot more.
Every tool you see in the tool map below is built from what we actually need or use in our daily operations with Siemens PLCs. Whether you're working with S7-1200 or S7-1500 series — it doesn't matter. If Siemens TIA Portal supports it, you can use TiaCommander to manage it.
Now that we're making this tool public — we're genuinely keen on what features you're missing for your development workflow. Don't be shy — submit a feature request, file a bug report, or just tell us what you think. As an Engineer to Engineer — we read every line of feedback.
Enjoy TiaCommander.
Architecture
Tool Map
Each meta-tool groups related actions behind a single action parameter. get_info and open_manager are standalone utilities that work without a license. Start with session to connect, then use any other tool.
Tested Hardware
TiaCommander should work with any PLC supported by TIA Portal and the Openness API. The following devices have been tested in-house with full tool coverage:
See what the community is actually running — tiacommander.com/stats. The live compatibility list shows every device reported working across all users, with its order number, firmware and the TIA Portal versions it was seen under, alongside community tool usage and AI client adoption. It is built from anonymised, aggregated telemetry and is a far broader picture than the in-house table above.
Block Creation
TiaCommander creates complete PLC blocks from structured JSON descriptions:
- SCL blocks — via External Source API (firmware-agnostic)
- LAD/FBD blocks — via FlgNet XML builder with 69 verified instruction types:
- Bit logic, timers (TON/TOF/TP), counters (CTU/CTD/CTUD)
- Math (Add, Sub, Mul, Div, Mod, Abs, Sqrt, Sin, Cos, etc.)
- Comparators (EQ, NE, GT, GE, LT, LE)
- Move & conversion, word logic, shift & rotate, selection
- Program flow (FB/FC calls with parameter wiring, JMP/JMPN, RET, LABEL)
- Block numbers — auto-assigned if omitted, or explicit
- Custom interfaces — Input, Output, InOut, Static, Temp, Constant sections
Live Data
The live_data tool reads actual values straight from a running CPU — data blocks, tag tables, watch tables and the full CPU diagnostic buffer. It is where TiaCommander earns its keep for debugging and for a tight development feedback loop: change a block, download, and watch the values move without ever leaving your AI client.
- Separate pipe — live reads go through a dedicated helper process (the S7 bridge) that talks to the CPU directly over TCP port 102, independent of the Openness engineering connection, so reading live values never disturbs your TIA Portal session.
- No licence, nothing extra — the live-data path needs no Openness licence and no additional Siemens software; it speaks the S7 protocol itself.
- TLS and plaintext both supported — S7-1200 V4.5+ and S7-1500 V2.9+ connect over TLS; older CPUs connect in plaintext.
connectreports which was actually negotiated for the CPU in front of you. - Optimised and standard blocks —
read_dbreturns symbolic values with quality codes from both optimised and non-optimised (standard) data blocks. - Password-aware — a CPU password is needed only if the CPU's protection level requires one; it can be stored encrypted at rest (per project or global) so
connectuses it automatically, and it is never logged or echoed. Save one in the Credentials tab of the Manager GUI, or just ask your AI assistant to store it — globally for a PLC IP address, or per project.
Safety
The MCP server treats PLC deployment operations as destructive. These actions require explicit confirmation strings before execution:
All other operations work within the TIA Portal project and are reversible before download.
Standalone I/O
TiaCommander works fully standalone — no external file management tools required.
Three input modes for every import: file path, inline content, or export database reference.
Three output modes for every export: inline (default), export database, or file.
Exports auto-expire after 24 hours. Manage via admin tool actions.
However, we strongly recommend pairing TiaCommander with Desktop Commander (GitHub) for your daily AI agent workflow. Desktop Commander gives your AI assistant terminal access, file management, and code editing capabilities across your entire OS. This is not a paid promotion — we use Desktop Commander every day in our own work, and it happens to be created by our fellow Latvian, Eduards Ruzga. It's free, open-source, and it makes everything better.
Data & Privacy
All data stays on your machine. The local SQLite database stores tool call statistics, device profiles, error log, and temporary export cache.
TiaCommander collects limited telemetry to improve the product:
- Error reports — when a tool call fails, the error type and context are sent so we can identify and fix issues.
- Tool usage statistics — which tools and actions are used most often, to understand what is most valuable.
- AI client information — which AI assistant is connected (client name and version), to ensure compatibility.
No PLC program data, project files, or block contents are ever transmitted.
Your personal information (name, surname, email) provided during registration is governed by European Union GDPR rules. We do not share, sell, or disclose your data to third parties. We will never send you marketing materials or anything not directly relevant to your use of TiaCommander — unless you explicitly ask us to.
What's Next
TiaCommander is actively developed. Here's what we're working on:
- HMI integration — access to HMI screens, tags, and alarm views
- Wider live-data coverage — more of what a running PLC exposes, across more CPU families
- Simulation support — drive PLCSIM for offline development and testing
- Broader hardware validation — more device families and firmware verified in-house, guided by real-world usage
Have a feature idea? Submit it on GitHub.
Quick Start
Claude Desktop (one-click): Download TiaCommander.mcpb from Releases, then install via Settings -> Extensions -> Advanced Settings -> Install Extension. Done.
All other AI clients: Download the portable ZIP and see the Quick Start Guide -- everything you need to get up and running in 5 minutes: extract, Openness group setup, AI client configuration for all 7 tested clients, license activation, and first commands.
Ready-to-use config files for each AI client are in the configs/ folder.
License & Feedback
TiaCommander is proprietary software published by SIA A4 Studio. During the beta period, the tool is completely free with unlimited usage and all tools available — no restrictions.
In return, we count on you to help us make TiaCommander better. If you encounter a bug, have an idea for a new feature, or just want to share how you use the tool in your workflow — we want to hear from you:
- Bug reports: github.com/a4webdev/tiacommander-mcp/issues
- Feature requests: github.com/a4webdev/tiacommander-mcp/issues
- Testimonials & feedback: tiacommander.com/wf/github
Every report, every suggestion, every comment helps us build a better tool for the Siemens automation community.
See LICENSE.txt for full terms. Visit tiacommander.com for more information.
Trademarks
TiaCommander™ is a trademark of SIA A4 Studio. Siemens, TIA Portal, SIMATIC, S7-1200, S7-1500 are trademarks of Siemens AG. TiaCommander is not affiliated with, endorsed by, or sponsored by Siemens AG.
Thank You
Thank you to everyone who has opened an issue or sent us feedback — it genuinely helps us make TiaCommander better, and we read every word. And if your experience has been smooth and there is nothing to report, we would be grateful if you left a star on the repository — it is a small thing, and it helps other Siemens engineers find the tool.
Source: README.md at commit 3016289
Tools
0Version history
1- v3.42.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.