Tia Portal Mcp
Specialized bridge designed to connect LLMs and AI agents directly to Siemens SIMATIC TIA Portal V21.
- Transport
- Not stated
- Package
- —
- Registry id
- —
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
MCP server for Siemens SIMATIC TIA Portal V21. It lets MCP clients and AI agents inspect a running TIA Portal project through the Siemens Openness API.
The current implementation covers project discovery and lifecycle operations, PLC block export/import, tag table reads and guarded tag mutations, hardware/network discovery, cross-reference diagnostics, hardware catalog search, guarded network-device provisioning, and compile/check diagnostics.
Tools
The server currently exposes 14 tools in read-write mode and 4 tools in read-only mode.
Batch operations
execute_read_batch- run up to 50 retained generic read operations in one call. Each item carries anoperationId, anoperationname (e.g.get_block_content,list_tag_tables), and that operation's parameters. Reads run independently, so a failing item does not stop the others. Boundread_cross_referenceswithmaxResults; oversized batch responses are truncated or omitted server-side with explicit markers.preview_write_batch/apply_write_batch- preview up to 50 retained generic data writes and receive one batch-levelsafetyTokenbound to the exact ordered operation list and the combined current state, then apply them. Apply runs sequentially, stops on the first failure, and marks later itemsskipped(no transaction or rollback). Requiresconfirm=trueand thesafetyToken. Project-lifecycle and network writes stay dedicated.
The generic batch tools are the path for retained block, PLC type, tag-table, tag, and user-constant operations. Each operation name carries that operation's parameters as one item; a single operation is just a one-item batch.
Every operation result may carry a warnings array — non-fatal degradation notes captured from the TIA Openness worker. A populated warnings array means the payload may be partial.
Available read operations for execute_read_batch: read_cross_references, get_block_content, list_tag_tables, and get_type_content.
Available write operations (for preview_write_batch / apply_write_batch): update_block_logic, update_type_content, create_block / delete_block, create_block_group / delete_block_group, create_tag_table / delete_tag_table, create_tag / update_tag / delete_tag, create_user_constant / update_user_constant / delete_user_constant.
get_block_content / update_block_logic and get_type_content / update_type_content accept a format field. format=source is available for global data blocks, PLC data types, and SCL-language FB/FC/OB. Every other block language stays on format=xml.
withDependencies (reads only, default false) asks TIA Portal to include the object's dependency closure. The resulting document declares several objects and is context only — a write refuses any source declaring more than one object, and the read carries a warning saying so. Omit the field to get a document you can edit and submit back.
Network operations
network_read and network_write both declare an MCP output schema and return one canonical JSON document identically as the content text block and as structuredContent — never a nested JSON string inside an outer envelope. This is the Phase 2 JSON contract; see docs/SupportedOperations/NETWORK_OPERATIONS_SUMMARY.md for the exact envelopes.
From the project's README.