Skip to main content
Glama

WhatsApp Save Media

whatsapp_save_media
Destructive

Saves the media of one WhatsApp message (a document such as PDF, DOCX or XLSX, an image, a video, or a voice note/audio) as a file in a local folder. chat_id and message_id come from whatsapp_read_messages or whatsapp_search_messages (a message whose media field is set). It never replaces a file: if the name is taken, it saves as «name (2).ext» and says so.

Input Schema

NameRequiredDescriptionDefault
accountNoWhich linked WhatsApp account to use: its label or id from whatsapp_list_accounts. Leave it out to use the default account.
chat_idYesChat ID of the message, from whatsapp_read_messages
message_idYesmessage_id of the message that carries the media, from whatsapp_read_messages
destinationNoFolder to save the file into. Defaults to the Downloads folder.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the agent already knows this writes to disk; the description usefully narrows that by promising it never overwrites and instead writes 'name (2).ext'. It also reports the outcome, which is real context beyond the annotations. It does not mention permission requirements or failure modes (e.g., missing media, unwritable folder).

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, front-loaded with what the tool does, then ID provenance, then the collision behavior. No filler or restated title.

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?

With an output schema present, return values need no explanation; the description covers source, destination and the non-overwrite naming outcome, which is what an agent most needs. Slightly incomplete on what happens when the message has no media or the destination is invalid.

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 the schema already explains account, chat_id, message_id and the Downloads default for destination. The description reinforces the provenance of the ID parameters but adds no syntax, format, or constraint detail beyond the schema — 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 ('saves the media of one WhatsApp message') plus the resource and enumerates the media kinds (PDF/DOCX/XLSX, image, video, voice note). This clearly separates it from siblings like whatsapp_send_file (which sends) or save_attachment (different source system).

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?

Explicitly tells the agent where the two required IDs come from (whatsapp_read_messages or whatsapp_search_messages, a message whose `media` field is set), which is the key precondition. It stops short of naming what to do when a message has no media, or when to prefer a sibling save/file tool.

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