Skip to main content
Glama

Change an alarm

update_alarm
DestructiveIdempotent

Changes an alarm the person made: its title, a time alarm's time or days, its drawn wallpaper (words and colours) or theme, its note, its button link, how it snoozes, who can join, whether it is a surprise, and who is let in or taken off. For an alarm that already exists and that the person made; it does not make new alarms, and on or off alone is a separate switch. Fields left out stay as they are. Riders of a friends alarm are told of a new look, and asked to keep riding or leave after a time change; people taken off lose it from their phone without being told. A public alarm cannot change once anyone has joined it. Returns the alarm and its link.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe alarm's id.
dateNoA time alarm's new date, making it a one-off, "2026-11-02".
noteNoA note from the person about the alarm, in their words, shown under its trigger on the alarm's page and in the Daily drop. Up to 500 characters; an empty note clears it.
timeNoA time alarm's new time, 24-hour, "07:15". Its date or days stay unless given.
vibeNoThe feel of the alarm in a few words, "fun poppy anime", "calm", "a simple bell", "hype for a token launch". LFG picks a sound and a drawn look from its library to match; wallpaper words or colours given here win over the look.
reachNoWho can join: private, friends or public.
themeNoA picture theme: the alarm gets one of the theme's pictures as its wallpaper and a song in its moods, and a new alarm a title written for it. A wallpaper, title or vibe given as well is kept instead. One of: birthday (Birthday), love (Love), night_out (Night out), shopping (Shopping), winter (Winter), christmas (Christmas), hanukkah (Hanukkah), diwali (Diwali), halloween (Halloween), thanksgiving (Thanksgiving), friendsgiving (Friendsgiving), new_years (New Year's Eve).
titleNoNew short name for the alarm.
surpriseNoFor a friends alarm: keep it a surprise. People who join see a curtain instead of its title, picture, sound and note until it rings. Free on every plan.
add_groupsNoFor a friends alarm: names of the person's friend groups whose members to let in, "Family". Members get a notification.
add_peopleNoPeople to let in to a friends alarm, added to those already in: usernames of the person's LFG friends, or email addresses. Up to 20 at a time.
button_linkNo
repeat_daysNoA time alarm's new repeat days, making it repeating, ["sat","sun"].
words_colorNoColour of the words as hex, "#D7FF00".
hide_triggerNoNeeded with surprise, true or false: whether to also keep back when and why it rings, so people who join only know that it will. A surprise is not made until it is given.
snooze_timesNoHow many times it can be snoozed: 3, 10 or unlimited.
remove_peopleNoPeople to take off a friends alarm, by username or email. Anyone among them who already joined loses the alarm from their phone, without being told.
silent_snoozeNotrue to snooze without the spoken roast LFG plays by default.
snooze_minutesNoMinutes each snooze lasts: 5, 10, 15, 30 or 60.
wallpaper_colorNoWallpaper background colour as hex, "#5B2BFF".
wallpaper_wordsNoWords drawn on the wallpaper, "WAKE UP"; a line break starts a new line.
people_confirmedNoWhether the person has confirmed the people and groups being added. Nobody is added or told without it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Adds real consequences beyond the annotations: riders of a friend's alarm are told of a new look and asked whether to stay after a time change, removed people lose the alarm silently, and public alarms freeze after joins. It also declares the return value ("Returns the alarm and its link"), which the tool has no output schema for. The destructiveHint=true annotation is consistent but the description doesn't explain why it is flagged destructive (e.g. remove_people) as sharply as it could.

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-loads verb, resource and the full set of mutable facets, then the boundaries, then side effects — good ordering with zero filler. The long enumeration of fields is dense but earns its place given 22 parameters; a slight trim would improve scanability.

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?

For a 22-parameter mutation with no output schema, the description covers preconditions, partial-update semantics, notification side effects, a hard block condition, and the return value. What it omits — mutual exclusivity of date and repeat_days, and the people_confirmed requirement — is documented in the schema, but would have been valuable to surface here given the tool's breadth.

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 coverage is 95%, so the schema already carries field-level meaning; the description's list of changeable facets largely restates parameter names. It adds some framing ("whether it is a surprise", "who is let in or taken off") but does not clarify interactions such as date vs repeat_days exclusivity or the people_confirmed gate, which remain in the schema text only. Baseline 3 for a high-coverage 22-parameter schema.

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?

Opens with a specific verb+resource ("Changes an alarm") and enumerates the mutable facets: title, time/days, wallpaper, theme, note, button link, snooze, reach, surprise, membership. It explicitly carves out the neighbouring operations ("it does not make new alarms, and on or off alone is a separate switch"), which cleanly separates it from set_time_alarm, turn_alarm_on_off and delete_alarm in the sibling 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?

States the precondition ("For an alarm that already exists and that the person made"), names the alternatives it is not (creation, toggling), and gives the constraint that blocks a call ("A public alarm cannot change once anyone has joined it"). It also supplies the partial-update rule: "Fields left out stay as they are."

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