Skip to main content
Glama

Read a project text file

project_read_file
Read-onlyIdempotent

Read a bounded line range and exact SHA-256 from supported HDL, ACF, MIF, HEX, VEC, or report files. Use nextLine to continue and expectedSha256 to prevent overwriting concurrent edits.

Instructions

Read a bounded line range and exact SHA-256 of HDL, ACF, MIF, HEX, VEC, reports or other supported text. Use nextLine to continue and expectedSha256 to avoid overwriting concurrent edits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesFile path relative to the project/workspace. Absolute paths must remain inside that scope.
projectNoExisting .acf project path or unambiguous project name. File paths are scoped to its directory.
encodingNoFile encoding; latin1 preserves MAX+plus II legacy bytes. Select utf8 explicitly for Unicode files.
lineCountNoMaximum lines to return; default 200.
startLineNoFirst one-based line to read; default 1.
workspaceNoWorkspace directory for resolving project names, or the scope when no project is supplied.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.3

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description usefully adds that reads are bounded and return a SHA-256, but the 'expectedSha256 to avoid overwriting concurrent edits' phrase imports a write-protection concept into a read-only tool and references an absent parameter, muddying rather than clarifying behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core read action and file scope. However, the second sentence is spent on two parameters that do not exist in the schema, which is wasted and misleading content rather than earning its place.

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?

For a read tool with a fully documented 6-parameter schema and no output schema, the description covers the essentials (bounded reads, SHA-256 return). But its references to non-existent continuation and concurrency parameters leave an agent unable to reconcile the description with the actual interface.

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 description coverage is 100% and all six parameters are well documented in the schema itself, so the schema carries the semantic load. The description adds no parameter detail and instead names two parameters (nextLine, expectedSha256) that are not in the schema, so the baseline of 3 applies.

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 states a specific verb (Read) and resource (a bounded line range plus exact SHA-256) and enumerates the supported file types (HDL, ACF, MIF, HEX, VEC, reports). This lets an agent distinguish it from mutation siblings like project_edit_file, though it never names an alternative tool 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?

It gives a small amount of usage context ('Use nextLine to continue and expectedSha256 to avoid overwriting concurrent edits'), but neither nextLine nor expectedSha256 exists in the schema, so the guidance points at non-existent parameters. There is no statement of when to choose this over project_files, project_parse_file, or project_edit_file.

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