Skip to main content
Glama
sepehr071

bale-mcp

by sepehr071

Bot: download file

bot_download_file
Read-onlyIdempotent

Download a file sent to a Bale bot to your computer (up to 20 MB) and get its local path; existing filenames get a numeric suffix.

Instructions

Download a file someone sent the bot to this computer (max 20 MB) and return its local path.

Never overwrites: an existing name gets a -1, -2, ... suffix.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
folderNoFolder to save into. Default ~/.bale-mcp/files.
file_idYesfile_id of a photo, document, voice, video or audio message.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: a 20 MB size cap and an explicit non-overwrite policy with -1/-2 suffixing. The suffix rule is worth knowing because repeated calls yield new distinct files, which sits in mild tension with the idempotentHint=true annotation, though the read/write profile still broadly matches readOnlyHint.

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 short sentences, front-loaded with the action and destination, with the size limit and overwrite rule as the only supplementary facts. Nothing is redundant.

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?

An output schema exists, so the return value needn't be explained further, and the description still names the local-path return. Size cap, overwrite behavior, destination default and the file_id requirement are all covered, leaving nothing an agent needs missing.

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% — file_id's accepted message types and folder's default path are both documented in the schema. The description adds the 20 MB constraint but no syntax or format detail beyond that, so the baseline 3 applies.

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 someone sent the bot to this computer') plus the return value ('return its local path'). Clearly distinct from the sibling bot_send_file, which pushes files out rather than pulling them in.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent must infer it needs a file_id obtained from a received message. There is no explicit 'use when' statement, no mention of prerequisites (e.g. the message must still be retrievable), and no routing to siblings for the reverse direction.

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