Skip to main content
Glama

download_file

Read-only

Download a text file or binary attachment from an Overleaf project as a local artifact; text files reflect a fresh live snapshot.

Instructions

Download a text file or binary attachment as a local artifact. Text documents come from a fresh live snapshot.

Input Schema

NameRequiredDescriptionDefault
pathYes
projectIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds one piece of real behavioral context — text documents are fetched from a fresh live snapshot rather than a cached copy — but it is cryptic about what a "local artifact" actually is (a path? a handle? a stream?) and gives no size, binary-encoding, or failure behavior.

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 tight sentences with no filler and the resource type front-loaded. The brevity is not the problem — the missing content is — so it loses only a point for spending its second sentence on a phrase whose meaning is unclear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-required-parameter, zero-description-coverage download tool with no output schema, the description should clarify the path/project relationship and what the caller receives back. It does neither, leaving the return value and the target of the download undefined.

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% for both required parameters, so the description carries the full burden. It never explains what projectId identifies or what path is relative to (project root? repository? artifact store?), which is exactly the ambiguity an agent must resolve before calling.

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+resource ("Download a text file or binary attachment") and names the result (a local artifact), which goes beyond the bare name. However, it never distinguishes itself from close siblings like download_project or read_file, so an agent cannot tell which of the three it wants without opening schemas.

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?

No when-to-use guidance is given and no alternative is named, despite siblings read_file, download_project, and upload_file forming an obvious decision set. The single hint — attachments versus text files — is implicit at best.

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