Give an AI assistant the ability to ring your alarm, and to ask afterwards whether a
person actually answered. It connects once, you approve it on a page you see, and you
can take it back with one click.
https://alarmsender.com/mcp
That is the whole address. The transport is Streamable HTTP and the
authentication is OAuth 2.1 with dynamic client registration —
both discovered automatically, so a client that speaks MCP needs nothing else from you
but the URL above. There is no API key to paste and no token to copy.
What happens the first time
- You give your assistant the address.
- It registers itself and sends you to a consent page on this site.
- You sign in, if you are not already, and see exactly what is being asked for.
- You approve, and it works from then on.
Approval does not expire. That is a deliberate trade: an assistant that has to re-ask
every week is an assistant nobody keeps connected. It is only defensible because
taking it back is one click on the Agents tab, so “forever”
really means “until you say otherwise”.
Claude
Claude Code
claude mcp add --transport http alarmsender https://alarmsender.com/mcp
Then run /mcp in Claude Code and authenticate when it offers.
Claude Desktop, and Claude on the web
Settings → Connectors → Add custom connector, and paste the
address. A browser window opens for the consent page; approve it there and the tools
appear in the conversation.
ChatGPT
Settings → Connectors → Create, paste the address, and choose
OAuth as the authentication. ChatGPT registers itself and sends you to the same consent
page.
Custom MCP connectors are a paid-tier feature and, in some workspaces, one an
administrator has to enable first. If you cannot see where to add one, that is the
reason rather than anything on this end.
Gemini
Gemini CLI
gemini mcp add --transport http alarmsender https://alarmsender.com/mcp
Then /mcp auth alarmsender to run the approval, and /mcp list
to see the tools once it is connected.
Anywhere else in Gemini
Wherever the product lets you add an MCP server or an extension, the address above is
all it needs. Gemini's own surfaces have moved around more than most; if you are
following a menu path from somewhere else and it does not match, trust the address
rather than the menu.
Client menus move; the address does not. Every one of these products
has renamed its integrations page at least once. If the steps above have drifted, look
for whatever the client calls MCP servers, connectors or
extensions, choose HTTP rather than a local command, and paste
https://alarmsender.com/mcp.
On connecting, with nothing else switched on:
| Tool | Does |
list_chimes | See the alarms on the account, so it can pick one that suits what happened. |
ring_alarm | Ring one, now, on every paired device. |
check_alarm | Ask whether it reached a device and whether a person answered — so it can wait for a human rather than assume one heard. |
And if you switch them on, per agent, on the Agents tab:
| Tool | Does |
create_chime, update_chime, delete_chime | Make and manage alarms of its own. |
create_trigger, update_trigger, delete_trigger, list_triggers | Make and manage trigger URLs. |
What it can never do
-
Create an alarm that overrides Do Not Disturb. Only you can raise a
chime to
critical, from the console.
-
Touch anything it did not make. An agent may change and delete its
own chimes and triggers. Yours are refused.
-
Ring faster than anything else. 60 a minute, in bursts of 5 —
the same ceiling a camera gets, because a looping agent and a stuck camera are the
same problem from the phone's side.
Everything an agent makes is labelled with its name, everything it rings appears in
Activity marked as an agent, and removing it can take its work with it in one action.
Asking for an alarm
Once it is connected, this is the whole of the interface:
Run the migration, and ring my alarm when it finishes.
Watch that deploy. If it fails, ring me on the critical chime —
otherwise just tell me here.
This will take a while. Ring me when it is done, then check
whether I actually answered before you carry on.
The last one is the reason check_alarm exists. An assistant that can tell
the difference between “it rang” and “somebody saw it” can wait
for you instead of carrying on without you.
Taking it back
The Agents tab lists everything connected, what each one may create,
what it has made, and when you approved it. Remove disconnects it and
leaves its work alone; ticking its inventory first deletes what it made as well. A
chime one of your own triggers still points at is kept either way.
Alarm Sender · this page describes the deployment it was served from.
See also the API reference for the HTTP interface.