Skip to main content
Glama

read_file

Read-onlyIdempotent

Read allowed text files in chunks by line offset and maximum lines, with secrets masked as *** for safe inspection.

Instructions

Read an allowed text file in chunks (offset in lines). Secrets are shown as ***.

Input Schema

NameRequiredDescriptionDefault
pathYes
offsetNo
max_linesNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.2

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds two pieces of genuinely new behavior: access is limited to an allowlist ('allowed' file), and secret values are redacted as '***' in the output. It does not say what happens when the file is longer than the requested chunk beyond the offset hint.

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?

Two short sentences, front-loaded with the core action and no filler. The parenthetical about offset units is efficient, though 'allowed' is left unexplained and costs a little clarity.

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?

An output schema exists, so return shape need not be described. However, for a chunked reader the description omits whether truncation or end-of-file is signalled and what max_lines defaults to, which are the details an agent needs to page through a file correctly.

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%, so the description must carry the parameter meaning. It explains offset as being measured in lines, but says nothing about the units or defaults of max_lines (300) or what qualifies as a valid path, leaving two of three parameters undocumented 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?

States a specific verb and resource (read a text file) plus the operating mode (in chunks, offset in lines) and a scope constraint (allowed files). It is clear enough to call, though it does not name how it differs from siblings like search_files or tail_log.

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 or when-not-to-use guidance. With siblings such as tail_log, search_files, and list_dir in the toolbox, the description never says which one to pick for reading versus tailing versus searching a file.

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