492 MCP Tools That Connect AI
to Siemens TIA Portal
T-IA Connect implements a full Model Context Protocol server for Siemens TIA Portal. Claude, GPT, Cursor, VS Code and local LLMs can access project management, PLC blocks, tags, HMI, simulation, version control, pipelines, testing and Workplan execution from a single local MCP server.
Paid access, with no free trial.
Personal: €10 per 24 hours as a daily subscription, renewed automatically. €100 for the first month subject to eligibility, then €149/month.
Professional: Trial offer : €100, Then €149 per seat / month
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 492 MCP tools. Any MCP-compatible AI client (Claude, GPT, Llama, Cursor, VS Code, Windsurf, or a local model via Ollama) can use them. The AI speaks MCP, T-IA Connect translates the request into controlled TIA Openness API calls and Workplan steps. No proprietary AI plugin, 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 492 MCP Tools
Search and browse every tool available in the T-IA Connect MCP server
Project Management
(25)Archives the current project to a .zap* file asynchronously and returns a jobId.
Archives the current project into the bounded remote artifact store asynchronously.
Attaches to an already running TIA Portal instance by explicit processId.
Requests cooperative cancellation of a Pending or Running asynchronous T-IA Connect job.
Closes the currently open project.
Creates a new TIA Portal project asynchronously and returns a jobId.
Deletes one remote artifact from the bounded store.
Detaches from the current TIA Portal instance without closing it.
Exports all translatable project texts to an XLSX file asynchronously and returns a jobId.
Returns artifact metadata and an internal HTTP download URL.
Gets status, progress percentage, progress message, result, and the structured known-or-unknown error contract for an asynchronous T-IA Connect job returned by tools such as open_project or VCS operations.
Retrieves the history of actions and snapshots for the current project.
Gets the editing and reference languages configured for the project, plus all available languages.
Retrieves a comprehensive overview of the entire project structure (devices, blocks, tags, and HMI screens) in a single call.
Gets the name and path of the currently open project.
Imports translated texts from an XLSX file back into the project asynchronously and returns a jobId.
Lists remote artifacts, optionally filtered by artifact jobId.
Scans an allowed project directory for TIA Portal project files (.ap*).
Opens an existing TIA Portal project asynchronously and returns a jobId.
Retrieves (unzips) a project from an archive file asynchronously and returns a jobId.
Starts an asynchronous project save job and returns a jobId.
Updates project language settings.
Enables or disables simulation support for the project.
Closes/disposes the current TIA Portal instance through the clean T-IA Connect PortalManager.ShutdownPortal path.
Forces a synchronization between the API state and TIA Portal.
Devices & Hardware
(35)Adds generic hardware using the existing compatibility path.
Changes the CPU hardware type of a device (equivalent to 'Change device' in TIA Portal GUI).
Removes all devices from the parking lot.
Starts an asynchronous device compilation job and returns a jobId.
Configures one analog input channel to an allowlisted signal mode using writable parameter metadata exposed by TIA Portal.
Configures CPU properties: clock/system memory byte, comment, plant designation, location identifier, web server, cycle time, communication load, PUT/GET, startup mode, PROFINET name, system diagnostics, configuration control.
Changes one module input or output byte start address after overlap validation.
Sets network properties on one exact interface and node.
Sets PROFINET identity assignment on the NetworkInterface node: PnDeviceName, PnDeviceNameSetDirectly, ChangeIpAtDevice/IP-address direct assignment, PnDeviceNameAutoGeneration, and optionally IpProtocolSelection.
Attempts exact prepared CPU creation once, without save or retry.
Creates a new subnet in the project.
Removes one or more devices from the project.
Deletes a subnet from the project.
Exports hardware configuration of a device to an AML file asynchronously and returns a jobId.
Lists compatible module slots for a parent device and order number.
Reads current CPU properties (clock memory, system memory configuration).
Gets detailed hardware information (modules, interfaces, addresses) for a device.
Lists the exact ordered network interfaces and node indexes accepted by configure_network, including the canonical displayed target.
Gets physical network connections (neighbors) for a specific device.
Lists devices in the parking lot (unplaced devices).
Dumps the Openness attributes exposed by the PROFINET NetworkInterface node used by configure_profinet_identity.
Gets all physical network connections between devices in the project.
Returns a read-only snapshot of the TIA Portal Device view, Topology view and Network view tables, including columns for empty sections.
Imports AutomationML through the project-wide Siemens CAx provider and may replace existing devices.
Parses an AutomationML .aml exchange into a bounded read-only engineering preview.
Validates a raw PROFIBUS .gsd or PROFINET .gsdml station-description file without installing or importing it.
Lists all PLC and HMI stations with explicit stationName, cpuName and main-module identity fields.
Lists all IO systems across all project subnets.
Lists all subnets defined in the current project.
Plugs a hardware I/O module (DI, DQ, AI, AQ, etc.) into a device at the next available slot or a specific slot.
Prepares explicit CPU configuration questions from the server catalogue, or reviews an existing CPU without recreation.
Compares a bounded AutomationML preview with one read-only TIA device hardware snapshot.
Renames a hardware station or device item.
Searches the Siemens hardware catalog for devices by name or order number.
Starts compatible-slot discovery as a cancellable compatible-slots-job/1 job.
Communication Settings
(6)Creates a new PG/PC access point in the Windows registry.
Deletes a PG/PC access point from the Windows registry.
Runs a diagnostic on the PG/PC interface configuration.
Lists all PG/PC access points configured in Siemens online access settings (legacy SINEC registry and modern Simatic OAM XML).
Lists available PG/PC parameter sets from Siemens XML configuration files.
Changes the parameter set (communication interface) assigned to an access point.
CPU Services
(7)Creates a new OPC UA user on the CPU.
Creates a new web server user on the CPU.
Deletes an OPC UA user from the CPU.
Deletes a web server user from the CPU.
Gets the CPU's OPC UA server configuration: enabled state, port, users, and server interfaces.
Gets the CPU's built-in web server configuration: enabled state, users, and user-defined pages.
Inspects Siemens Openness services exposed by the CPU DeviceItem.
PLC Software & Blocks
(31)Adds a new member (variable) to a block's interface.
Compiles a single block (software only, not full device compile).
Creates a new folder in the block structure of a PLC device.
Creates a snapshot of a block's current state (for undo).
Creates a folder in the external source structure of a PLC device.
[DEPRECATED - use create_program_block with language:'SCL' instead] Creates a new SCL block (FB/FC) with SIMPLE logic only (assignments, basic expressions).
Deletes one or more program blocks.
Deletes a folder from the block structure of a PLC device.
Deletes an external source from a PLC device.
Deletes a folder from the external source structure of a PLC device.
Exports a block to a SimaticML XML file.
Exports a block as SCL/STL source document.
Exports ProDiag supervision information for a block.
Gets the block interface and decoded code.
Gets the know-how protection status of a block (protected, protectable).
Gets program block structure.
[DEPRECATED - use create_program_block with language:'SCL' and sclSource parameter instead] Imports SCL source code text, generates the corresponding PLC blocks, and cleans up the temporary source.
Imports SCL source code from a local file path, generates the corresponding PLC blocks, and cleans up the temporary source.
Lists all program blocks (OB, FB, FC, DB) for a specific device.
Lists all external sources on a PLC device.
Restores a block to its last snapshot state.
Loads start values into actual values of a data block.
Moves one or more blocks to a different folder.
Applies know-how protection to a compiled block.
Applies know-how protection to multiple blocks (best-effort).
Removes a member from a block's interface.
Renames a program block.
Sets the Namespace attribute on an existing block.
Removes know-how protection from one or more blocks.
Rewrites only the SCL body of an existing SCL block while preserving its confirmed current interface.
Updates an existing member in a block's interface.
Block Generation
(4)UNIFIED tool for creating ANY PLC block.
[DEPRECATED - use create_program_block instead] Generates a new program block (FB, FC, OB, DB) or UDT from a structured description and imports it into the project.
[DEPRECATED - use create_program_block with language:'GRAPH' instead] Generates a GRAPH (SFC/Sequential Function Chart) Function Block and imports it into the project.
Returns a complete step-by-step guide with minimal working JSON examples for generating program blocks in the specified language using generate_and_import_block.
Software Units
(7)Adds a dependency relation to a software unit.
Creates a new standard software unit.
Deletes a standard software unit by name.
Gets dependency relations for a software unit.
Lists all software units (standard + safety) for a device.
Sets a block or PLC type as Published or Unpublished within a software unit.
Sets the namespace preset on a software unit.
Tags & Constants
(25)Creates a new user constant in a tag table.
Creates a single PLC tag.
Creates a tag table below an exact parent, or in the legacy Main root.
Creates a folder in the tag table structure of a PLC device.
Creates multiple PLC tags in a single call (additive, does NOT overwrite existing tags).
Deletes a user constant from a tag table.
Deletes one or more PLC tags.
Deletes a PLC tag table.
Deletes a folder from the tag table structure of a PLC device.
Exports the table selected by tableIdentifier, or a legacy Main-root table, to CSV.
Exports the table selected by tableIdentifier, or a legacy Main-root table, to XLSX.
Exports the table selected by tableIdentifier, or a legacy Main-root table, to SimaticML XML.
Gets all tags across all tag tables for a device.
Gets the hierarchical tree of tag tables including folders.
Alias for list_tag_tables.
Imports multiple PLC tags into a specific tag table.
Imports tags from a CSV file into a tag table.
Imports tags from an Excel (.xlsx) file into a tag table.
Lists constants from the table selected by tableIdentifier, or from a legacy Main-root table.
Lists all PLC tag tables for a specific device.
Lists tags from a canonical tableIdentifier, or from a legacy root tableName.
Renames an existing PLC tag without changing its data type, address, comment or HMI flags.
Renames a PLC tag table.
Updates an existing user constant.
Updates properties of an existing PLC tag.
Data Types (UDT)
(10)Creates a new User-Defined Type (UDT) with specified members.
Creates a folder in the UDT structure.
Deletes one or more User-Defined Types (UDTs).
Deletes a folder from the UDT structure.
Exports a UDT to an XML file.
Gets detailed information about a specific UDT, including its members read through a provider export.
Gets the hierarchical tree structure of UDTs including folders, metadata only.
Imports a UDT from an XML file.
Lists all User-Defined Types (UDT) for a specific PLC device, metadata only.
Updates an existing UDT (rename and/or replace members).
Watch & Force
(12)Adds entries (variables to monitor) to an existing watch table.
Removes ALL entries from a watch table (keeps the table itself).
Creates a folder in the watch/force table structure of a PLC device.
Creates a new watch table in a PLC device.
Deletes a folder from the watch/force table structure of a PLC device.
Exports a watch table to an XML file.
Gets entries of a specific force table.
Gets detailed information and entries of a specific watch table.
Imports a watch or force table from an XML file.
Lists all force tables for a specific PLC device.
Lists all watch tables for a specific PLC device.
Removes specific entries from a watch table by their address.
PLC Alarms
(11)Creates a user-defined PLC alarm text list from a library master copy.
Deletes a user-defined PLC alarm text list.
Exports PLC alarm instance texts (multilingual alarm messages) to an XLSX file.
Exports PLC alarm text lists to an XLSX file.
Exports ProDiag supervision settings to an XML file via SupervisionSettingsProvider.
Exports ProDiag supervisions to an XLSX file.
Lists all PLC alarm text lists (user + system) for a device.
Imports PLC alarm text lists from an XLSX file (overwrites existing).
Imports ProDiag supervision settings from an XML file via SupervisionSettingsProvider.
Imports ProDiag supervision settings from an XLSX file (overwrites existing).
Imports ProDiag supervisions from an XLSX file (overwrites existing).
HMI
(54)Adds a graphical element to an HMI screen.
Batch-adds multiple graphical elements in a single operation (single XML round-trip, much faster).
Configures HMI runtime settings.
Modifies properties of an HMI screen (e.g.
Modifies properties of an existing screen element.
Creates a new HMI graphic list.
Creates an HMI alarm (discrete or analog) on a WinCC Unified device.
Creates a new HMI connection to a PLC device.
Creates a new HMI update cycle.
Creates a new HMI screen, screen template, or popup.
Creates a new HMI script.
Creates a new HMI tag in a tag table.
Creates a new HMI tag table on a device.
Creates multiple HMI tags in a single batch import.
Creates a new HMI text list with optional entries (index→text mappings).
Deletes an HMI alarm (discrete or analog) by name.
Deletes one or more HMI connections.
Deletes one or more HMI screens.
Deletes an HMI tag from a tag table.
Deletes an HMI tag table by name.
Deletes multiple HMI tags from a tag table in a single operation.
Deletes one or more screen elements.
Lists HMI alarm classes (errors, warnings, etc.).
Lists HMI analog alarms.
Lists all HMI/PLC connections.
Lists all HMI cycles and their update times.
Lists HMI discrete alarms.
Lists HMI library items (Faceplates, Styles) with their versions.
Lists HMI Data Logs, Alarm Logs and Audit Trails (Unified).
Gets the WinCC Unified Plant View tree.
Gets HMI runtime settings like languages and OPC UA config (Unified).
Returns screen items and geometry.
Gets the global elements for a given HMI device.
Gets the screen overview for a given HMI device.
Gets the full tree of Screens, Popups, and Templates.
Reads the source code of an HMI script.
Gets the tree of HMI scripts (VBScript for Comfort/Advanced, JavaScript for Unified).
Gets the full folder tree and tag tables.
Reads ALL properties, dynamic bindings, and events of a screen item.
Lists library types like Faceplates or Styles.
Lists all multilingual graphics in the HMI.
Lists HMI tag tables on a device.
Lists all HMI tags in a specific tag table with their data types and addresses.
Lists all Text and Graphic lists.
Modifies the source code of an existing HMI script (exports XML, updates SourceCode, reimports).
Removes animations/dynamizations from a screen item.
Reviews or applies the TIA Portal HMI Device Wizard on an existing HMI.
Sets an appearance animation on a screen item - changes colors or visibility based on tag value ranges.
Creates an event handler on a screen item or on the screen itself.
Creates a flashing dynamization on a screen item property.
Sets a movement animation on a screen item. movementType: 'horizontal' (X only), 'vertical' (Y only), 'diagonal' (X+Y linked), 'direct' (X and Y controlled by separate tags).
Creates a script-based dynamization (JavaScript) on a screen or screen item property (WinCC Unified).
Binds an HMI tag to a screen item property.
Sets a visibility animation on a screen item based on tag value range.
Online & Download
(15)Clears the online authentication password for a device.
Compares online and offline programs for a device to detect differences.
Starts an asynchronous download job and returns a jobId.
Aggregates the Siemens Openness information T-IA Connect can read for TIA Portal Online & diagnostics: connection, RUN/STOP, module/station metadata, PROFINET/IP, diagnostic status, cycle, memory, LEDs, services, and explicit notAvailable reasons for diagnostic buffer or certificate/trust data when Siemens does not expose them.
Gets the current connection state, operating state, and discovered online CPU diagnostics.
Gets the online authentication password status for a device (whether a password is stored).
Gets the current online connection state (connected/disconnected) of a PLC device.
Looks up the embedded T-IA Connect online/download compatibility matrix before go_online or download_to_plc.
Disconnects from a PLC device.
Starts an asynchronous online connection job and returns a jobId.
Scans Siemens Online access interfaces through Openness GetAccessibleDevices without going online or downloading.
Stores a complete login for the current project/device.
Starts the CPU through TIA Openness (sets to RUN mode).
Stops the CPU (sets to STOP mode).
Starts an asynchronous upload job from the physical PLC device to the TIA Portal project and returns a jobId.
PLCSim Simulation
(43)Read multiple PLC tags at once.
Set values on multiple simulation widgets in a single call.
Write multiple PLC tags at once.
Connect to a PLCSim Advanced instance for tag read/write operations.
Create (register) a new PLCSim Advanced instance with the specified name.
Delete (unregister) one or more PLCSim Advanced instances and delete the default Siemens persistence folder by default.
Explicitly delete the default Siemens PLCSIM Runtime\Persistence folder for one instance.
Delete a simulation profile from disk by file name.
Disconnect from the currently connected PLCSim Advanced instance.
Get the simulation configuration of an instance (scale factor, strict motion timing, CPU type).
Get PLCSIM Advanced diagnostics for an instance, including LED states when the runtime exposes them.
Get the current operating state of a specific PLCSim Advanced instance (Off, Booting, Stop, Run, Freeze, ShuttingDown).
List PC network interfaces visible to PLCSIM Advanced Runtime Manager for TCP/IP binding/mapping.
Get the current IP configuration (IP, subnet, gateway) of a PLCSim Advanced instance interface.
Get diagnostics for one default Siemens PLCSIM Runtime\Persistence folder.
Get the current Runtime Manager configuration (network mode, port, strict motion timing).
Get the current state of the simulation engine: running status, active profile, widget states, and supported widget types.
List all registered PLCSim Advanced instances with their names, IDs and states.
List default Siemens PLCSIM Runtime\Persistence folders with size, timestamps, registered-state and safe-delete diagnostics.
List saved simulation profiles.
List available PLC tags from the connected instance.
Load a simulation profile from disk by file name.
Perform a memory reset on one or more PLCSim Advanced instances.
Power off one or more PLCSim Advanced instances.
Power on one or more registered PLCSim Advanced instances (transitions from Off to Stop state).
Read the current value of a PLC tag from the connected PLCSim Advanced instance.
Force a refresh of the tag list from the connected PLCSim Advanced instance.
Run the deterministic PLCSIM repair sequence after MRES or invalid network state: read diagnostics, power on if needed, apply target network with readback, optionally switch to RUN, and return final ProductLed/LED diagnostics.
Switch one or more registered PLCSim Advanced instances to RUN mode after a program has been downloaded.
Save a simulation profile to disk as JSON.
Update the simulation configuration of an instance.
Apply PLCSIM Advanced virtual switch bindings.
Configure the IP address, subnet mask and default gateway of a PLCSim Advanced instance interface.
Update the Runtime Manager configuration.
Change the Runtime Manager communication port.
Set the value of a simulation widget (e.g. click a button, move a slider).
Start the PLCSim Advanced Runtime Manager.
Start the simulation engine with a given profile (JSON).
Preflight diagnostic for PLCSim Advanced.
Switch one or more PLCSim Advanced instances to STOP mode.
Stop the running simulation engine.
Update an existing simulation profile.
Write a value to a PLC tag on the connected PLCSim Advanced instance.
PLC Tests
(5)Save a PLC test case.
Delete a saved PLC test case by name.
Get the results from the last test suite run.
List all saved PLC test cases.
Run PLC test(s) against a PLCSim Advanced instance.
FAT / SAT
(3)Generates a Factory Acceptance Test (FAT) report.
Generates a Site Acceptance Test (SAT) report.
Generates a support reproduction evidence report from the last selected PLC test run.
Libraries
(21)Archives an open global library to a compressed file asynchronously and returns a jobId.
Closes an open global library.
Compares two versions of a library type to find differences.
Creates a new object from a library type version.
Creates a new object (block, UDT) from a master copy.
Creates a new global library asynchronously and returns a jobId.
Creates a new version of a library type from a source object (block or UDT).
Creates a master copy from an existing block, UDT, or tag table.
Creates a folder in the Master Copies section of a library.
Deletes a library type.
Deletes a master copy from a library.
Gets cross-references for a PLC block or tag.
Gets the hierarchical tree structure of an open global library.
Gets the library types (versioned types) from a library.
Gets the master copies from a library.
Gets information about the project library.
Gets the hierarchical tree structure of the project library including Master Copies and Types.
Lists all available global libraries registered in TIA Portal.
Opens a global library file (.al19, .al18, etc.).
Saves changes to an open global library.
Sets the default version for a library type.
Motion & Drives
(12)Creates a new Technological Object on a device.
Deletes a Technological Object (axis, PID, cam, etc.) from a device.
Gets a specific parameter value from a Drive object.
Lists all parameters of a specific Drive object.
Lists telegrams configured on a Drive object (main, safety, auxiliary).
Lists all Drive objects for a device (simple name list).
Lists all Drive objects with details (name, category, parameter count, telegram count).
Gets detailed info about a specific Technological Object including all its parameters (axis config, PID tuning, etc.).
Lists all Technological Objects (TO) like Axes, Cams, PIDs, etc. for a device.
Gets a specific parameter value from a Technological Object.
Sets a parameter value on a Drive object.
Sets a parameter value on a Technological Object.
Safety
(8)Creates a new F-runtime group.
Deletes an F-runtime group by name.
Lists safety runtime groups for an F-CPU.
Gets safety settings (block number ranges, modification state).
Gets safety signatures for an F-CPU.
Gets a full safety summary for an F-CPU: runtime groups, signatures, and settings.
Logs in to the safety offline program (required before making safety changes).
Logs off from the safety offline program.
Security & Users
(27)Applies explicit CPU configuration deltas after all-request preflight and exact diagnosis binding.
Assigns one or more roles to UMAC project users.
Clears the stored default CPU master secret password.
Configures required CPU security settings for compilation/download.
Creates a new UMAC custom role.
Creates a new UMAC project user with specified roles.
Deletes a UMAC custom role.
Deletes a UMAC project user.
Deletes a local encrypted secret by id or label.
Reads existing CPU configuration and requested differences without resolving secrets or writing.
Reports whether a default CPU master secret password is configured.
Lists all UMAC roles (system + custom) available in the project.
Lists all UMAC project users with their assigned roles.
Gets the current access protection level of a PLC CPU.
Gets metadata for one local secret by id or label.
Gets a summary of security settings for a device, including protection levels and UMAC users.
Gets health and status information about the TIA Portal API server and connected instances.
Lists local secret metadata.
Manages the Master Secret (global project protection) for a device.
Removes one or more roles from UMAC project users.
Resets (removes) an access password for a specific protection level on the CPU.
Reviews or applies the TIA Portal PLC security wizard on an existing CPU.
Stores a default CPU master secret password securely.
Sets the display password (Anzeige-Passwort) for CPU protection display.
Sets an access password for a specific protection level on the CPU.
Sets the current access protection level of a PLC CPU without changing passwords.
Stores a local encrypted secret with metadata.
History & Snapshots
(4)Creates a manual snapshot of a block or tag table.
Gets statistics for snapshots authorized to the current project.
Lists all available snapshots for a specific item (block or tag table).
Restores a block or tag table to a previous state from a snapshot ID.
Source Control
(19)Switches to an existing branch.
Creates a new branch from the current HEAD.
Deletes a branch.
Lists all branches (local and remote) with their last commit info.
Exports all project items (blocks, tags, UDTs, watch tables, hardware) and creates a Git commit.
Gets or sets the Git configuration.
Shows differences between two commits (or between a commit and HEAD).
Imports all blocks, tag tables and UDTs from the VCS source/ working directory back into TIA Portal, restoring the folder structure from the directory layout.
Initializes a Git repository for the current TIA Portal project.
Shows the commit history with SHA, message, author, and timestamp.
Merges a branch into the current branch.
Pulls (fetch + merge) from a remote repository.
Pushes commits to a remote repository.
Adds a remote repository (e.g., GitHub, Gitea, GitLab).
Lists all configured remote repositories.
Removes a remote repository by name.
Restores a block, UDT, or tag table from a previous commit by re-importing its XML into TIA Portal.
Exports the full project (blocks, tags, UDTs, watch tables, hardware) to the source control working directory WITHOUT committing.
Shows modified files since the last commit.
Version Control Interface
(7)Creates a new VCI workspace.
Creates a VCI workspace user group.
Deletes a VCI workspace by name.
Lists VCI workspace groups (folder structure).
Gets mappings (project object ↔ workspace path) for a workspace.
Lists all VCI workspaces in the project.
Synchronizes a workspace (all mappings).
Workplans
(14)Adds an artifact to a WorkplanPhase.
Adds an execution log to a Workplan, optionally linked to a WorkplanPhase.
Adds a WorkplanPhase to a Workplan.
Archives a Workplan through the accepted Workplan transition rules.
Creates a new Workplan.
Gets compact agent context for the active WorkplanPhase without raw CDC or full Workplan payload.
Gets a Workplan by id.
Gets Workplan progress with compact nextReadyPhase projection.
Lists Workplans, optionally filtered by projectKey.
Marks a ready or in-progress WorkplanPhase as Implemented after the service proof gate passes, without verifying it.
Sets the active WorkplanPhase when its dependencies are ready.
Updates a full Workplan aggregate.
Updates an existing WorkplanPhase.
Updates WorkplanPhase verification.
Pipelines
(9)Delete a saved pipeline by name.
Load a pipeline definition by name.
Get a pipeline template by ID.
Get pipeline execution history.
Create a new pipeline from a template.
List all saved CI/CD pipelines for TIA Portal automation.
List all available pipeline templates (pre-configured CI/CD pipelines).
Execute a pipeline (saved or inline).
Create or update a pipeline definition.
Patterns
(5)Gets the full definition of a pattern: blocks with interface, tags, code, folders, and parameters.
Returns a guide about the pattern library: naming conventions, workflow, available categories, and how to customize patterns with parameters.
Creates all blocks, tags, folders, and instance DBs defined by a pattern in the target device.
Lists available industrial patterns (motor, cylinder, sensor, safety...) from the built-in pattern library.
Searches industrial patterns by keyword.
Reports
(2)Generates a complete project deliverable ZIP containing the PDF report, Excel data files, and the TIA Portal project archive (.zap).
Generates a PDF project report with optional Excel data files.
AI Assistant
(7)Send a message to the in-app AI Copilot.
Clear the copilot chat history.
Export the server-side Copilot chat history as Markdown or JSON.
Read Copilot history. source=desktop returns the full thread currently shown in the T-IA Connect window (user messages, assistant replies and tool activity, oldest first), with or without an open project. source=conversation reads one conversation created by copilot_chat. source=persistent reads saved project history.
Check the copilot's status and retrieve its last response.
Returns the current copilot configuration and instance context: provider, model, code model, custom endpoint, enabled state, storage mode, machine name, process ID, and settings source.
Stop the copilot's current operation.
LLM Tips
(11)Build an anonymized BugTrace ticket draft from a local LLM tip.
Get a local dashboard summary for LLM tips: categories, tools, usefulness, consultations, duplicates, lifecycle.
Retrieve local usage statistics for the LLM tips knowledge base.
Retrieve tips from the communal LLM knowledge base.
Preview the sanitized/anonymized payload that would be sent for a local LLM tip.
Record whether a local tip was useful, partially useful, not useful, obsolete, or dangerous/inaccurate.
Submit a troubleshooting tip or lesson learned to the communal LLM knowledge base.
Submit one existing LLM tip as anonymized product feedback for improving T-IA Connect.
Suggest local LLM tips that may match an error message and MCP tool context.
Update the lifecycle status of a local LLM tip.
Upvote a tip that you found helpful or that you can confirm is accurate.
Knowledge
(3)Retrieves the full technical documentation for a specific help topic found by search_tia_help.
Searches the official Siemens TIA Cloud documentation (docs.tia.siemens.cloud).
Searches the official TIA Portal local help documentation (F1).
Documentation
(3)Gets the content of a specific T-IA Connect documentation section.
Lists all available T-IA Connect documentation sections.
Searches T-IA Connect documentation for a keyword or phrase.
Custom Documentation
(5)Gets the full text of a specific chunk from a custom document.
Gets the full extracted text of a custom document.
Gets statistics about the custom knowledge base (document count, chunk count, errors, directory path).
Lists all documents indexed in the user's custom knowledge base.
Searches the user's custom knowledge base (PDF, Markdown, TXT, HTML documents) for relevant information.
Discovery
(5)Checks the server-side MCP catalog for critical T-IA Connect tools and returns a clear status for detecting partial client-side tool discovery after reconnect.
Returns the full description and input schema for one MCP tool by name.
Returns a dynamic reference of the MCP tool catalog, grouped by module/category.
Returns a compact guide for choosing MCP tools and documentation for common T-IA Connect workflows.
Searches the available T-IA Connect MCP tools and returns compact matches with module/category hints.
CODESYS
(20)Adds a device to the CODESYS project.
Builds (compiles) the application for a device.
Closes the currently open CODESYS project.
Creates a LAD (Ladder Diagram) POU in a CODESYS device application.
Creates a POU (FB, FC, or Program) in a device application.
Creates a new CODESYS project at the specified path.
Exports a POU to PLCopenXML.
Lists POUs (program blocks) for a device.
Lists all devices in the current CODESYS project.
Gets the declaration code of a GVL (Global Variable List).
Gets the declaration and implementation code of a POU.
Gets info about the currently open CODESYS project (name, path, dirty state).
Returns a complete overview of all POUs, GVLs, types, and languages in the device application.
Gets the CODESYS version and executable path.
Lists all devices available in the CODESYS device repository (catalog).
Lists all GVLs (Global Variable Lists) in the device application.
Opens an existing CODESYS project.
Saves the currently open CODESYS project.
Sets the declaration and/or implementation code of a POU.
Updates the LAD body (and optionally declaration) of an existing CODESYS POU by re-importing PLCopenXML with ConflictResolve.Replace.
Server & System
(10)Lists installed TIA Portal versions and distinguishes the configured preference, authoritative selection, loaded runtime, selection reason, and exact loaded Openness assembly.
Returns all T-IA Connect features with their license status (enabled/disabled) and description.
Returns the effective local MCP approval registry for the current authenticated session.
Returns the current health status, version, and environment of the T-IA Connect server.
Returns matching tail lines from a bounded live-file scan (at most 1 MiB).
Returns recent T-IA Connect operation history captured by this server for compile, download, go_online, PLCSIM and job operations.
Lists all available log files in the T-IA Connect logs directory with their sizes and last modified dates.
Lists all running T-IA Connect project instances.
Opens or focuses the local MCP Approval Center.
Runs a comprehensive self-test of the T-IA Connect server.
Bridge (broker)
(7)Broker: clears the explicit target selection so the bridge can return to automatic local discovery.
Broker: compiles devices across all running T-IA Connect project instances and returns a compact result grouped by instance, project, and device.
Broker: returns the MCP bridge target currently selected for subsequent project/tool calls.
Broker: lists compact compile targets across all running T-IA Connect project instances without switching the MCP target.
Broker: lists running T-IA Connect instances visible to the local MCP bridge, with the currently selected target if any.
Broker: selects the T-IA Connect instance that the local MCP bridge must route subsequent project/tool calls to.
Broker: starts a new empty T-IA Connect project instance on the next available local API port.
Generated from the API contract of T-IA Connect 2.5.354.
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.
Step-by-step guide
ChatGPT + TIA Portal — Connect GPT-4o via MCP
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 492 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.
Connect AI to TIA Portal with MCP
The open, secure, on-premise bridge between any AI and your Siemens PLC projects. 492 tools, zero cloud dependencies.
Paid access, with no free trial.
Personal: €10 per 24 hours as a daily subscription, renewed automatically. €100 for the first month subject to eligibility, then €149/month.
Professional: Trial offer : €100, Then €149 per seat / month