Skip to main content
Glama
draiqw
by draiqw

tg_download_many

Idempotent

Download multiple Telegram attachments in a single batch, specifying chat and message IDs from tg_media. Saves to a chosen directory or the default downloads folder.

Instructions

Download several attachments at once (max 50). Get the ids from tg_media.

Args: chat: chat the messages belong to. message_ids: message ids carrying the media. dest: target directory. Defaults to the project's data/downloads.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chatYes
destNo
message_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already mark the tool as non-destructive and idempotent; the description adds useful behavior beyond that: a 50-item limit and a default download destination. No contradiction with annotations is present.

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?

The description is compact and front-loaded: a one-sentence purpose, a source hint, then a short Args list. Every sentence adds information and there is no repetition of schema fields.

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 simple three-parameter tool with annotations covering safety, the description covers purpose, parameters, limits, source, and default destination. A minor gap is not describing what happens if more than 50 ids are passed or what the tool returns, but these are not essential for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description compensates fully by explaining all three parameters (chat, message_ids, dest) and the default value for dest. This is exactly what the agent needs beyond the bare schema types.

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 uses a specific action and resource: 'Download several attachments at once (max 50).' It marks the batch scope, which separates it from the single-download sibling tg_download, and 'Get the ids from tg_media' tells the agent where the required ids come from.

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 clearly states the batch use case ('several attachments at once') and supplies the necessary preliminary step ('Get the ids from tg_media'). It does not explicitly name tg_download as the single-item alternative, so it stops short of a full when-not-to-use rule.

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