Skip to main content
Glama

read_ldr

Read-only

Decode an existing .ldr file into display-order network records and optional Ladder IR to inspect ladder logic and raw payloads without altering the source file.

Instructions

Decode one existing .ldr into display-order network records and optional Ladder IR.

    Use this for decoded logic and raw payloads; use inspect_ldr for container offsets or
    bad-CRC forensics, and analyze_ldr for device reads/writes and semantic summaries.
    Unsupported payloads remain opaque, complete Ladder IR is returned only when every network
    decodes, and
    bad CRC or unknown framing returns an error. The workspace file is never modified.
    

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": {
      "path": "<path>"
    },
    "name": "read_ldr"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathYesExisting .ldr path that must resolve inside the configured workspace.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.1
    • addedInput schema / properties / path / description
      Added value: +"Existing .ldr path that must resolve inside the configured workspace."
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and destructiveHint=false, but the description goes further, disclosing partial-success semantics (unsupported payloads stay opaque, complete Ladder IR only if every network decodes), error behavior (bad CRC or unknown framing returns an error), and the guarantee that the workspace file is never modified. That is exactly the extra behavioral context annotations cannot convey.

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?

The primary action is front-loaded in the first sentence and every subsequent clause carries distinct information (alternatives, partial-decode behavior, error cases, immutability). Minor deduction for the slightly vague phrase "raw payloads" and awkward line-wrapped clause boundaries.

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

Completeness5/5

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

An output schema exists, so return values need not be explained, and the description still covers the edge cases an agent would otherwise stumble on: opaque unsupported payloads, conditional Ladder IR, and CRC/framing errors. Nothing needed to invoke it correctly is missing.

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?

Only one parameter, and the schema already documents it at 100% coverage including the workspace-resolution constraint. The description adds no additional syntax or format detail about the path, so the baseline 3 applies.

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 description leads with a specific verb and resource ("Decode one existing .ldr") and names both the primary output (display-order network records) and the optional one (Ladder IR). It is immediately distinguishable from inspect_ldr and analyze_ldr, which are named with their distinct scopes.

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

Usage Guidelines5/5

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

Explicit routing is given: this tool for decoded logic and raw payloads, inspect_ldr for container offsets or bad-CRC forensics, analyze_ldr for device reads/writes and semantic summaries. Both the when-to-use and the when-to-use-something-else conditions are stated.

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