Skip to main content
Glama

download_media

Read-only

Fetches a photo, sticker, voice note, audio, video or document from a WhatsApp message, only when the user asks for it. Small images are returned as an image you can look at. Everything else returns a download link valid for 15 minutes: share it with the user. You cannot play or transcribe audio yourself. Get message ids from search_messages (media appears as e.g. "[voice note, 0:42]") or read_chat_history.

Input Schema

NameRequiredDescriptionDefault
chat_jidNoOptional. The chat the message is in; only used as a fallback lookup.
message_idYesThe WhatsApp message id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing the two distinct return modes (small images as viewable images vs. everything else as a 15-minute download link), instructing the agent to share the link, and setting capability limits ('You cannot play or transcribe audio yourself'). The remaining gap is minor: no note on failure modes for expired or unsupported media.

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?

Four short sentences, each carrying distinct information: scope, return behavior, agent capability limit, and input provenance. Front-loaded with the core action and no filler.

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?

No output schema exists, so the description carries the full burden of explaining return values — and it does so for both branches, including link expiry and the instruction to pass the link to the user. Combined with the input provenance guidance, an agent can call this correctly without further information.

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 baseline is 3, and the description adds real value by telling the agent where message_id values come from and what they look like in search results. It does not, however, address chat_jid beyond the schema's own 'fallback lookup' note.

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 (Fetches) and enumerates the exact resource types it retrieves from a WhatsApp message, so the agent knows precisely what this returns. It is cleanly distinguished from siblings like search_messages and read_chat_history, which are framed as the source of message ids rather than the fetchers.

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

Usage Guidelines5/5

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

Explicitly gates usage ('only when the user asks for it') and names two concrete alternatives for obtaining the required input ('Get message ids from search_messages ... or read_chat_history'). It even explains how media appears in those results ('[voice note, 0:42]'), closing the loop on the workflow.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources