MCP Server for Industrial Automation

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

492 tools

Project Management

(25)
archive_projectWrite

Archives the current project to a .zap* file asynchronously and returns a jobId.

archive_project_artifactWrite

Archives the current project into the bounded remote artifact store asynchronously.

attach_portalWriteLocal approval

Attaches to an already running TIA Portal instance by explicit processId.

cancel_jobWrite

Requests cooperative cancellation of a Pending or Running asynchronous T-IA Connect job.

close_projectWrite

Closes the currently open project.

create_projectWrite

Creates a new TIA Portal project asynchronously and returns a jobId.

delete_artifactDeleteLocal approval

Deletes one remote artifact from the bounded store.

detach_portalWriteLocal approval

Detaches from the current TIA Portal instance without closing it.

export_project_textsWrite

Exports all translatable project texts to an XLSX file asynchronously and returns a jobId.

get_artifactRead

Returns artifact metadata and an internal HTTP download URL.

get_job_statusRead

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.

get_project_historyRead

Retrieves the history of actions and snapshots for the current project.

get_project_languagesRead

Gets the editing and reference languages configured for the project, plus all available languages.

get_project_overviewRead

Retrieves a comprehensive overview of the entire project structure (devices, blocks, tags, and HMI screens) in a single call.

get_project_statusRead

Gets the name and path of the currently open project.

import_project_textsWrite

Imports translated texts from an XLSX file back into the project asynchronously and returns a jobId.

list_artifactsRead

Lists remote artifacts, optionally filtered by artifact jobId.

list_project_filesRead

Scans an allowed project directory for TIA Portal project files (.ap*).

open_projectWrite

Opens an existing TIA Portal project asynchronously and returns a jobId.

retrieve_projectWrite

Retrieves (unzips) a project from an archive file asynchronously and returns a jobId.

save_projectWrite

Starts an asynchronous project save job and returns a jobId.

set_project_languagesWrite

Updates project language settings.

set_simulation_supportWrite

Enables or disables simulation support for the project.

shutdown_portalWriteLocal approval

Closes/disposes the current TIA Portal instance through the clean T-IA Connect PortalManager.ShutdownPortal path.

sync_projectWrite

Forces a synchronization between the API state and TIA Portal.

Devices & Hardware

(35)
add_deviceWrite

Adds generic hardware using the existing compatibility path.

change_cpu_typeWriteLocal approval

Changes the CPU hardware type of a device (equivalent to 'Change device' in TIA Portal GUI).

clear_parking_lotDeleteLocal approval

Removes all devices from the parking lot.

compile_deviceWrite

Starts an asynchronous device compilation job and returns a jobId.

configure_analog_input_channelWrite

Configures one analog input channel to an allowlisted signal mode using writable parameter metadata exposed by TIA Portal.

configure_cpu_propertiesWriteLocal approval

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.

configure_io_start_addressWrite

Changes one module input or output byte start address after overlap validation.

configure_networkWrite

Sets network properties on one exact interface and node.

configure_profinet_identityWrite

Sets PROFINET identity assignment on the NetworkInterface node: PnDeviceName, PnDeviceNameSetDirectly, ChangeIpAtDevice/IP-address direct assignment, PnDeviceNameAutoGeneration, and optionally IpProtocolSelection.

create_prepared_cpuWriteLocal approval

Attempts exact prepared CPU creation once, without save or retry.

create_subnetWrite

Creates a new subnet in the project.

delete_deviceDeleteLocal approval

Removes one or more devices from the project.

delete_subnetDeleteLocal approval

Deletes a subnet from the project.

export_hardwareWrite

Exports hardware configuration of a device to an AML file asynchronously and returns a jobId.

get_compatible_slotsRead

Lists compatible module slots for a parent device and order number.

get_cpu_propertiesRead

Reads current CPU properties (clock memory, system memory configuration).

get_device_hardware_detailsRead

Gets detailed hardware information (modules, interfaces, addresses) for a device.

get_device_network_infoRead

Lists the exact ordered network interfaces and node indexes accepted by configure_network, including the canonical displayed target.

get_device_topologyRead

Gets physical network connections (neighbors) for a specific device.

get_parking_lot_devicesRead

Lists devices in the parking lot (unplaced devices).

get_profinet_identity_attribute_dumpRead

Dumps the Openness attributes exposed by the PROFINET NetworkInterface node used by configure_profinet_identity.

get_project_topologyRead

Gets all physical network connections between devices in the project.

get_tia_engineering_viewsRead

Returns a read-only snapshot of the TIA Portal Device view, Topology view and Network view tables, including columns for empty sections.

import_hardwareWrite

Imports AutomationML through the project-wide Siemens CAx provider and may replace existing devices.

inspect_eplan_amlRead

Parses an AutomationML .aml exchange into a bounded read-only engineering preview.

inspect_gsd_fileRead

Validates a raw PROFIBUS .gsd or PROFINET .gsdml station-description file without installing or importing it.

list_devicesRead

Lists all PLC and HMI stations with explicit stationName, cpuName and main-module identity fields.

list_io_systemsRead

Lists all IO systems across all project subnets.

list_subnetsRead

Lists all subnets defined in the current project.

plug_moduleWrite

Plugs a hardware I/O module (DI, DQ, AI, AQ, etc.) into a device at the next available slot or a specific slot.

prepare_cpu_configurationRead

Prepares explicit CPU configuration questions from the server catalogue, or reviews an existing CPU without recreation.

reconcile_eplan_amlRead

Compares a bounded AutomationML preview with one read-only TIA device hardware snapshot.

rename_deviceWrite

Renames a hardware station or device item.

search_hardware_catalogRead

Searches the Siemens hardware catalog for devices by name or order number.

start_compatible_slots_jobWrite

Starts compatible-slot discovery as a cancellable compatible-slots-job/1 job.

Communication Settings

(6)
create_access_pointWriteLocal approval

Creates a new PG/PC access point in the Windows registry.

delete_access_pointDeleteLocal approval

Deletes a PG/PC access point from the Windows registry.

get_pgpc_diagnosticRead

Runs a diagnostic on the PG/PC interface configuration.

list_access_pointsRead

Lists all PG/PC access points configured in Siemens online access settings (legacy SINEC registry and modern Simatic OAM XML).

list_parameter_setsRead

Lists available PG/PC parameter sets from Siemens XML configuration files.

set_access_point_mappingWriteLocal approval

Changes the parameter set (communication interface) assigned to an access point.

CPU Services

(7)
create_opcua_userWriteLocal approval

Creates a new OPC UA user on the CPU.

create_webserver_userWriteLocal approval

Creates a new web server user on the CPU.

delete_opcua_userDeleteLocal approval

Deletes an OPC UA user from the CPU.

delete_webserver_userDeleteLocal approval

Deletes a web server user from the CPU.

get_opcua_configRead

Gets the CPU's OPC UA server configuration: enabled state, port, users, and server interfaces.

get_webserver_configRead

Gets the CPU's built-in web server configuration: enabled state, users, and user-defined pages.

inspect_cpu_device_servicesRead

Inspects Siemens Openness services exposed by the CPU DeviceItem.

PLC Software & Blocks

(31)
add_interface_memberWrite

Adds a new member (variable) to a block's interface.

compile_blockWrite

Compiles a single block (software only, not full device compile).

create_block_folderWrite

Creates a new folder in the block structure of a PLC device.

create_block_snapshotWrite

Creates a snapshot of a block's current state (for undo).

create_external_source_folderWrite

Creates a folder in the external source structure of a PLC device.

create_scl_blockWrite

[DEPRECATED - use create_program_block with language:'SCL' instead] Creates a new SCL block (FB/FC) with SIMPLE logic only (assignments, basic expressions).

delete_blockDeleteLocal approval

Deletes one or more program blocks.

delete_block_folderDeleteLocal approval

Deletes a folder from the block structure of a PLC device.

delete_external_sourceDeleteLocal approval

Deletes an external source from a PLC device.

delete_external_source_folderDeleteLocal approval

Deletes a folder from the external source structure of a PLC device.

export_blockWrite

Exports a block to a SimaticML XML file.

export_block_sourceWrite

Exports a block as SCL/STL source document.

export_prodiag_infoWrite

Exports ProDiag supervision information for a block.

get_block_detailsRead

Gets the block interface and decoded code.

get_block_protection_statusRead

Gets the know-how protection status of a block (protected, protectable).

get_block_treeRead

Gets program block structure.

import_scl_sourceWrite

[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.

import_scl_source_from_fileWrite

Imports SCL source code from a local file path, generates the corresponding PLC blocks, and cleans up the temporary source.

list_blocksRead

Lists all program blocks (OB, FB, FC, DB) for a specific device.

list_external_sourcesRead

Lists all external sources on a PLC device.

load_block_snapshotDeleteLocal approval

Restores a block to its last snapshot state.

load_block_start_valuesWrite

Loads start values into actual values of a data block.

move_blockWrite

Moves one or more blocks to a different folder.

protect_blockWriteLocal approval

Applies know-how protection to a compiled block.

protect_blocksWriteLocal approval

Applies know-how protection to multiple blocks (best-effort).

remove_interface_memberDeleteLocal approval

Removes a member from a block's interface.

rename_blockWrite

Renames a program block.

set_block_namespaceWrite

Sets the Namespace attribute on an existing block.

unprotect_blockWriteLocal approval

Removes know-how protection from one or more blocks.

update_block_contentWrite

Rewrites only the SCL body of an existing SCL block while preserving its confirmed current interface.

update_interface_memberWrite

Updates an existing member in a block's interface.

Block Generation

(4)
create_program_blockWrite

UNIFIED tool for creating ANY PLC block.

generate_and_import_blockWrite

[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.

generate_graphWrite

[DEPRECATED - use create_program_block with language:'GRAPH' instead] Generates a GRAPH (SFC/Sequential Function Chart) Function Block and imports it into the project.

get_block_generation_guideRead

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)
add_software_unit_relationWrite

Adds a dependency relation to a software unit.

create_software_unitWrite

Creates a new standard software unit.

delete_software_unitDeleteLocal approval

Deletes a standard software unit by name.

get_software_unit_relationsRead

Gets dependency relations for a software unit.

get_software_unitsRead

Lists all software units (standard + safety) for a device.

publish_blockWrite

Sets a block or PLC type as Published or Unpublished within a software unit.

set_software_unit_namespaceWrite

Sets the namespace preset on a software unit.

Tags & Constants

(25)
create_constantWrite

Creates a new user constant in a tag table.

create_tagWrite

Creates a single PLC tag.

create_tag_tableWrite

Creates a tag table below an exact parent, or in the legacy Main root.

create_tag_table_folderWrite

Creates a folder in the tag table structure of a PLC device.

create_tagsWrite

Creates multiple PLC tags in a single call (additive, does NOT overwrite existing tags).

delete_constantDeleteLocal approval

Deletes a user constant from a tag table.

delete_tagDeleteLocal approval

Deletes one or more PLC tags.

delete_tag_tableDeleteLocal approval

Deletes a PLC tag table.

delete_tag_table_folderDeleteLocal approval

Deletes a folder from the tag table structure of a PLC device.

export_tag_table_to_csvWrite

Exports the table selected by tableIdentifier, or a legacy Main-root table, to CSV.

export_tag_table_to_excelWrite

Exports the table selected by tableIdentifier, or a legacy Main-root table, to XLSX.

export_tag_table_to_xmlWrite

Exports the table selected by tableIdentifier, or a legacy Main-root table, to SimaticML XML.

get_all_tagsRead

Gets all tags across all tag tables for a device.

get_tag_table_treeRead

Gets the hierarchical tree of tag tables including folders.

get_tag_tablesRead

Alias for list_tag_tables.

import_tagsWrite

Imports multiple PLC tags into a specific tag table.

import_tags_from_csvWrite

Imports tags from a CSV file into a tag table.

import_tags_from_xlsxWrite

Imports tags from an Excel (.xlsx) file into a tag table.

list_constantsRead

Lists constants from the table selected by tableIdentifier, or from a legacy Main-root table.

list_tag_tablesRead

Lists all PLC tag tables for a specific device.

list_tagsRead

Lists tags from a canonical tableIdentifier, or from a legacy root tableName.

rename_tagWrite

Renames an existing PLC tag without changing its data type, address, comment or HMI flags.

rename_tag_tableWrite

Renames a PLC tag table.

update_constantWrite

Updates an existing user constant.

update_tagWrite

Updates properties of an existing PLC tag.

Data Types (UDT)

(10)
create_udtWrite

Creates a new User-Defined Type (UDT) with specified members.

create_udt_folderWrite

Creates a folder in the UDT structure.

delete_udtDeleteLocal approval

Deletes one or more User-Defined Types (UDTs).

delete_udt_folderDeleteLocal approval

Deletes a folder from the UDT structure.

export_udtWrite

Exports a UDT to an XML file.

get_udtRead

Gets detailed information about a specific UDT, including its members read through a provider export.

get_udt_treeRead

Gets the hierarchical tree structure of UDTs including folders, metadata only.

import_udtWrite

Imports a UDT from an XML file.

list_udtsRead

Lists all User-Defined Types (UDT) for a specific PLC device, metadata only.

update_udtDeleteLocal approval

Updates an existing UDT (rename and/or replace members).

Watch & Force

(12)
add_watch_table_entriesWrite

Adds entries (variables to monitor) to an existing watch table.

clear_watch_table_entriesDeleteLocal approval

Removes ALL entries from a watch table (keeps the table itself).

create_watch_force_table_folderWrite

Creates a folder in the watch/force table structure of a PLC device.

create_watch_tableWrite

Creates a new watch table in a PLC device.

delete_watch_force_table_folderDeleteLocal approval

Deletes a folder from the watch/force table structure of a PLC device.

export_watch_tableWrite

Exports a watch table to an XML file.

get_force_tableRead

Gets entries of a specific force table.

get_watch_tableRead

Gets detailed information and entries of a specific watch table.

import_tableWrite

Imports a watch or force table from an XML file.

list_force_tablesRead

Lists all force tables for a specific PLC device.

list_watch_tablesRead

Lists all watch tables for a specific PLC device.

remove_watch_table_entriesDeleteLocal approval

Removes specific entries from a watch table by their address.

PLC Alarms

(11)
create_plc_alarm_textlistWrite

Creates a user-defined PLC alarm text list from a library master copy.

delete_plc_alarm_textlistDeleteLocal approval

Deletes a user-defined PLC alarm text list.

export_plc_alarm_instance_texts_xlsxWrite

Exports PLC alarm instance texts (multilingual alarm messages) to an XLSX file.

export_plc_alarm_text_lists_xlsxWrite

Exports PLC alarm text lists to an XLSX file.

export_supervision_settingsWrite

Exports ProDiag supervision settings to an XML file via SupervisionSettingsProvider.

export_supervisions_xlsxWrite

Exports ProDiag supervisions to an XLSX file.

get_plc_alarm_text_listsRead

Lists all PLC alarm text lists (user + system) for a device.

import_plc_alarm_text_lists_xlsxWrite

Imports PLC alarm text lists from an XLSX file (overwrites existing).

import_supervision_settingsWrite

Imports ProDiag supervision settings from an XML file via SupervisionSettingsProvider.

import_supervision_settings_xlsxWrite

Imports ProDiag supervision settings from an XLSX file (overwrites existing).

import_supervisions_xlsxWrite

Imports ProDiag supervisions from an XLSX file (overwrites existing).

HMI

(54)
add_screen_itemWrite

Adds a graphical element to an HMI screen.

add_screen_itemsWrite

Batch-adds multiple graphical elements in a single operation (single XML round-trip, much faster).

configure_hmi_runtimeWrite

Configures HMI runtime settings.

configure_hmi_screenWrite

Modifies properties of an HMI screen (e.g.

configure_screen_itemWrite

Modifies properties of an existing screen element.

create_graphic_listWrite

Creates a new HMI graphic list.

create_hmi_alarmWrite

Creates an HMI alarm (discrete or analog) on a WinCC Unified device.

create_hmi_connectionWrite

Creates a new HMI connection to a PLC device.

create_hmi_cycleWrite

Creates a new HMI update cycle.

create_hmi_screenWrite

Creates a new HMI screen, screen template, or popup.

create_hmi_scriptWrite

Creates a new HMI script.

create_hmi_tagWrite

Creates a new HMI tag in a tag table.

create_hmi_tag_tableWrite

Creates a new HMI tag table on a device.

create_hmi_tagsWrite

Creates multiple HMI tags in a single batch import.

create_text_listWrite

Creates a new HMI text list with optional entries (index→text mappings).

delete_hmi_alarmDeleteLocal approval

Deletes an HMI alarm (discrete or analog) by name.

delete_hmi_connectionDeleteLocal approval

Deletes one or more HMI connections.

delete_hmi_screenDeleteLocal approval

Deletes one or more HMI screens.

delete_hmi_tagDeleteLocal approval

Deletes an HMI tag from a tag table.

delete_hmi_tag_tableDeleteLocal approval

Deletes an HMI tag table by name.

delete_hmi_tagsDeleteLocal approval

Deletes multiple HMI tags from a tag table in a single operation.

delete_screen_itemDeleteLocal approval

Deletes one or more screen elements.

get_hmi_alarm_classesRead

Lists HMI alarm classes (errors, warnings, etc.).

get_hmi_analog_alarmsRead

Lists HMI analog alarms.

get_hmi_connectionsRead

Lists all HMI/PLC connections.

get_hmi_cyclesRead

Lists all HMI cycles and their update times.

get_hmi_discrete_alarmsRead

Lists HMI discrete alarms.

get_hmi_library_itemsRead

Lists HMI library items (Faceplates, Styles) with their versions.

get_hmi_logsRead

Lists HMI Data Logs, Alarm Logs and Audit Trails (Unified).

get_hmi_plant_viewsRead

Gets the WinCC Unified Plant View tree.

get_hmi_runtime_settingsRead

Gets HMI runtime settings like languages and OPC UA config (Unified).

get_hmi_screen_detailsRead

Returns screen items and geometry.

get_hmi_screen_global_elementsRead

Gets the global elements for a given HMI device.

get_hmi_screen_overviewRead

Gets the screen overview for a given HMI device.

get_hmi_screens_treeRead

Gets the full tree of Screens, Popups, and Templates.

get_hmi_script_contentRead

Reads the source code of an HMI script.

get_hmi_scripts_treeRead

Gets the tree of HMI scripts (VBScript for Comfort/Advanced, JavaScript for Unified).

get_hmi_tags_treeRead

Gets the full folder tree and tag tables.

get_screen_item_propertiesRead

Reads ALL properties, dynamic bindings, and events of a screen item.

list_hmi_library_typesRead

Lists library types like Faceplates or Styles.

list_hmi_project_graphicsRead

Lists all multilingual graphics in the HMI.

list_hmi_tag_tablesRead

Lists HMI tag tables on a device.

list_hmi_tagsRead

Lists all HMI tags in a specific tag table with their data types and addresses.

list_hmi_text_graphic_listsRead

Lists all Text and Graphic lists.

modify_hmi_scriptWrite

Modifies the source code of an existing HMI script (exports XML, updates SourceCode, reimports).

remove_animationDeleteLocal approval

Removes animations/dynamizations from a screen item.

run_hmi_device_wizardWrite

Reviews or applies the TIA Portal HMI Device Wizard on an existing HMI.

set_appearance_animationWrite

Sets an appearance animation on a screen item - changes colors or visibility based on tag value ranges.

set_event_handlerWrite

Creates an event handler on a screen item or on the screen itself.

set_flashingWrite

Creates a flashing dynamization on a screen item property.

set_movement_animationWrite

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).

set_script_dynamizationWrite

Creates a script-based dynamization (JavaScript) on a screen or screen item property (WinCC Unified).

set_tag_bindingWrite

Binds an HMI tag to a screen item property.

set_visibility_animationWrite

Sets a visibility animation on a screen item based on tag value range.

Online & Download

(15)
clear_online_auth_passwordDeleteLocal approval

Clears the online authentication password for a device.

compare_online_offlineRead

Compares online and offline programs for a device to detect differences.

download_to_plcWriteLocal approval

Starts an asynchronous download job and returns a jobId.

get_cpu_online_diagnosticsRead

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.

get_cpu_stateRead

Gets the current connection state, operating state, and discovered online CPU diagnostics.

get_online_auth_statusRead

Gets the online authentication password status for a device (whether a password is stored).

get_online_stateRead

Gets the current online connection state (connected/disconnected) of a PLC device.

get_online_workflow_guideRead

Looks up the embedded T-IA Connect online/download compatibility matrix before go_online or download_to_plc.

go_offlineWrite

Disconnects from a PLC device.

go_onlineWriteLocal approval

Starts an asynchronous online connection job and returns a jobId.

scan_online_accessRead

Scans Siemens Online access interfaces through Openness GetAccessibleDevices without going online or downloading.

set_online_auth_passwordWriteLocal approval

Stores a complete login for the current project/device.

start_cpuWriteLocal approval

Starts the CPU through TIA Openness (sets to RUN mode).

stop_cpuWriteLocal approval

Stops the CPU (sets to STOP mode).

upload_from_plcWrite

Starts an asynchronous upload job from the physical PLC device to the TIA Portal project and returns a jobId.

PLCSim Simulation

(43)
plcsim_batch_readRead

Read multiple PLC tags at once.

plcsim_batch_set_widgetsWriteLocal approval

Set values on multiple simulation widgets in a single call.

plcsim_batch_writeWriteLocal approval

Write multiple PLC tags at once.

plcsim_connectWriteLocal approval

Connect to a PLCSim Advanced instance for tag read/write operations.

plcsim_create_instanceWriteLocal approval

Create (register) a new PLCSim Advanced instance with the specified name.

plcsim_delete_instanceDeleteLocal approval

Delete (unregister) one or more PLCSim Advanced instances and delete the default Siemens persistence folder by default.

plcsim_delete_persistenceDeleteLocal approval

Explicitly delete the default Siemens PLCSIM Runtime\Persistence folder for one instance.

plcsim_delete_profileDeleteLocal approval

Delete a simulation profile from disk by file name.

plcsim_disconnectWriteLocal approval

Disconnect from the currently connected PLCSim Advanced instance.

plcsim_get_instance_configRead

Get the simulation configuration of an instance (scale factor, strict motion timing, CPU type).

plcsim_get_instance_diagnosticsRead

Get PLCSIM Advanced diagnostics for an instance, including LED states when the runtime exposes them.

plcsim_get_instance_stateRead

Get the current operating state of a specific PLCSim Advanced instance (Off, Booting, Stop, Run, Freeze, ShuttingDown).

plcsim_get_net_interfacesRead

List PC network interfaces visible to PLCSIM Advanced Runtime Manager for TCP/IP binding/mapping.

plcsim_get_networkRead

Get the current IP configuration (IP, subnet, gateway) of a PLCSim Advanced instance interface.

plcsim_get_persistenceRead

Get diagnostics for one default Siemens PLCSIM Runtime\Persistence folder.

plcsim_get_runtime_configRead

Get the current Runtime Manager configuration (network mode, port, strict motion timing).

plcsim_get_simulation_stateRead

Get the current state of the simulation engine: running status, active profile, widget states, and supported widget types.

plcsim_list_instancesWriteLocal approval

List all registered PLCSim Advanced instances with their names, IDs and states.

plcsim_list_persistenceWriteLocal approval

List default Siemens PLCSIM Runtime\Persistence folders with size, timestamps, registered-state and safe-delete diagnostics.

plcsim_list_profilesWriteLocal approval

List saved simulation profiles.

plcsim_list_tagsWriteLocal approval

List available PLC tags from the connected instance.

plcsim_load_profileWriteLocal approval

Load a simulation profile from disk by file name.

plcsim_memory_resetDeleteLocal approval

Perform a memory reset on one or more PLCSim Advanced instances.

plcsim_power_offWriteLocal approval

Power off one or more PLCSim Advanced instances.

plcsim_power_onWriteLocal approval

Power on one or more registered PLCSim Advanced instances (transitions from Off to Stop state).

plcsim_read_tagRead

Read the current value of a PLC tag from the connected PLCSim Advanced instance.

plcsim_refresh_tagsWriteLocal approval

Force a refresh of the tag list from the connected PLCSim Advanced instance.

plcsim_repair_instanceWriteLocal approval

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.

plcsim_runWriteLocal approval

Switch one or more registered PLCSim Advanced instances to RUN mode after a program has been downloaded.

plcsim_save_profileWriteLocal approval

Save a simulation profile to disk as JSON.

plcsim_set_instance_configWriteLocal approval

Update the simulation configuration of an instance.

plcsim_set_net_interface_bindingsWriteLocal approval

Apply PLCSIM Advanced virtual switch bindings.

plcsim_set_networkWriteLocal approval

Configure the IP address, subnet mask and default gateway of a PLCSim Advanced instance interface.

plcsim_set_runtime_configWriteLocal approval

Update the Runtime Manager configuration.

plcsim_set_runtime_portWriteLocal approval

Change the Runtime Manager communication port.

plcsim_set_widget_valueWriteLocal approval

Set the value of a simulation widget (e.g. click a button, move a slider).

plcsim_start_runtimeWriteLocal approval

Start the PLCSim Advanced Runtime Manager.

plcsim_start_simulationWriteLocal approval

Start the simulation engine with a given profile (JSON).

plcsim_statusRead

Preflight diagnostic for PLCSim Advanced.

plcsim_stopWriteLocal approval

Switch one or more PLCSim Advanced instances to STOP mode.

plcsim_stop_simulationWriteLocal approval

Stop the running simulation engine.

plcsim_update_profileWriteLocal approval

Update an existing simulation profile.

plcsim_write_tagWriteLocal approval

Write a value to a PLC tag on the connected PLCSim Advanced instance.

PLC Tests

(5)
plc_test_createWriteLocal approval

Save a PLC test case.

plc_test_deleteDeleteLocal approval

Delete a saved PLC test case by name.

plc_test_get_resultsRead

Get the results from the last test suite run.

plc_test_listRead

List all saved PLC test cases.

plc_test_runWriteLocal approval

Run PLC test(s) against a PLCSim Advanced instance.

FAT / SAT

(3)
fat_generate_reportWrite

Generates a Factory Acceptance Test (FAT) report.

sat_generate_reportWrite

Generates a Site Acceptance Test (SAT) report.

support_generate_evidence_reportWrite

Generates a support reproduction evidence report from the last selected PLC test run.

Libraries

(21)
archive_global_libraryWrite

Archives an open global library to a compressed file asynchronously and returns a jobId.

close_global_libraryWrite

Closes an open global library.

compare_library_type_versionsRead

Compares two versions of a library type to find differences.

create_from_library_typeWrite

Creates a new object from a library type version.

create_from_master_copyWrite

Creates a new object (block, UDT) from a master copy.

create_global_libraryWrite

Creates a new global library asynchronously and returns a jobId.

create_library_type_versionWrite

Creates a new version of a library type from a source object (block or UDT).

create_master_copyWrite

Creates a master copy from an existing block, UDT, or tag table.

create_master_copy_folderWrite

Creates a folder in the Master Copies section of a library.

delete_library_typeDeleteLocal approval

Deletes a library type.

delete_master_copyDeleteLocal approval

Deletes a master copy from a library.

get_cross_referencesRead

Gets cross-references for a PLC block or tag.

get_global_library_treeRead

Gets the hierarchical tree structure of an open global library.

get_library_typesRead

Gets the library types (versioned types) from a library.

get_master_copiesRead

Gets the master copies from a library.

get_project_libraryRead

Gets information about the project library.

get_project_library_treeRead

Gets the hierarchical tree structure of the project library including Master Copies and Types.

list_global_librariesRead

Lists all available global libraries registered in TIA Portal.

open_global_libraryWrite

Opens a global library file (.al19, .al18, etc.).

save_global_libraryWrite

Saves changes to an open global library.

set_library_type_default_versionWrite

Sets the default version for a library type.

Motion & Drives

(12)
create_technological_objectWrite

Creates a new Technological Object on a device.

delete_technological_objectDeleteLocal approval

Deletes a Technological Object (axis, PID, cam, etc.) from a device.

get_drive_parameterRead

Gets a specific parameter value from a Drive object.

get_drive_parametersRead

Lists all parameters of a specific Drive object.

get_drive_telegramsRead

Lists telegrams configured on a Drive object (main, safety, auxiliary).

get_drivesRead

Lists all Drive objects for a device (simple name list).

get_drives_detailedRead

Lists all Drive objects with details (name, category, parameter count, telegram count).

get_technological_object_detailRead

Gets detailed info about a specific Technological Object including all its parameters (axis config, PID tuning, etc.).

get_technological_objectsRead

Lists all Technological Objects (TO) like Axes, Cams, PIDs, etc. for a device.

get_technological_parameterRead

Gets a specific parameter value from a Technological Object.

set_drive_parameterWrite

Sets a parameter value on a Drive object.

set_technological_parameterWrite

Sets a parameter value on a Technological Object.

Safety

(8)
create_safety_runtime_groupWriteLocal approval

Creates a new F-runtime group.

delete_safety_runtime_groupDeleteLocal approval

Deletes an F-runtime group by name.

get_safety_runtime_groupsRead

Lists safety runtime groups for an F-CPU.

get_safety_settingsRead

Gets safety settings (block number ranges, modification state).

get_safety_signaturesRead

Gets safety signatures for an F-CPU.

get_safety_summaryRead

Gets a full safety summary for an F-CPU: runtime groups, signatures, and settings.

login_safety_programWriteLocal approval

Logs in to the safety offline program (required before making safety changes).

logoff_safety_programWriteLocal approval

Logs off from the safety offline program.

Security & Users

(27)
apply_cpu_configurationWriteLocal approval

Applies explicit CPU configuration deltas after all-request preflight and exact diagnosis binding.

assign_role_to_userWriteLocal approval

Assigns one or more roles to UMAC project users.

clear_default_cpu_master_secret_passwordDeleteLocal approval

Clears the stored default CPU master secret password.

configure_securityWriteLocal approval

Configures required CPU security settings for compilation/download.

create_custom_roleWriteLocal approval

Creates a new UMAC custom role.

create_project_userWriteLocal approval

Creates a new UMAC project user with specified roles.

delete_custom_roleDeleteLocal approval

Deletes a UMAC custom role.

delete_project_userDeleteLocal approval

Deletes a UMAC project user.

delete_secretDeleteLocal approval

Deletes a local encrypted secret by id or label.

diagnose_cpu_configurationRead

Reads existing CPU configuration and requested differences without resolving secrets or writing.

get_default_cpu_password_statusRead

Reports whether a default CPU master secret password is configured.

get_project_rolesRead

Lists all UMAC roles (system + custom) available in the project.

get_project_usersRead

Lists all UMAC project users with their assigned roles.

get_protection_levelRead

Gets the current access protection level of a PLC CPU.

get_secret_metadataRead

Gets metadata for one local secret by id or label.

get_security_summaryRead

Gets a summary of security settings for a device, including protection levels and UMAC users.

get_server_diagnosticsRead

Gets health and status information about the TIA Portal API server and connected instances.

list_secretsRead

Lists local secret metadata.

manage_master_secretWriteLocal approval

Manages the Master Secret (global project protection) for a device.

remove_role_from_userDeleteLocal approval

Removes one or more roles from UMAC project users.

reset_plc_passwordDeleteLocal approval

Resets (removes) an access password for a specific protection level on the CPU.

run_cpu_configuration_wizardWriteLocal approval

Reviews or applies the TIA Portal PLC security wizard on an existing CPU.

set_default_cpu_master_secret_passwordWriteLocal approval

Stores a default CPU master secret password securely.

set_display_passwordWriteLocal approval

Sets the display password (Anzeige-Passwort) for CPU protection display.

set_plc_passwordWriteLocal approval

Sets an access password for a specific protection level on the CPU.

set_protection_levelWriteLocal approval

Sets the current access protection level of a PLC CPU without changing passwords.

store_secretWriteLocal approval

Stores a local encrypted secret with metadata.

History & Snapshots

(4)
create_snapshotWrite

Creates a manual snapshot of a block or tag table.

get_history_statsRead

Gets statistics for snapshots authorized to the current project.

list_snapshotsRead

Lists all available snapshots for a specific item (block or tag table).

restore_snapshotDeleteLocal approval

Restores a block or tag table to a previous state from a snapshot ID.

Source Control

(19)
vcs_branch_checkoutWriteLocal approval

Switches to an existing branch.

vcs_branch_createWriteLocal approval

Creates a new branch from the current HEAD.

vcs_branch_deleteDeleteLocal approval

Deletes a branch.

vcs_branch_listRead

Lists all branches (local and remote) with their last commit info.

vcs_commitWriteLocal approval

Exports all project items (blocks, tags, UDTs, watch tables, hardware) and creates a Git commit.

vcs_configWriteLocal approval

Gets or sets the Git configuration.

vcs_diffRead

Shows differences between two commits (or between a commit and HEAD).

vcs_importWriteLocal approval

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.

vcs_initWriteLocal approval

Initializes a Git repository for the current TIA Portal project.

vcs_logRead

Shows the commit history with SHA, message, author, and timestamp.

vcs_mergeWriteLocal approval

Merges a branch into the current branch.

vcs_pullWriteLocal approval

Pulls (fetch + merge) from a remote repository.

vcs_pushWriteLocal approval

Pushes commits to a remote repository.

vcs_remote_addWriteLocal approval

Adds a remote repository (e.g., GitHub, Gitea, GitLab).

vcs_remote_listRead

Lists all configured remote repositories.

vcs_remote_removeDeleteLocal approval

Removes a remote repository by name.

vcs_restoreDeleteLocal approval

Restores a block, UDT, or tag table from a previous commit by re-importing its XML into TIA Portal.

vcs_scanRead

Exports the full project (blocks, tags, UDTs, watch tables, hardware) to the source control working directory WITHOUT committing.

vcs_statusRead

Shows modified files since the last commit.

Version Control Interface

(7)
create_workspaceWrite

Creates a new VCI workspace.

create_workspace_groupWrite

Creates a VCI workspace user group.

delete_workspaceDeleteLocal approval

Deletes a VCI workspace by name.

get_workspace_groupsRead

Lists VCI workspace groups (folder structure).

get_workspace_mappingsRead

Gets mappings (project object ↔ workspace path) for a workspace.

get_workspacesRead

Lists all VCI workspaces in the project.

sync_workspaceWrite

Synchronizes a workspace (all mappings).

Workplans

(14)
add_workplan_artifactWriteLocal approval

Adds an artifact to a WorkplanPhase.

add_workplan_execution_logWriteLocal approval

Adds an execution log to a Workplan, optionally linked to a WorkplanPhase.

add_workplan_phaseWriteLocal approval

Adds a WorkplanPhase to a Workplan.

archive_workplanWriteLocal approval

Archives a Workplan through the accepted Workplan transition rules.

create_workplanWriteLocal approval

Creates a new Workplan.

get_active_workplan_phaseRead

Gets compact agent context for the active WorkplanPhase without raw CDC or full Workplan payload.

get_workplanRead

Gets a Workplan by id.

get_workplan_progressRead

Gets Workplan progress with compact nextReadyPhase projection.

list_workplansRead

Lists Workplans, optionally filtered by projectKey.

mark_workplan_phase_implementedWriteLocal approval

Marks a ready or in-progress WorkplanPhase as Implemented after the service proof gate passes, without verifying it.

set_active_workplan_phaseWriteLocal approval

Sets the active WorkplanPhase when its dependencies are ready.

update_workplanWriteLocal approval

Updates a full Workplan aggregate.

update_workplan_phaseWriteLocal approval

Updates an existing WorkplanPhase.

update_workplan_verificationWriteLocal approval

Updates WorkplanPhase verification.

Pipelines

(9)
pipeline_deleteDeleteLocal approval

Delete a saved pipeline by name.

pipeline_getWriteLocal approval

Load a pipeline definition by name.

pipeline_get_templateRead

Get a pipeline template by ID.

pipeline_historyRead

Get pipeline execution history.

pipeline_instantiate_templateWriteLocal approval

Create a new pipeline from a template.

pipeline_listRead

List all saved CI/CD pipelines for TIA Portal automation.

pipeline_list_templatesWriteLocal approval

List all available pipeline templates (pre-configured CI/CD pipelines).

pipeline_runWriteLocal approval

Execute a pipeline (saved or inline).

pipeline_saveWriteLocal approval

Create or update a pipeline definition.

Patterns

(5)
get_pattern_detailsRead

Gets the full definition of a pattern: blocks with interface, tags, code, folders, and parameters.

get_pattern_guideRead

Returns a guide about the pattern library: naming conventions, workflow, available categories, and how to customize patterns with parameters.

instantiate_patternWrite

Creates all blocks, tags, folders, and instance DBs defined by a pattern in the target device.

list_patternsRead

Lists available industrial patterns (motor, cylinder, sensor, safety...) from the built-in pattern library.

search_patternsRead

Searches industrial patterns by keyword.

Reports

(2)
generate_project_deliverableWrite

Generates a complete project deliverable ZIP containing the PDF report, Excel data files, and the TIA Portal project archive (.zap).

generate_project_reportWrite

Generates a PDF project report with optional Excel data files.

AI Assistant

(7)
copilot_chatDeleteLocal approval

Send a message to the in-app AI Copilot.

copilot_clear_historyDeleteLocal approval

Clear the copilot chat history.

copilot_export_historyWriteLocal approval

Export the server-side Copilot chat history as Markdown or JSON.

copilot_get_historyRead

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.

copilot_get_last_responseRead

Check the copilot's status and retrieve its last response.

copilot_get_settingsRead

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.

copilot_stopWriteLocal approval

Stop the copilot's current operation.

LLM Tips

(11)
draft_llm_tip_bugtrace_ticketWriteLocal approval

Build an anonymized BugTrace ticket draft from a local LLM tip.

get_llm_tip_dashboardRead

Get a local dashboard summary for LLM tips: categories, tools, usefulness, consultations, duplicates, lifecycle.

get_llm_tip_statsRead

Retrieve local usage statistics for the LLM tips knowledge base.

get_llm_tipsRead

Retrieve tips from the communal LLM knowledge base.

preview_llm_tip_feedbackRead

Preview the sanitized/anonymized payload that would be sent for a local LLM tip.

record_llm_tip_feedbackWriteLocal approval

Record whether a local tip was useful, partially useful, not useful, obsolete, or dangerous/inaccurate.

submit_llm_tipWriteLocal approval

Submit a troubleshooting tip or lesson learned to the communal LLM knowledge base.

submit_llm_tip_to_vendorWriteLocal approval

Submit one existing LLM tip as anonymized product feedback for improving T-IA Connect.

suggest_llm_tips_for_errorRead

Suggest local LLM tips that may match an error message and MCP tool context.

update_llm_tip_lifecycleWriteLocal approval

Update the lifecycle status of a local LLM tip.

upvote_llm_tipWriteLocal approval

Upvote a tip that you found helpful or that you can confirm is accurate.

Knowledge

(3)
get_help_topic_detailsRead

Retrieves the full technical documentation for a specific help topic found by search_tia_help.

search_online_docsRead

Searches the official Siemens TIA Cloud documentation (docs.tia.siemens.cloud).

search_tia_helpRead

Searches the official TIA Portal local help documentation (F1).

Documentation

(3)
get_doc_sectionRead

Gets the content of a specific T-IA Connect documentation section.

list_doc_sectionsRead

Lists all available T-IA Connect documentation sections.

search_docsRead

Searches T-IA Connect documentation for a keyword or phrase.

Custom Documentation

(5)
get_custom_doc_chunkRead

Gets the full text of a specific chunk from a custom document.

get_custom_doc_full_textRead

Gets the full extracted text of a custom document.

get_custom_docs_statsRead

Gets statistics about the custom knowledge base (document count, chunk count, errors, directory path).

list_custom_docsRead

Lists all documents indexed in the user's custom knowledge base.

search_custom_docsRead

Searches the user's custom knowledge base (PDF, Markdown, TXT, HTML documents) for relevant information.

Discovery

(5)
diagnose_mcp_catalogRead

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.

get_mcp_tool_detailsRead

Returns the full description and input schema for one MCP tool by name.

get_mcp_tool_referenceRead

Returns a dynamic reference of the MCP tool catalog, grouped by module/category.

get_mcp_usage_guideRead

Returns a compact guide for choosing MCP tools and documentation for common T-IA Connect workflows.

search_mcp_toolsRead

Searches the available T-IA Connect MCP tools and returns compact matches with module/category hints.

CODESYS

(20)
codesys_add_deviceWriteLocal approval

Adds a device to the CODESYS project.

codesys_buildWriteLocal approval

Builds (compiles) the application for a device.

codesys_close_projectWriteLocal approval

Closes the currently open CODESYS project.

codesys_create_lad_pouWriteLocal approval

Creates a LAD (Ladder Diagram) POU in a CODESYS device application.

codesys_create_pouWriteLocal approval

Creates a POU (FB, FC, or Program) in a device application.

codesys_create_projectWriteLocal approval

Creates a new CODESYS project at the specified path.

codesys_export_pouWriteLocal approval

Exports a POU to PLCopenXML.

codesys_get_blocksRead

Lists POUs (program blocks) for a device.

codesys_get_devicesRead

Lists all devices in the current CODESYS project.

codesys_get_gvl_codeRead

Gets the declaration code of a GVL (Global Variable List).

codesys_get_pou_codeRead

Gets the declaration and implementation code of a POU.

codesys_get_projectRead

Gets info about the currently open CODESYS project (name, path, dirty state).

codesys_get_project_overviewRead

Returns a complete overview of all POUs, GVLs, types, and languages in the device application.

codesys_get_versionRead

Gets the CODESYS version and executable path.

codesys_list_catalogWriteLocal approval

Lists all devices available in the CODESYS device repository (catalog).

codesys_list_gvlsWriteLocal approval

Lists all GVLs (Global Variable Lists) in the device application.

codesys_open_projectWriteLocal approval

Opens an existing CODESYS project.

codesys_save_projectWriteLocal approval

Saves the currently open CODESYS project.

codesys_set_pou_codeWriteLocal approval

Sets the declaration and/or implementation code of a POU.

codesys_update_lad_pouWriteLocal approval

Updates the LAD body (and optionally declaration) of an existing CODESYS POU by re-importing PLCopenXML with ConflictResolve.Replace.

Server & System

(10)
get_installed_tia_versionsRead

Lists installed TIA Portal versions and distinguishes the configured preference, authoritative selection, loaded runtime, selection reason, and exact loaded Openness assembly.

get_license_featuresRead

Returns all T-IA Connect features with their license status (enabled/disabled) and description.

get_mcp_approval_registryRead

Returns the effective local MCP approval registry for the current authenticated session.

get_server_infoRead

Returns the current health status, version, and environment of the T-IA Connect server.

get_server_logsRead

Returns matching tail lines from a bounded live-file scan (at most 1 MiB).

get_tia_operation_historyRead

Returns recent T-IA Connect operation history captured by this server for compile, download, go_online, PLCSIM and job operations.

list_log_filesRead

Lists all available log files in the T-IA Connect logs directory with their sizes and last modified dates.

list_project_instancesRead

Lists all running T-IA Connect project instances.

open_mcp_approval_centerWrite

Opens or focuses the local MCP Approval Center.

run_self_testRead

Runs a comprehensive self-test of the T-IA Connect server.

Bridge (broker)

(7)
broker_clear_selected_project_instanceBridge

Broker: clears the explicit target selection so the bridge can return to automatic local discovery.

broker_compile_all_instancesBridge

Broker: compiles devices across all running T-IA Connect project instances and returns a compact result grouped by instance, project, and device.

broker_get_selected_project_instanceBridge

Broker: returns the MCP bridge target currently selected for subsequent project/tool calls.

broker_list_compilable_targetsBridge

Broker: lists compact compile targets across all running T-IA Connect project instances without switching the MCP target.

broker_list_project_instancesBridge

Broker: lists running T-IA Connect instances visible to the local MCP bridge, with the currently selected target if any.

broker_select_project_instanceBridge

Broker: selects the T-IA Connect instance that the local MCP bridge must route subsequent project/tool calls to.

broker_start_project_instanceBridge

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

1

Install T-IA Connect

Download the installer, run it on your engineering workstation. T-IA Connect detects your TIA Portal installation automatically.

2

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.

3

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