Skip to main content
Glama

Read a file

amiga_read_file
Read-onlyIdempotent

Reads a file from an Amiga path and returns its contents, decoding text as Latin-1 or returning binary data as base64.

Instructions

Copy one file from the Amiga and return its contents. Text comes back as text (decoded as Latin-1, the Amiga's character set); a file with a zero byte in its first 4 KB is treated as binary and comes back as 'binary file, N bytes, base64:' and the data. Fails if the path does not exist or is a directory (use amiga_ls). Read-only.

Input Schema

NameRequiredDescriptionDefault
pathYesthe full Amiga path, e.g. 'S:Startup-Sequence'

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.1
    • changedInput schema / properties / path / description
      Previous value: -"Amiga path"New value: +"the full Amiga path, e.g. 'S:Startup-Sequence'"
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial behavior: Latin-1 decoding, the exact binary-detection heuristic (zero byte in first 4 KB), and the literal return prefix 'binary file, N bytes, base64:'. That is the kind of output-shape detail an agent cannot infer from structured fields.

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 short sentences: purpose first, then output format, then failure mode and alternative. Every sentence carries distinct information with no repetition of the title or annotations.

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?

With no output schema, the description takes on the burden of describing return values and does so precisely, including the binary case. For a one-parameter read tool, nothing an agent needs 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?

Schema coverage is 100% and the path parameter already carries an example, so the description only reinforces that it is a 'full Amiga path'. Baseline 3 applies since the schema does the heavy lifting for the single parameter.

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?

States a specific verb and resource ('Copy one file from the Amiga and return its contents'), immediately distinguishing it from write/list siblings. The parenthetical contrast with amiga_ls for directories further sharpens its identity.

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?

Gives explicit failure conditions and routes the directory case to amiga_ls, which is a real alternative pointer. It does not cover other plausible alternatives (e.g. amiga_text or amiga_write_file) or note when a bulk read is preferable, so it stops short of full when/when-not guidance.

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