Skip to main content
Glama

Create an alert (legacy)

create_alarm

Create an alarm on the user's iPhone (kept for agents set up before 2026-10). Without fire_at it is a notification now (the app's feed); with fire_at a reminder at that time. type "normal": a quiet notification. type "urgent": an alarm that rings through silent mode and Focus until the user taps Done or Snooze. Use urgent only when the user must not miss it. "Call me", "ring me", "phone me", "wake me" (in any language) means an urgent alarm: now, or at the time they name. Optional color: pick the one that fits (see the color argument), or the one the user asks for. Optional sound (urgent alarms only): omit it for the user's default sound, or pick one that fits (see the sound argument).

Input Schema

NameRequiredDescriptionDefault
bodyNoOptional details. Supports line breaks and URLs: line breaks are kept, and links, phone numbers and addresses can be tapped in the app.
iconNoOptional. The icon shown with it in the app, the Live Activity and the widget. Pick the one that fits, or omit it for the default (bell). Icons: bell: anything else (the default); checkmark.circle: a task, job or build finished; exclamationmark.triangle: an error, incident, failure or outage; calendar: a meeting, appointment, deadline or event; sportscourt: sport: a match, a game, a workout; gift: a birthday, anniversary or holiday; cart: shopping, orders, deliveries, prices; airplane: travel: flights, trips, check-in; heart: health and personal life: medication, family, self-care; briefcase: work: reviews, follow-ups, documents, clients.
typeNoDefault normal.
colorNoOptional. The colour in the app (its icon in the feed and the list, the alarm screen and the Live Activity). Use the colour the user asks for. Otherwise pick the one that fits best, or omit it for the default (blue). Colours: blue: everything else (the default); red: critical: incidents, outages, failures, hard deadlines; orange: important or due soon: reviews, renewals, follow-ups; green: personal and health: sport, medication, family errands, money; purple: events and fun: meetings, birthdays, trips, matches.
soundNoOptional. The sound it rings with: only when it rings (urgent, ring: true); a quiet one is a notification with the sound from the app's Settings. Use the sound the user asks for. Otherwise omit it for the user's chosen default sound (picked in the app's Settings), or pick one when the context clearly suggests it: a football match -> stadium, something that must wake the user -> loudalarm or urgentpulse, a gentle nudge -> calmpiano or softbells. Sounds, calm to loud: default: the iPhone's standard system alarm sound, familiar; calmpiano: calm soft piano, gentle: quiet nudges, evenings; softbells: soft bells, gentle and quiet: a reminder that must not startle; sunrise: slowly rising warm tones: a gentle wake-up in the morning; chime: a clear short chime, neutral: everyday reminders; brightmarimba: bright cheerful marimba, the classic phone alarm feel: a normal alarm; upbeatpop: upbeat pop melody, energetic and happy: workouts, fun plans; urgentpulse: fast insistent pulsing beeps, hard to ignore: something urgent, incidents; loudalarm: very loud aggressive alarm that wakes you up: must not be slept through; stadium: football stadium fans chanting with drums and air horns: matches, sports events.
titleYesShort text shown on the alarm.
ends_atNoReminders only: when it ends (ISO 8601, after fire_at).
fire_atNoOnly when the user named a time: a reminder then. ISO 8601 with offset, e.g. 2026-10-23T09:00:00+03:00. Without an offset the user's timezone is used. Omit for a notification now.
locationNoOptional. An address or place; the app offers to open it in Maps. One line.
countdownNoReminders only: show a countdown to fire_at on the phone.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare write/non-destructive/non-idempotent, and the description adds substantial behavior beyond that: no fire_at yields an immediate notification, fire_at yields a reminder, and urgent alarms ring through silent mode and Focus until Done or Snooze — a real side effect an agent must know before calling. It also flags the tool's legacy status, which is behavioral context nothing else carries.

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?

Front-loaded with the core mode split, and the color/sound/icon advice is compressed into pointers ("see the sound argument") rather than repeating the enum text. Still somewhat long for a create tool, with a few sentences that restate schema-documented defaults, but nothing is wasted outright.

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?

With 10 optional parameters, no output schema, and annotations covering only the safety profile, the description carries the load well: it covers both execution modes, urgency semantics, silence/Focus behavior, and guidance for the optional presentation fields. An agent has everything needed to call it correctly without opening the schema.

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 the baseline is 3; the description still adds cross-parameter policy the schema documents only field-by-field — that sound applies only to urgent ringing alarms and that fire_at should be supplied only when the user named a time. It does not add format details for fire_at/ends_at/countdown beyond the schema, so it stops short of a 5.

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?

States a specific verb and resource ("Create an alarm on the user's iPhone") and immediately splits the behavior into the two modes an agent must choose between: notification now vs. reminder at fire_at. The "legacy / kept for agents set up before 2026-10" note signals it may be superseded, but it never names the replacement or explains how it differs from the sibling tool `alert`, so differentiation is incomplete.

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?

Gives strong, explicit when-to-use rules: "Use urgent only when the user must not miss it," plus a phrase-to-intent mapping ("call me", "ring me", "wake me" in any language → urgent alarm). It also says when to omit color and sound. It never routes the agent among siblings (create vs. update_alarm vs. alert), so the alternatives half of the guidance is missing.

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