Skip to main content
Glama

fs_read

Read-onlyIdempotent

Read UTF-8 text files from a project with optional line ranges, returning content slices and SHA-256 hashes while rejecting binaries.

Instructions

Read a UTF-8 text file under the project root with optional line range. Returns sha256 of the full file, content slice, and truncated flag. Rejects binaries (UNSUPPORTED_BINARY still includes sha256 for replace flows). Read-only; lease_id optional.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
projectNodemo
end_lineNo
lease_idNo
max_bytesNo
start_lineNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and description adds valuable context: returns sha256 of full file, shows truncated flag, rejects binaries while still returning sha256 for replace flows, and clarifies lease_id is optional. No contradiction.

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

Conciseness5/5

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

Three dense sentences, front-loaded purpose, no fluff; every sentence provides unique value (behavior, return, binary handling, read-only).

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?

Given 6 params, 0% schema descriptions, and presence of output schema, the description adequately explains purpose, constraints (project root, UTF-8), and key behavior (binary rejection, truncated content). Missing details: lease_id purpose, max_bytes interplay, and error conditions beyond binary, but overall sufficient for a read tool.

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?

Schema coverage is 0%, but description compensates by clarifying line range for start_line/end_line, project root for project, and optional lease_id. However, lease_id and max_bytes are not fully explained, leaving some gap.

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?

Specific verb+resource: 'Read a UTF-8 text file under the project root' distinguishes from sibling fs_stat, fs_list, fs_search; mentions optional line range and return values that differentiate it as a content-reading tool.

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?

Provides clear context (read-only, text files, under project root) and implicitly indicates when to use via 'read-only' and 'rejects binaries,' but does not explicitly name alternatives or when-not-to-use scenarios. The 'replace flows' mention hints at a workflow but lacks explicit exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidlosasgonzalez/codeagent-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server