Skip to main content
Glama

Alarm the paired phone

alarm

Sound a loud alarm on the phones paired to this roost. Pass hatchId and a short message — the phone shows that message and repeats the alarm until the person acknowledges it. Recipients are only phones paired to this roost or its workspace. There is no phone-number argument. Do not pass one, and do not try to reach any other device.

Android plays alarm audio. The alarm channel bypasses Do Not Disturb after the person grants that access. iOS requests Critical Alerts and this push is sent with a critical sound at full volume. Apple has not granted the Critical Alerts entitlement (com.apple.developer.usernotifications.critical-alerts) yet, so iOS does not bypass the Ring/Silent switch until that grant. Do not tell the user the silent switch was bypassed.

A claimed roost requires a paired agent session. If no phone is paired, or the phone has not allowed notifications, the call fails and nothing is sent.

Input Schema

NameRequiredDescriptionDefault
hatchIdNoHatch id from the original hatch response.
messageYesShort text shown on the alarm. The phone repeats until the person acknowledges it.
tenantIdNoLegacy alias for `hatchId`.
sessionTokenNoOptional paired session token from poll_pairing (when Authorization headers are unavailable).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true) by disclosing persistent repetition until acknowledgement, Android DND-bypass behavior, the ungranted iOS Critical Alerts entitlement, and the exact failure path. It even instructs the agent not to claim the silent switch was bypassed, which is exactly the kind of behavioral nuance annotations cannot carry.

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?

Purpose and required arguments are front-loaded, but the description is long and splits into three paragraphs, with the message/acknowledge behavior duplicated between the prose and the schema. The platform-specific iOS entitlement detail is justified but borders on excess for a tool definition.

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?

For a non-idempotent, open-world side-effecting tool with no output schema, the description covers inputs, recipients, platform behavior, auth prerequisites ('A claimed roost requires a paired agent session'), and the failure mode where nothing is sent. Nothing material is left for the agent to infer.

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, but the description adds real semantics: it ties hatchId and message together ('Pass hatchId and a short message'), explains the acknowledge-to-stop behavior of the message, and rules out a phone-number parameter that an agent might otherwise invent.

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 ('Sound a loud alarm on the phones paired to this roost') and immediately bounds the scope to phones paired to this roost or its workspace. An agent can distinguish it from siblings like poll_pairing or get_pairing_code without opening a schema.

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?

Explicitly states the recipient set, the failure conditions (no phone paired, notifications not allowed), and an explicit exclusion ('There is no phone-number argument. Do not pass one, and do not try to reach any other device'). It does not name a sibling tool as an alternative, but no true alternative exists in the sibling list, so the guidance is effectively complete.

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.