Skip to main content
Glama

Collect the documents of a Document Request

download_documents
Read-only

Retrieve all files uploaded by a client for a specific Document Request and download them as a single ZIP archive for local filing or review. Check the request status first to confirm documents are available.

Instructions

Call this when the Professional wants the files a Client has uploaded on a Document Request, for example to file them or read them locally. It returns every collected document as one zip archive, embedded in the result as binary content. The archive is the same download the dashboard offers and comes back only to the agent of the Professional, never to a third party. Use get_request first to check that documents have actually arrived.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
request_idYesThe Document Request whose collected files are wanted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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 mark the tool as read-only and non-destructive, and the description adds meaningful behavioral context: results are delivered as a zip archive embedded as binary content, the archive matches the dashboard download, and it is returned only to the agent of the Professional, never to a third party. This goes well beyond what annotations 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-load the usage trigger, then efficiently cover output format, access scope, and a prerequisite. Every sentence contributes useful information, with no filler or repeated schema content.

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?

For a one-parameter, read-only tool with no output schema, the description is complete: it explains when to call it, what the result looks like, what scope of data is included, who can receive it, and what to check beforehand. Nothing essential is missing for correct invocation.

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 single parameter request_id is already described as 'The Document Request whose collected files are wanted.' The tool description reinforces that the files belong to a Document Request, but it does not add substantial new parameter-level meaning beyond the schema.

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?

The description names a specific action (collect/download) and resource (files uploaded on a Document Request), and clarifies the concrete output: a zip archive of all collected documents. It is clearly distinguishable from siblings like create_request and request_replacement, and it positions itself relative to get_request as a prerequisite check.

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 opens with an explicit invocation condition ('Call this when the Professional wants the files a Client has uploaded...') and adds a practical prerequisite ('Use get_request first to check that documents have actually arrived'). It does not explicitly state when not to use the tool or name alternative tools beyond get_request, so it falls just short of full guidance.

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