Skip to main content
Glama

Wyślij MMS

send_mms
Destructive

Send MMS

Send an MMS (subject + SMIL body) to one number, a list (max 500), or a contact group. Charges prepaid balance. Wait for explicit user confirmation before calling. Requires purpose. Foreign MMS needs a quoted country rate.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "to": "<to>",
      "purpose": "<purpose>",
      "subject": "<subject>",
      "smil": "<smil>"
    },
    "name": "send_mms"
  }
}

Input Schema

NameRequiredDescriptionDefault
toYesJeden numer, lista numerów (maks. 500) albo grupa kontaktów "group:Nazwa".
fromNoNazwa nadawcy (nadpis). Pomiń, by użyć domyślnego nadpisu konta.
smilYesTreść SMIL (obrazy, tekst, wideo).
paramsNoWartości do szablonu.
purposeYesCel wysyłki, krótko i zgodnie z prawdą (5-200 znaków), np. „przypomnienie o wizycie”, „kod logowania”, „potwierdzenie zamówienia”. Wymagany; zapisywany przy wiadomości.
send_atNoZaplanowana wysyłka, data ISO 8601 (np. 2026-09-08T09:00:00+02:00). Maks. 90 dni w przód. Pomiń, by wysłać teraz.
subjectYesTemat MMS.
referenceNoWłasny identyfikator (np. numer zamówienia) do odszukania wiadomości później.
expires_atNoISO 8601: po tym czasie dostawca przestaje próbować doręczyć (15 min – 72 h po wysyłce). Np. termin wizyty, po którym przypomnienie nie ma sensu.
send_windowNoOkno godzin wysyłki w czasie polskim, np. "08:00-20:00". Poza oknem wysyłka jest przesuwana na najbliższy początek okna. Pomiń, by użyć ustawienia konta.
template_idNoId szablonu MMS (tpl_…) z list_templates zamiast smil.
idempotency_keyNoUnikalny identyfikator zatwierdzonej wysyłki. Przy ponowieniu zachowaj tę samą wartość; nie zmieniaj po timeoutcie.

Output Schema

NameRequiredDescriptionDefault
idNo
statusNo
acceptedNo
messagesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so the bar is lower. The description adds genuinely useful context that the call charges the prepaid balance and requires user confirmation, plus the foreign-rate prerequisite. However it says nothing about scheduling (send_at / send_window / expires_at), the idempotency behavior on retry, or what happens to partially failed batch sends — meaningful omissions for a 500-recipient paid mutation.

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?

Four short sentences, front-loaded with the core action, recipient shapes and cost implication, then the confirmation gate. The telegraphic fragments ('Requires purpose.') are efficient rather than wasteful, though a slightly more structured ordering could improve scanning.

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 annotations, a full output schema and 100% parameter documentation, the description's job is mainly to convey cost, risk and confirmation. It does that well, but for a 12-parameter paid bulk-send tool it omits the scheduling and retry/idempotency story that an agent would want before invoking it.

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 every parameter already carries its own explanation, setting the baseline at 3. The description adds only the subject+SMIL pairing concept and the 500-recipient cap, both of which the schema already encodes; it says nothing about purpose, template_id vs smil, reference, or idempotency_key semantics beyond what is written in the schema.

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 states a specific verb and resource ('Send an MMS (subject + SMIL body)') and enumerates the three supported recipient shapes with the 500 cap. It implicitly separates itself from send_sms and send_voice by naming the MMS channel, but never explicitly says how it differs from those siblings.

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?

It gives concrete pre-call conditions: wait for explicit user confirmation, a purpose is required, and foreign destinations need a quoted country rate first. It stops short of naming an alternative tool (e.g. send_sms for plain text) for cases where an agent picked the wrong channel.

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.