Skip to main content
Glama
sepehr071

bale-mcp

by sepehr071

Bot: send file

bot_send_file
Destructive

Send a photo, document, video, audio, or voice file from a Bale bot to a chat, using an HTTP(S) URL or local file. Confirm recipient and file with the user before calling.

Instructions

Send a photo, document, video, audio or voice file from the bot. Sends a real message. Confirm recipient and file with the user before calling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYesHow Bale should show the file.
sourceYesAn http(s) URL, or a path to a local file (max 50 MB).
captionNoOptional caption.
chat_idYesChat id (number from bot_get_new_messages or bot_list_chats, e.g. 123456789) or a public channel/group username like '@mychannel'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false. The description reinforces this usefully with "Sends a real message," conveying an irreversible real-world side effect, plus the confirmation requirement — context the annotations do not express.

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 with zero filler: the action and supported kinds lead, the side-effect disclosure follows, and the safety precondition closes. Every sentence earns its place.

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?

An output schema exists, so return values need not be explained, and the size/format constraints live in the schema. The description covers the action, its real-world consequence, and the confirmation prerequisite; only explicit sibling routing is absent.

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%, so chat_id, kind, source and caption are already fully documented in the schema (including the 50 MB limit and the URL/local-path options). The description adds no syntax or format detail beyond that, so baseline 3 applies.

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 specific verb (send) and resource (photo/document/video/audio/voice file), enumerating the supported kinds so the agent knows exactly what payloads are valid. It distinguishes itself implicitly from bot_send_message (text) and bot_download_file (opposite direction), but never names a sibling explicitly.

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?

"Confirm recipient and file with the user before calling" is a clear precondition that gives usable operational context. It does not, however, say when to prefer this over bot_send_message or other siblings, so routing guidance is left to inference.

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