Skip to main content
Glama

Make Announcement

make_announcement
Destructive

Send an in-app announcement and attempt device pushes to this event's current guests. Does NOT send email or SMS. For email updates use edit_email_campaign (emailType announcement, audienceType event_participants, eventId), prepare, inspect_email_workspace review, then send_email_campaign. For texts use get_sms_announcement_audience, preview_sms_announcement, send_sms_announcement. Review each requested channel and report its actual receipt; Firebase acceptance is not device delivery. To invite new people, use send_invitations for app invitations or reviewed event_promotion email.

Input Schema

NameRequiredDescriptionDefault
messageYes
subjectYes
event_idYes
request_idNoStable retry key. Reuse it after a lost response.
recipient_countNo
audience_fingerprintNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / audience_fingerprint
      Added value: +{
      +  "pattern": "^[a-f0-9]{64}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / recipient_count
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / request_id
      Added value: +{
      +  "description": "Stable retry key. Reuse it after a lost response.",
      +  "pattern": "^[\\w-]{1,128}$",
      +  "type": "string"
      +}
  2. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructive=true, openWorld=true, idempotent=false, so the safety profile is carried there. The description adds genuinely non-obvious behavior: Firebase acceptance is not device delivery, and the agent must report actual receipt per channel. It stops short of stating irreversibility or what the destructive impact is (message cannot be unsent to recipients).

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 sentences, front-loaded with what it does and does not do, then alternatives, then the delivery caveat. The email workflow sentence is dense with tool names but each element is actionable rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Good coverage of routing and delivery semantics, and the 'report actual receipt' line partially compensates for the missing output schema. However, with destructive=true and two undocumented guard parameters, the definition leaves an agent unsure how to populate recipient_count/audience_fingerprint or how to confirm the send succeeded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17% and the description adds nothing about parameters. recipient_count and audience_fingerprint are undocumented in both places despite being exactly the kind of confirmation/guard inputs an agent must understand before a destructive send. Only request_id carries a schema description.

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 and resource ('Send an in-app announcement and attempt device pushes to this event's current guests') plus the scope (current guests of one event). The negative scope ('Does NOT send email or SMS') immediately separates it from every email/SMS sibling in a crowded list.

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?

Explicit routing: email goes to edit_email_campaign + prepare + inspect_email_workspace + send_email_campaign, texts to get_sms_announcement_audience/preview_sms_announcement/send_sms_announcement, and new-people outreach to send_invitations or event_promotion. Names alternatives and the conditions that select them, so no inference is required.

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.