393 MCP Tools That Connect AI
to Siemens TIA Portal
T-IA Connect implements a full Model Context Protocol server that gives any AI assistant direct access to your TIA Portal projects. Project management, PLC blocks, tags, HMI, simulation, version control, pipelines, testing - everything from a single MCP server.
What is MCP?
The Model Context Protocol (MCP) is an open standard created by Anthropic that defines how AI models communicate with external tools. Instead of copying and pasting between a chat window and your engineering software, MCP lets the AI directly interact with TIA Portal - read your project, create blocks, manage tags, compile, and download to the PLC.
T-IA Connect wraps the Siemens TIA Portal Openness API into 393 MCP tools. Any MCP-compatible AI client (Claude, GPT, Llama, or a local model via Ollama) can use them. It works like a universal adapter: the AI speaks MCP, T-IA Connect translates to TIA Openness API calls. No proprietary plugins, no vendor lock-in.
How It Works
Three layers between your AI and TIA Portal
AI Client
Your AI assistant (Claude, GPT, Llama) in any MCP-compatible client - Cursor, VS Code, Claude Code, Windsurf, or Claude Desktop.
T-IA Connect MCP Server
Runs locally on your engineering workstation. Receives MCP tool calls via JSON-RPC and translates them into TIA Portal Openness API operations.
TIA Portal
Siemens TIA Portal V17-V21 with Openness API enabled. Your PLC projects, devices, HMI screens, and configuration.
All 393 MCP Tools
Search and browse every tool available in the T-IA Connect MCP server
Project Management
(19)Archive the current project to a compressed file
Close the currently open TIA Portal project
Create a new TIA Portal project with specified settings
Create a snapshot of the current project state
Generate a deliverable package from the project
Generate a comprehensive report of the project
Retrieve the change history of the project
Get configured languages for the project
Get a high-level overview of the project structure
Get the current status of the open project
List all files associated with the project
List all running project instances
List all available project snapshots
Load start values for a block from the project
Open an existing TIA Portal project file
Restore the project to a previously saved snapshot
Retrieve a project from an archive file
Save the currently open project to disk
Synchronize the project with external changes
Devices & Hardware
(12)Add a new device to the project hardware configuration
Change the CPU type of an existing device
Remove all devices from the parking lot
Configure CPU properties like IP, clock memory, startup
Remove a device from the project configuration
Get compatible module slots for a device rack
Read the current CPU configuration properties
Get detailed hardware info for a specific device
List devices currently in the parking lot
List all devices configured in the project
Rename an existing device in the project
Search the hardware catalog for modules and devices
Network & Communication
(11)Configure network connections between devices
Create a new communication access point
Create a new subnet in the network configuration
Remove an existing access point
Delete a subnet from the network configuration
Get the physical network topology of a device
Get the complete project network topology
List all configured communication access points
List all IO systems in the project
List all subnets in the project network
Map an access point to a specific network interface
PLC Blocks
(23)Add an input, output, or variable to a block interface
Compile a specific PLC block and report errors
Compile all blocks for a device at once
Create a new folder in the block tree structure
Save a snapshot of a block's current state
Create a new SCL function, FB, or data block
Delete a PLC block from the project
Delete a folder from the block tree
Export a block to XML format for external use
Export the source code of a block
Generate block code from description and import it
Get detailed info: interface, code, and properties of a block
Get guidelines for AI-assisted block generation
Get the hierarchical tree of all PLC blocks
Find all cross-references for a block or tag
List all PLC blocks in a device or folder
Restore a block from a previously saved snapshot
Publish a block to the project library
Remove a variable from a block interface
Rename an existing PLC block
Set the namespace for a block
Update the code content of an existing block
Modify properties of a block interface member
Tags, Constants & UDTs
(33)Create a new constant with name, value, and data type
Create a new PLC tag with address, data type, and comment
Create a new tag table in the PLC program
Create a folder to organize tag tables
Create a new user-defined data type
Create a folder to organize UDTs
Delete an existing constant from the project
Delete a PLC tag from a tag table
Delete a tag table and all its tags
Delete a tag table folder
Delete a user-defined data type
Delete a UDT folder from the project
Export a tag table to CSV format
Export a tag table to Excel format
Export a tag table to XML format
Export a user-defined data type to XML
Get all tags across all tag tables in a device
Get the hierarchical tree of tag tables
Get the structure and details of a UDT
Get the hierarchical tree of all UDTs
Import a tag table from an external file
Import tags into an existing tag table
Import tags from a CSV file into a tag table
Import tags from an Excel file into a tag table
Import a user-defined data type from XML
List all constants defined in the project
List all tag tables in a device
List all tags in a specific tag table
List all user-defined data types in the project
Rename an existing tag table
Update the value or properties of a constant
Update address, data type, or comment of a tag
Update the structure of a user-defined data type
HMI / WinCC
(51)Add a single graphical element to an HMI screen
Add multiple graphical elements to an HMI screen at once
Configure HMI runtime settings and parameters
Configure screen properties like size and background
Modify properties of an existing screen element
Create a new HMI alarm with trigger and text
Create a connection between HMI and a PLC
Create a new HMI acquisition cycle
Create a new HMI screen with layout settings
Create a new VBScript or JavaScript for the HMI
Create a single HMI tag with connection and address
Create a new HMI tag table for organizing tags
Create multiple HMI tags in batch
Delete an existing HMI alarm
Delete an HMI-to-PLC connection
Delete an HMI screen from the project
Delete a single HMI tag
Delete an HMI tag table and its contents
Delete multiple HMI tags in batch
Remove a graphical element from an HMI screen
Get all configured HMI alarm classes
Get all analog alarms configured in the HMI
List all HMI connections to PLCs
Get all HMI acquisition cycles
Get all discrete alarms configured in the HMI
Get available items from the HMI library
Retrieve HMI runtime and diagnostic logs
Get the plant view hierarchy of the HMI
Get current HMI runtime configuration settings
Get detailed properties of a specific HMI screen
Get global screen elements shared across screens
Get an overview of all screen items and layout
Get the hierarchical tree of all HMI screens
Read the source code of an HMI script
Get the hierarchical tree of all HMI scripts
Get the hierarchical tree of HMI tags and tables
Get all properties of a specific screen element
List all available HMI library types
List all project-level graphic resources
List all HMI tags in a tag table
List all text and graphic lists in the HMI
Create a new graphic list for the HMI
Modify the source code of an existing HMI script
Remove an animation from a screen element
Set appearance animation on a screen element
Assign an event handler to a screen element
Configure flashing behavior on a screen element
Set movement animation on a screen element
Set script-based dynamization on a screen property
Bind a screen element property to an HMI tag
Set visibility animation on a screen element
Online & Deployment
(10)Compare online PLC program with offline project
Download the project to the PLC hardware
Get the current run/stop state of the CPU
Get the online connection state of a device
Get PG/PC interface diagnostic information
Disconnect from the online PLC
Establish an online connection to the PLC
Start the CPU to run the PLC program
Stop the CPU and halt PLC program execution
Upload the current program from the PLC to the project
PLCSim Simulation
(35)Read multiple simulation tags in a single operation
Write multiple simulation tags in a single operation
Connect to a PLCSim simulation instance
Create a new PLCSim virtual controller instance
Delete an existing PLCSim instance
Delete a saved PLCSim simulation profile
Disconnect from the PLCSim simulation
Get configuration of a PLCSim instance
Get the current state of a PLCSim instance
Get network settings of the simulation
Get runtime configuration of the simulation
Get the overall simulation state
List all available PLCSim instances
List all saved simulation profiles
List all tags available in the simulation
Load a saved simulation profile
Reset the memory of the simulated PLC
Power off the simulated PLC
Power on the simulated PLC
Read the value of a single simulation tag
Refresh the tag list from the simulation
Set the simulated PLC to RUN mode
Save the current simulation state as a profile
Configure settings of a PLCSim instance
Configure network settings for the simulation
Set runtime configuration for the simulation
Set the runtime communication port
Set a value on a simulation widget element
Start the PLCSim runtime engine
Start the PLCSim simulation
Get the overall status of PLCSim
Set the simulated PLC to STOP mode
Stop the running PLCSim simulation
Update an existing simulation profile
Write a value to a single simulation tag
Libraries
(20)Archive a global library to a compressed file
Close an open global library
Compare two versions of a library type
Create a project element from a library type
Create a project element from a master copy
Create a new global library
Create a new version of an existing library type
Create a master copy from a project element
Create a folder to organize master copies
Delete a library type from the library
Delete a master copy from the library
Get the hierarchical tree of a global library
Get all types in a global or project library
Get all master copies from a library
Get the project library contents
Get the hierarchical tree of the project library
List all open global libraries
Open an existing global library file
Save changes to an open global library
Set the default version for a library type
Safety
(8)Create a new safety runtime group
Delete a safety runtime group
List all safety runtime groups in the project
Get the safety program configuration settings
Get safety program signatures for verification
Get a summary of the safety program status
Log in to the safety program for editing
Log off from the safety program
Security & Users
(24)Assign a role to a project user
Clear the online authentication password
Configure project security settings
Create a custom role with specific permissions
Create a new OPC UA server user
Create a new user in the project
Create a new PLC webserver user
Delete a custom role from the project
Delete an OPC UA server user
Delete a user from the project
Delete a PLC webserver user
Get the online authentication password status
Get OPC UA server configuration
List all roles defined in the project
List all users in the project
Get the access protection level of a block or device
Get an overview of all security settings
Get PLC webserver configuration
Manage the project master secret key
Remove a role from a project user
Reset the PLC access password
Set or change the HMI display password
Set the online authentication password
Set or change the PLC access password
Technological Objects & Drives
(13)Create a new technological object (axis, PID, cam, etc.)
Delete a technological object from the project
Read a specific parameter from a drive
Get all parameters of a configured drive
Get telegram configuration of a drive
List all drives in the project
Get detailed information for all drives
Get detailed config of a technological object
List all technological objects in a device
Read a specific parameter of a technological object
List available parameter sets for drives
Write a parameter value to a drive
Set a parameter value on a technological object
Watch & Force Tables
(11)Add tag entries to a watch table for monitoring
Remove all entries from a watch table
Create a folder to organize watch/force tables
Create a new watch table for online monitoring
Delete a watch/force table folder
Get the contents of a force table
Get the contents and entries of a watch table
Export a watch table to an external file
List all force tables in the project
List all watch tables in the project
Remove specific entries from a watch table
Text Lists & PLC Alarms
(13)Create a PLC alarm text list for alarm messages
Create a new text list for multilingual texts
Delete a PLC alarm text list
Export PLC alarm instance texts to Excel
Export PLC alarm text lists to Excel
Export ProDiag diagnostic information
Export supervision settings to a file
Export supervision configurations to Excel
Get all PLC alarm text lists in the project
Import PLC alarm text lists from Excel
Import supervision settings from a file
Import supervision settings from Excel
Import supervision configurations from Excel
Import / Export
(9)Create a folder for external source files
Delete an external source file from the project
Delete an external source folder
Export hardware configuration to AML or CAx file
Export all project texts for translation
Import hardware configuration from AML or CAx file
Import translated project texts back into the project
Import an SCL source file into the project
List all external source files in the project
Software Architecture
(13)Add a relation between software units
Create a new software unit in the project
Create a new workspace for multi-user development
Create a workspace group to organize workspaces
Delete a software unit from the project
Delete an existing workspace
Get all relations between software units
List all software units in the project
Get all workspace groups
Get the mapping of elements to workspaces
List all workspaces in the project
Set the namespace for a software unit
Synchronize a workspace with the project
Version Control
(17)Check out an existing version control branch
Create a new version control branch
Delete a version control branch
List all version control branches
Commit current changes to version control
View or update version control configuration
Show differences between versions
Initialize version control for the project
View the version control commit history
Merge a branch into the current branch
Pull changes from a remote repository
Push local commits to a remote repository
Add a remote repository to the project
List all configured remote repositories
Remove a remote repository from the configuration
Restore files to a specific version
Show the working tree status of version control
Pipelines
(9)Delete a saved pipeline definition
Get the definition of a specific pipeline
Get a pipeline template definition
View execution history of a pipeline
Create a pipeline instance from a template
List all available pipelines
List all available pipeline templates
Execute a pipeline with specified parameters
Save a pipeline definition
Testing & Reporting
(8)Generate a Factory Acceptance Test report
Generate a visual graph from project data
Create a new PLC test case
Delete an existing PLC test case
Get the results of a PLC test execution
List all PLC test cases in the project
Execute a PLC test case and collect results
Generate a Site Acceptance Test report
Documentation & Search
(13)Get a specific chunk from a custom document
Get the full text of a custom document
Get statistics about custom documentation
Get a specific section from the documentation
Get community LLM tips for TIA Portal usage
List all custom documents in the knowledge base
List all available documentation sections
Search through custom documentation by keyword
Search the built-in documentation library
Search Siemens online documentation
Search TIA Portal help system
Submit a new LLM tip for the community
Upvote a helpful LLM tip
AI Copilot
(6)Send a message to the AI copilot for assistance
Clear the AI copilot conversation history
Retrieve the AI copilot conversation history
Get the last response from the AI copilot
Get current AI copilot configuration settings
Stop an ongoing AI copilot generation
Patterns & Templates
(5)Get detailed information about a specific pattern
Get the usage guide for a specific pattern
Create project elements from a pattern template
List all available automation patterns
Search patterns by keyword or category
CODESYS
(20)Add a device to a CODESYS project
Build and compile the CODESYS project
Close the current CODESYS project
Create a new Ladder Diagram POU in CODESYS
Create a new Program Organization Unit in CODESYS
Create a new CODESYS project
Export a POU from the CODESYS project
Get all blocks in the CODESYS project
List all devices in the CODESYS project
Get the code of a Global Variable List
Get the source code of a CODESYS POU
Get information about the open CODESYS project
Get a high-level overview of the CODESYS project
Get the installed CODESYS version
List available devices in the CODESYS catalog
List all Global Variable Lists in the project
Open an existing CODESYS project file
Save the current CODESYS project
Set or update the source code of a POU
Update an existing Ladder Diagram POU
Server Administration
(10)Attach to a running TIA Portal instance
Detach from the current TIA Portal instance
Get details of a specific help topic
Get statistics about server usage history
List all installed TIA Portal versions
Get diagnostic information from the MCP server
Get general information about the MCP server
Retrieve MCP server log entries
List all available server log files
Enable or disable simulation support
Compatible MCP Clients
Use T-IA Connect with your preferred AI development environment
Cursor
The AI-first code editor. Add T-IA Connect as an MCP server and use Claude or GPT to work with TIA Portal projects directly from Cursor.
VS Code + Continue
Use the Continue extension in VS Code to connect to T-IA Connect's MCP server. Works with any AI model provider.
Claude Code (CLI)
Anthropic's official CLI for Claude. Native MCP support - add T-IA Connect and interact with TIA Portal from your terminal.
Windsurf
Codeium's AI IDE with MCP support. Connect T-IA Connect for TIA Portal operations alongside your code editing workflow.
Claude Desktop
Anthropic's desktop app. Configure T-IA Connect as an MCP server for a conversational TIA Portal experience.
Custom Integration
Build your own MCP client using the open specification. Automate TIA Portal operations from CI/CD pipelines, scripts, or custom tools.
Security: On-Premise by Design
Your PLC code never leaves your network unless you choose a cloud AI provider
Local MCP Server
T-IA Connect runs on your engineering workstation. No cloud server, no external dependencies. The MCP server communicates only with the local TIA Portal instance.
Your AI, Your Choice
Route AI requests to Claude/GPT API (data goes to their servers) or to a local model via Ollama (zero cloud exposure). The choice is yours per session.
No Data Collection
T-IA Connect does not collect, store, or transmit your project data. It's a transparent bridge - data flows between your AI client and TIA Portal, nothing is retained.
NIS2 & IEC 62443 Compatible
On-premise deployment with local models meets the strictest industrial cybersecurity requirements. No external data processing, no cloud dependencies.
Get Started in 3 Minutes
From download to your first AI-generated PLC block
Install T-IA Connect
Download the installer, run it on your engineering workstation. T-IA Connect detects your TIA Portal installation automatically.
Configure Your MCP Client
Add T-IA Connect as an MCP server in your AI client (Cursor, VS Code, Claude Code). One JSON config line is all you need.
Open a TIA Portal Project
Start TIA Portal and open your project. T-IA Connect connects via Openness API and exposes all 393 tools to your AI.
Frequently Asked Questions
What is the Model Context Protocol (MCP)?
MCP is an open standard by Anthropic that defines how AI models interact with external tools. It specifies a JSON-RPC protocol for tool discovery, invocation, and result handling. Think of it as a USB port for AI - any AI model can use any MCP-compatible tool. T-IA Connect implements this protocol for TIA Portal.
Does T-IA Connect work with TIA Portal Openness?
Yes. T-IA Connect wraps the official Siemens TIA Portal Openness API (.NET/COM) and exposes it as MCP tools. This means you need TIA Portal Professional or higher (which includes Openness) and the Openness package installed on your workstation.
Can I use the MCP server without AI, for automation scripts?
Yes. While T-IA Connect is designed for AI interaction, the MCP protocol works with any client. You can build custom scripts that call T-IA Connect's tools to automate TIA Portal operations - batch block creation, tag import, automated compilation, etc.
Which TIA Portal versions support MCP via T-IA Connect?
T-IA Connect supports TIA Portal V17, V18, V19, V20, and V21. All versions with Openness API support are compatible. The MCP tool set is the same across versions, though some features (like PLCSim Advanced) require specific TIA Portal editions.