Skip to main content
Glama

rec_scan

Read-only

Enumerate recordable PLC variables and their costs from runtime or project sources. Filter by pattern, get byte estimates, and generate a checklist for recording profiles.

Instructions

Enumerate the variables that could be recorded and what each would cost. source='runtime' walks the live symbol/datatype tables (every scalar leaf under prefix, or all programs/GVLs); source='project' walks the source declarations (works offline). pattern selects leaves exactly as rec_start does: '*'/'?' wildcards, '[ ]' literal, a leaf matches when it or a parent matches. Returns counts by type and by group (program.instance) with bytes/s estimates at cycle_ms, a suggested mode per leaf, and — when checklist='' — writes ~/.twincat_mcp/profiles/.checklist.csv with a 'select' column to mark (preselect = patterns already marked). Then rec_profile_save(name, from_checklist=name).

Input Schema

NameRequiredDescriptionDefault
showNo
prefixNo
sourceNoruntime
patternNo
cycle_msNo
checklistNo
max_itemsNo
preselectNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A3.7/5.0
Behavior1/5

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

Annotations declare readOnlyHint=true, yet the description states the tool 'writes ~/.twincat_mcp/profiles/<name>.checklist.csv' when checklist='<name>'. Creating a file on disk is an environment modification, which directly contradicts the read-only annotation. The description is otherwise rich, but the rubric requires a 1 for an annotation contradiction.

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?

Purpose and mode selection are front-loaded, and nearly every clause carries new information (match rules, return contents, side effect, next step). The single dense paragraph with em-dashes and parentheticals is harder to parse than it needs to be, which keeps it from a 5.

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

Completeness4/5

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

For an 8-parameter tool it covers return shape (counts by type/group, bytes/s estimates, suggested mode), the conditional file side effect, and the downstream call. An output schema does exist so return values need not be restated. Gaps remain: the show and max_items parameters, and the read-only annotation is not reconciled with the disclosed write.

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

Parameters4/5

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

With 0% schema description coverage the description has to carry the parameters, and it does for most: source (runtime vs. project semantics), pattern (wildcard syntax identical to rec_start, parent/leaf match rule), cycle_ms (drives the bytes/s estimate), checklist, preselect, and prefix ('every scalar leaf under prefix'). It leaves show and max_items unexplained, so it is strong but not exhaustive.

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

Purpose5/5

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

The opening sentence names a specific verb and resource ('Enumerate the variables that could be recorded') and immediately explains the two operating modes: runtime symbol-table walk vs. project source-declaration walk. This lets an agent tell it apart from siblings like ads_leaves, proj_variables, and rec_list without opening any schema.

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

Usage Guidelines4/5

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

It gives a selection criterion between the two sources ('project' works offline) and a follow-on workflow (write checklist, then rec_profile_save(name, from_checklist=name)). It does not explicitly say when to prefer this over rec_start, rec_list, or ads_leaves, so there is no when-not guidance, but the context provided is clear.

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

Deploy Server

Other Tools