Skip to main content
Glama

fetch_large_file

Download files over 50 MB (excluding video/audio) from Telegram chats into a chat archive after user confirmation, returning the saved path and supporting repeated calls for chunked retrieval.

Instructions

Скачивает файл больше 50 МБ (без видео и аудио) в папку чата в архиве и возвращает путь. Только после того, как пользователь согласился. Файл качается частями: если ответ «вызови ещё раз» — повтори.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "chat": "<chat>",
      "id": "<id>"
    },
    "name": "fetch_large_file"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
chatYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the result is written to the chat folder as an archive, the path is returned, the transfer is chunked, and that a 'call again' response means the download is incomplete. It omits error/retry limits and permission requirements, but the mutating, multi-step nature is clearly surfaced.

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 short sentences, zero filler, and the core action plus the size/type constraint are front-loaded before the consent precondition and the chunking behavior. Nothing repeats what the schema already says.

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

Completeness3/5

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

The presence of an output schema means return values need not be detailed, and the flow-specific behaviors (consent, chunked retry) are covered. However, for a two-parameter tool with no parameter documentation anywhere, the definition is incomplete on inputs, which is the main gap an agent would hit.

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%, so the description must explain the two required parameters, yet neither 'id' nor 'chat' is described beyond indirect hints ('chat folder', 'file'). An agent must guess whether 'id' is a file identifier or message identifier and what form the chat reference takes.

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?

States a concrete verb and resource (downloads a file) plus scope qualifiers: over 50 MB, excluding video and audio, saved into the chat folder as an archive, returning a path. It implicitly separates itself from fetch_media (media excluded) without naming the sibling explicitly, so it is clear but not fully differentiated.

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?

Gives explicit preconditions: only call after the user has consented, and only for files above the 50 MB threshold, which implies smaller files belong to a different tool. It never names the alternative (e.g. fetch_media or read_files) or states when not to use it, leaving the routing partly inferred.

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