Skip to main content
Glama
TIA Portal MCP Server

TIA Portal MCP Server

by BJM1122

Link HMI alarms to PLC source

tia_analyze_hmi_alarms
Idempotent

Analyze saved HMI alarm observations and PLC exports without TIA Portal, linking trigger, acknowledgement, and reset tags to exact PLC definitions, writers, and screen references.

Instructions

Analyze a saved exact HMI observation and existing PLC export without TIA. Link trigger/acknowledgement tags and optional reset tags to exact PLC tag or DB definitions, writers, clear candidates, guards and screen references. Explicit connection-to-software-path bindings prevent cross-PLC guesses. Optional official alarm XLSX supplements classic HMI evidence; its HMI ownership is caller-selected, not verified. Does not execute scripts or inspect runtime.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "projectPath": "<projectPath>",
      "hmiName": "<hmiName>",
      "hmiPath": "<hmiPath>",
      "exportDir": "<exportDir>",
      "connectionBindings": "<connectionBindings>"
    },
    "name": "tia_analyze_hmi_alarms"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNo
hmiNameYes
hmiPathYes
exportDirYes
projectPathYes
alarmWorkbookNo
resetTagNamesNo
connectionBindingsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.29.1

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds real behavior beyond the annotations: it discloses that connection-to-software-path bindings are what prevent cross-PLC guessing, that caller-supplied XLSX ownership is 'not verified', and that it does not execute scripts or inspect runtime. The main gap is that annotations mark this non-read-only, yet the description never says what it produces or writes (presumably artifacts under exportDir), leaving the mutation surface undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is compact and front-loaded: the analyze-and-link action comes first, followed by the binding constraint, the optional XLSX caveat, and the explicit non-goals. Every clause does work, though the writing is telegraphic and would scan better as short structured sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters at 0% schema coverage, no output schema, and a non-read-only operation, the description covers the conceptual model well (what gets linked, what is verified, what is out of scope) but leaves the agent guessing about most input parameters and about what the call yields. It is adequate but not self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, so the description carries the full burden. It adds meaning for connectionBindings (connection name to software path, guarding against cross-PLC guesses), resetTagNames (optional) and alarmWorkbook (optional XLSX supplement), but says nothing about query, limit, projectPath, hmiName, hmiPath or exportDir.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: analyze a saved HMI observation against an existing PLC export and link trigger/acknowledgement/reset tags to PLC tag or DB definitions, writers, clear candidates, guards and screen references. It is clearly distinct from siblings like tia_read_hmi_alarm_export or tia_export_hmi_bundle. It loses a point only because the dense domain jargon makes the core action harder to grasp at a glance than it needs to be.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives indirect guidance through the phrase 'without TIA', which implicitly contrasts this tool with the TIA-session-dependent siblings, and it notes that the XLSX input is optional. However, it never explicitly states when to choose this over tia_read_hmi_alarm_export or the export/apply tools, and it gives no prerequisites beyond 'saved' and 'existing'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.