Skip to main content
Glama

download-attachment

Download a file attachment from a Dooray task using project, task, and file IDs, and optionally save it to a local path for large files.

Instructions

Download a file attachment from a Dooray task.

Required Parameters:

  • projectId: The project ID

  • taskId: The task ID (post ID)

  • fileId: The file ID (get from get-attachment-list)

Optional:

  • savePath: Local path to save the file. Can be a directory (filename auto-detected) or full file path. Recommended for large files.

Examples:

  • Save to file: { "projectId": "123", "taskId": "456", "fileId": "789", "savePath": "/tmp/downloads/" }

  • Base64 (small files): { "projectId": "123", "taskId": "456", "fileId": "789" }

Response Fields:

  • success: Whether download succeeded

  • fileId: The file ID

  • filename: Original filename

  • contentType: MIME type of the file

  • contentLength: File size in bytes

  • savedTo: (when savePath used) Local path where file was saved

  • base64Data: (when savePath omitted) Base64 encoded file content

Input Schema

NameRequiredDescriptionDefault
fileIdYesFile ID
taskIdYesTask ID (post ID)
savePathNoLocal path to save (directory or full path). Recommended for large files.
projectIdYesProject ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already flag readOnlyHint=false and openWorldHint=true, and the description adds real value on top: it explains the two output modes (base64 in-memory vs on-disk savePath), filename auto-detection for directories, and documents the full response field set. It omits overwrite semantics for savePath and permission/error behavior, which matters for a tool writing to local disk.

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?

Front-loaded one-line purpose followed by grouped required/optional/response sections and two tight examples. The response-field block is long but earns its place since no output schema exists; a little redundancy between the parameter list and the examples.

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?

With no output schema, the description supplies the return shape (success, filename, contentType, contentLength, savedTo, base64Data) and the mode-selection logic, which is what an agent needs to call and interpret it. Missing only failure/overwrite behavior and any size limit guidance beyond 'small files' vs 'large files'.

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 semantics are already documented; the description nevertheless adds 'Can be a directory (filename auto-detected) or full file path' for savePath and its large-file recommendation, plus concrete example payloads for both modes. Genuine value beyond the schema, though no format constraints or error cases are given.

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 ('Download a file attachment from a Dooray task'), which cleanly distinguishes it from the drive/wiki download siblings in the tool list. An agent can select it without opening the schema.

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?

'fileId: get from get-attachment-list' gives an explicit prerequisite and routes the agent to the sibling that produces the ID, and 'Recommended for large files' clarifies when to use savePath. It stops short of naming when to prefer download-all-attachments or the drive/wiki download variants.

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