Skip to main content
Glama

Read a file

get_object
Read-onlyIdempotent

Use this when a table row points at a file (a photo, a document) the user wants to see. Read one file of a catalog's file storage by its key, e.g. a photo whose key a table holds (garden.images.object_key). Images come back as an image, downscaled to max_dimension on the long edge; small text files (64 KB or less) as text; anything else as metadata with a 15-minute download link.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesthe object's key (its full path in the catalog's files)
catalogYesthe catalog, by name or id
max_dimensionNoimages: the long edge in pixels (default 1500)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial behavior beyond them: images are downscaled to max_dimension on the long edge, files <=64 KB return as text, everything else returns metadata plus a 15-minute download link. These output-shape and expiry details are exactly what the annotations cannot convey.

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 sentences, front-loaded with the trigger condition, then the core action, then the response variants. Every clause earns its place with no restatement of the name or title.

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?

No output schema exists, so the description carries the return-format burden and does so fully: it distinguishes image, text, and metadata responses and names the download-link TTL. Nothing needed to call it correctly is missing.

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 100%, so the baseline is 3. The description goes further by scoping max_dimension to images only ('downscaled to max_dimension on the long edge') and clarifying that key content type determines the response form, adding meaning beyond the per-field schema text.

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: 'Read one file of a catalog's file storage by its key.' The opening clause ties it to a concrete trigger (a table row pointing at a file), which cleanly separates it from the query/query_rw siblings that handle tabular data.

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 a clear when-to-use condition ('when a table row points at a file ... the user wants to see'), including the example key path garden.images.object_key. No explicit when-not or named alternative, but no sibling is a real substitute for reading file bytes.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources