OpenTIA-MCP
OpenTIA-MCP
An MCP (Model Context Protocol) server that lets AI agents interact with Siemens TIA Portal via its Openness API.
Requirements
Windows (TIA Portal is Windows-only)
Python 3.11+
TIA Portal V17–V20 with Openness API installed (V20 is what this repo is verified against)
pip (Python package installer)
For simulation and automated downloads: S7-PLCSIM Advanced (verified with 7.0)
Installation
# Create a virtual environment (recommended)
python -m venv .venv
.venv\Scripts\activate
# Install the package in editable mode
pip install -e .Configuration
Copy or create an opentia.toml file (see opentia.toml for the template).
The server searches for it in this order:
Path specified by the
OPENTIA_CONFIGenvironment variable./opentia.tomlin the current working directory%APPDATA%\opentia-mcp\opentia.toml
Usage
# Start the MCP server
python -m opentia_mcpOr use the installed entry point:
opentia-mcpTools
Tool | Purpose |
| Attach to a running Portal (use |
| Project lifecycle (Multiuser local sessions are handled: saving goes through |
| Block inventory and SCL round-trip |
| Create blocks from SCL (optionally into a block group via |
| PLCSIM Advanced instance lifecycle (runtime API, not Openness) |
| Download to a virtual PLCSIM target and offline/online comparison |
| Project documentation |
Project Structure
src/opentia_mcp/
├── __init__.py
├── __main__.py # Entry point
├── server.py # MCP server and tool registration
├── models.py # Pydantic models
├── errors.py # Exception hierarchy
├── config.py # Configuration loading
├── logging.py # Logging to stderr
└── tia/ # Openness API abstraction layer
├── __init__.py
├── portal.py # Connection lifecycle
├── project.py # Project management
├── block.py # PLC block CRUD
├── compilation.py # Compilation
├── reference.py # Cross-references
├── hmi.py # HMI tags
├── watch.py # Watch tables
├── diagnostic.py # Diagnostics
├── simulation.py # PLCSIM Advanced
├── download.py # Download to PLC
└── documentation.py # Documentation generationLatest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/omirko00/OpenTIA-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server