Skip to main content
Glama
soprano-mcp

Soprano Connect MCP Server

by soprano-mcp

upload_whatsapp_media

Upload media to Facebook for WhatsApp messages by providing a sender number, filename, content type, and base64-encoded file content.

Instructions

Upload media to Facebook for use in WhatsApp messages.

Maps to POST {domain_url}/cgpapi/waba/media/{source} (multipart upload). source is the WhatsApp sender number the media is uploaded against. file_content_base64 is the file's raw bytes, base64-encoded. Uses the connection's normal auth method (no session cookie needed here - that's only required by list_whatsapp_templates).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYes
filenameYes
content_typeYes
file_content_base64Yes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

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?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that: the exact endpoint, that it is a multipart upload, and that it uses the connection's normal auth rather than a session cookie. It omits what is created/returned, but an output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Compact and front-loaded: the purpose leads, followed by endpoint/path, then the two non-obvious parameter facts and the auth note. No padding, though the parenthetical about session cookies is more detail than most callers need.

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 not be described, and annotations cover the safety profile. The description supplies endpoint, transport, auth behavior and the two ambiguous parameters, leaving only `filename`/`content_type` semantics implicit, which are largely self-evident.

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 0%, so the description must carry parameter meaning, and it covers only two of four: `source` (the sender number the media is uploaded against) and `file_content_base64` (raw bytes, base64-encoded). `filename` and `content_type` are left entirely to inference, so the compensation is partial.

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?

The description gives a specific verb+resource ('Upload media to Facebook for use in WhatsApp messages') and even cites the underlying endpoint, so the agent knows exactly what operation it is. It does not contrast itself against the close sibling delete_whatsapp_media or clarify the upload/send pipeline, so it stops short of 5.

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 auth note distinguishes this tool from list_whatsapp_templates, which is a partial when-to-use signal. There is no statement of when to call this versus send_message/send_broadcast, nor prerequisites such as a media ID being needed for later sends.

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