RT

rickgaiser/tiamcp

API development

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

26 stars 7 forks Качество 70 Тренд 32AGPL-3.0

MCP server for Siemens TIA Portal

Обзор

MCP server for Siemens TIA Portal V21+ projects — reads and writes directly to TIA Portal via the Openness API, designed for a fast, LLM- and human-friendly workflow. Special features that make TiaMcp fast for LLM's and human-readable friendly: - STL is read/written as text AWL - PLC tables are converted to/from Excel-compatible CSV - HMI tables are converted to/from Excel-compatible CSV - HMI alarms are converted to/from Excel-compatible CSV - GRAPH is converted to/from compact text DSL (Domain Specific Language) Each item line of list_project ends with the formats it can be read in, e.g. tag table 'Tags' [csv, xml]; pass such a line to read_source_tree to read those formats. A write uses the one format whose files were edited, and refuses an item edited in two. All source is read and written as files in a source tree on disk, so an LLM reads only what it needs and edits with small diffs instead of passing whole blocks through its context.

README

Показан фрагмент оригинального README. Открыть оригинал.

TiaMcp

MCP server for Siemens TIA Portal V21+ projects — reads and writes directly to TIA Portal via the Openness API, designed for a fast, LLM- and human-friendly workflow.

Special features that make TiaMcp fast for LLM’s and human-readable friendly:

  • STL is read/written as text AWL
  • PLC tables are converted to/from Excel-compatible CSV
  • HMI tables are converted to/from Excel-compatible CSV
  • HMI alarms are converted to/from Excel-compatible CSV
  • GRAPH is converted to/from compact text DSL (Domain Specific Language)

Format reference

Format / Language File extension(s) Read Write
SCL .s7dcl / .s7res Yes Yes
FBD .s7dcl / .s7res Yes Yes
LAD .s7dcl / .s7res Yes Yes
Global DB (DATA_BLOCK) .s7dcl / .s7res Yes Yes
GRAPH (S7-GRAPH/SFC) .graph.il Yes Partial
Instance-DB .s7dcl + read-only .interface.txt (resolved member list) Yes Create-only
STL (whole-block) .awl Yes Yes
STL (embedded in mixed FBD/LAD/SCL block) .stl-networks.awl (or .stl-networks.xml fallback) + .s7dcl/.s7res Yes Through .xml only
UDT (PLC data type) .s7dcl / .s7res Yes Yes
PLC tag table .csv, Excel-compatible (synthesized) Yes Yes
HMI tag table (WinCC Unified) .csv, Excel-compatible (synthesized) Yes Yes
HMI alarms (WinCC Unified) .csv, Excel-compatible (synthesized) Yes Yes
PLC alarm text list (user list) .csv, Excel-compatible (synthesized from TIA’s Excel export) Yes Yes (existing lists)
Classic WinCC (Comfort/Advanced/RT Advanced): screens, screen templates, pop-up screens, tag tables, text lists .xml, native Openness XML Yes Yes
Raw export of any block, UDT or PLC tag table, next to or instead of the formats above .xml, SimaticML as Openness exports it Yes Yes

Each item line of list_project ends with the formats it can be read in, e.g. tag table 'Tags' [csv, xml]; pass such a line to read_source_tree to read those formats. A write uses the one format whose files were edited, and refuses an item edited in two.

All source is read and written as files in a source tree on disk, so an LLM reads only what it needs and edits with small diffs instead of passing whole blocks through its context.

Prerequisites

  • TIA Portal V21 installed, with Openness access enabled for your Windows user (Openness API group membership).
  • .NET Framework 4.8.

Building

dotnet build TiaMcp.sln

Produces src\TiaMcp.Host\bin\Debug\net48\TiaMcp.Host.exe, the MCP stdio server entry point. dotnet test TiaMcp.sln runs the unit tests (no TIA Portal needed).

Registering with Claude Code

Copy .mcp.json.example to .mcp.json and point command at wherever you extracted or built TiaMcp.Host.exe:

{
  "mcpServers": {
    "tia": {
      "command": "C:\\path\\to\\TiaMcp.Host.exe",
      "args": []
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "tia": { "command": "C:\\path\\to\\TiaMcp.Host.exe", "args": [] } } }