Skip to main content
Glama
TIA Portal MCP Server

TIA Portal MCP Server

by BJM1122

Trace TIA Data Flow

tia_trace_data_flow
Idempotent

Trace a value's origin or usage upstream/downstream across SCL, GRAPH, LAD, and FBD logic in cached S7-1200/S7-1500 exports. Use evidence-backed flows to diagnose dependencies.

Instructions

Recursively trace where a value comes from or where it is used, using evidence-backed SCL assignments, GRAPH actions, and LAD/FBD network flows from a cached S7-1200/S7-1500 export.

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": {
      "exportDir": "<exportDir>",
      "query": "<query>"
    },
    "name": "tia_trace_data_flow"
  }
}

Input Schema

NameRequiredDescriptionDefault
matchNosuffix
queryYes
maxDepthNo
maxNodesNo
autoBuildNo
directionNoupstream
exportDirYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.29.1

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, and the description usefully adds that results are 'evidence-backed' and derived from multiple artifact types. However, it does not explain why readOnlyHint=false (presumably autoBuild/index writes), nor does it warn about traversal cost or the effect of the depth/node caps, which matters for a recursive graph walk.

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?

A single dense sentence with no filler, and the core action is front-loaded before the evidence sources. It is efficient, though one sentence for a 7-parameter recursive tool leaves no room for structure.

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

Completeness2/5

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

For a recursive traversal tool with 7 parameters, 0% schema coverage, and no output schema, one sentence is not sufficient. An agent knows roughly what the tool does but not how to set match/direction/maxDepth/maxNodes/autoBuild, nor what a result contains.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters, so the description carries the full burden and largely fails it. 'where a value comes from or where it is used' loosely maps to direction upstream/downstream and 'recursively' hints at maxDepth, but match, maxNodes, autoBuild, and exportDir are never given meaning anywhere.

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 gives a specific verb and object ('Recursively trace where a value comes from or where it is used') and scopes the evidence sources (SCL assignments, GRAPH actions, LAD/FBD network flows) plus the data domain (cached S7-1200/S7-1500 export). That is enough to distinguish it in spirit from tia_trace_call_graph and tia_trace_symbol, but it never names or contrasts those siblings explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use / when-not-to-use guidance and no mention of the sibling tracing tools or how to choose between them. The only implicit signal is that a cached export must already exist ('from a cached S7-1200/S7-1500 export'), which is a prerequisite hint rather than routing guidance.

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