Skip to main content
Glama

Download project

typst_download_project
DestructiveIdempotent

Downloads all files from a Typst project into a local directory, overwriting files at matching paths, for backups, Git use, or local editing.

Instructions

Download all files of a project into a local directory (created if missing; existing files with the same paths are overwritten). Useful for backups, git or local editing.

Input Schema

NameRequiredDescriptionDefault
directoryYesAbsolute local target directory
project_idYesProject ID from typst_list_projects, e.g. 'pAbC123dEf456gHi789jKl'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, and the description corroborates this by spelling out that the directory is created if missing and existing same-path files are overwritten. That is exactly the risk detail an agent needs before invoking a disk write. It does not cover partial-failure behavior or whether the response reports downloaded files, but the annotation coverage lowers the burden.

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?

Two compact sentences: the operation and its overwrite semantics come first, usage context second. No filler and nothing is buried.

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?

For a two-parameter tool with rich annotations and no output schema, the description covers directory creation, overwrite behavior, and intended uses. The main remaining gap is what the call returns or how failures/partial downloads are surfaced, which matters for a bulk disk write.

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 the schema already explains that 'directory' must be an absolute local path and where 'project_id' comes from. The description adds no parameter-level detail beyond that, which is the expected baseline when the schema does the work.

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?

"Download all files of a project into a local directory" states a specific verb, resource, and scope. The 'all files' phrasing implicitly distinguishes it from the single-file sibling typst_read_file, though no sibling is named explicitly.

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?

It gives concrete use cases (backups, git, local editing) that tell the agent when this is appropriate. It stops short of stating when not to use it or pointing to alternatives such as typst_read_file for a single file.

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