Skip to main content
Glama

node_read_file

Read UTF-8 files or specific line ranges from @appliance, @bastion, or TargetNode hosts with SHA-256 hash verification and secret scrubbing for safe remote inspection.

Instructions

Read a UTF-8 file (or line range) from '@appliance', '@bastion', or a TargetNode with SHA-256 hash and secret scrubbing.

Input Schema

NameRequiredDescriptionDefault
nodeYesTarget node identifier ('@appliance', '@bastion', or TargetNode name).
tx_idNoOptional stable transaction id. Reuse retrieves the original operation and never replays ambiguous work.
as_rootNoRead with elevated sudo privileges on a Linux TargetNode.
end_lineNo1-based end line (inclusive, 0 = until end of file).
start_lineNo1-based start line (inclusive, default: 1).
remote_pathYesPath to the file on the remote node.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations supplied, the description must carry the full behavioral burden, and it does disclose two non-obvious traits: results are hashed with SHA-256 and secrets are scrubbed, meaning output may be redacted from the on-disk content. It still omits permissions expectations, behavior on non-UTF-8 or missing files, and whether scrubbing can silently alter what the agent reads.

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 sentence with the verb front-loaded and no filler; the parenthetical line-range clause and the trailing hash/scrubbing clause both carry information. It is dense to the point of being telegraphic, but nothing is wasted.

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 a 6-parameter read tool with full schema coverage and no output schema, the description covers the essentials: encoding limit, range support, node scope, and the hash/scrub side effects. Remaining gaps are error behavior and elevation semantics for as_root, which the schema only partly addresses.

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 coverage is 100%, so every parameter is already documented, and the baseline of 3 applies. The description adds only marginal meaning beyond the schema: that the target set is '@appliance', '@bastion', or a TargetNode, and that line-range reads are supported, both of which are already in the property descriptions.

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 uses a specific verb ('Read') plus resource ('file'), and adds scoping detail the name alone does not carry: UTF-8 text only, optional line range, and the three node targets. That distinguishes it in practice from write-oriented siblings such as node_patch_file and node_transfer, though it never names a sibling explicitly.

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?

Usage is only implied: 'Read a UTF-8 file' suggests inspection rather than mutation, so an agent can infer it is the wrong tool for editing or copying. There is no explicit when-to-use statement, no guidance on choosing between node_read_file and node_exec (e.g. cat), and no stated exclusions such as binary files.

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