Skip to main content
Glama

Server Details

Reach your own phone from an AI agent: notifications, approval questions, reminders, ring, files.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation4/5

Most tools map to distinct actions (list_devices, find_my_phone, send_file, get_shared_items), but send_notification, remind_me, and request_approval all produce phone prompts and could be misselected by an agent skimming. The descriptions clarify immediacy and response expectations, so the ambiguity is limited and manageable.

Naming Consistency5/5

All nine tools use snake_case verb-first names like cancel_, check_, find_, get_, list_, remind_, request_, and send_, with the two send_ verbs clearly distinguished by their noun objects. The naming pattern is consistent and predictable throughout.

Tool Count5/5

Nine tools is well within the ideal 3-15 range and each covers a distinct capability needed for phone interaction: device discovery, notifications, reminders, approvals, file transfer, shared reading, and phone locating. None feel redundant or padding.

Completeness4/5

The core lifecycle is covered: reminders can be created and canceled, approvals can be requested and polled, and notifications, files, and shared items have send/read paths. Minor gaps exist, such as no way to list scheduled reminders or confirm delivery/ringing, but these appear to be intentional stateless-server design choices rather than critical missing operations.

Available Tools

9 tools
cancel_reminderCancel reminderA
Idempotent
Inspect

Cancel a previously scheduled reminder by its reminder_id. Fire-and-forget: the server does not store reminders, so it cannot confirm the id was real — an unknown or already-fired reminder is silently ignored rather than reported as an error.

Inputs: reminder_id (required). Returns: status

check_replyCheck replyA
Read-onlyIdempotent
Inspect

Poll for the user's answer to a pending request_approval. Each call waits up to wait_seconds (default 20s, max 45s) server-side and returns the moment the user answers, so call it back-to-back in a loop — there's no need to add your own delay between calls. Returns pending while unanswered, answered with a choice_index once the user taps, or expired once the ask's deadline passes.

Inputs: request_id (required), wait_seconds. Returns: status, expires_at, answered_at, choice_index

find_my_phoneFind my phoneA
Idempotent
Inspect

Ring the user's phone at full volume for up to 60 seconds, even if it's on silent or Do Not Disturb. Use this when the user asks to locate or ring their phone. Fire-and-forget: the server can't confirm the phone actually rang, only that the ring request was sent.

Inputs: no named parameters. Returns: status, warnings

get_shared_itemsGet shared itemsA
Read-onlyIdempotent
Inspect

Read items the user deliberately shared from their phone to you — a link, a note, a snippet they tapped 'Share to Agents' on. This does NOT read their text messages, their notifications, or anything else on the phone; only what they explicitly handed over. Reading does not consume: the same items return again until they expire, so a lost response loses nothing. Pass the returned cursor back as since to get only what is new.

Inputs: limit, since. Returns: items, cursor, untrusted

list_devicesList devicesA
Read-onlyIdempotent
Inspect

List the user's own paired Reflecto devices (their phone and desktop) and whether each is reachable. A phone counts as reachable when it has a live push registration, even if it is currently asleep or switched off — reachable does not mean the user is active on it right now. For recency use statusReportedAt (unix seconds of the last device status report); lastSeenAt is coarse (hourly) for phones. Read-only — returns device names and status metadata, never any message or notification content. Call this before send_notification when you need to pick a specific device — pass that device's deviceId, not its label, when you mean exactly one: labels can repeat across devices and a repeated label delivers to all of them.

Inputs: no named parameters. Returns: devices

remind_meRemind meAInspect

Schedule a notification to appear on the user's phone at a specific future time. Use this when the user asks to be reminded of something later. at is an absolute Unix timestamp in SECONDS, between 60 seconds and 365 days from now. The phone fires it locally once it receives the setup message, so the exact second is not guaranteed (the alarm is inexact to preserve battery). Delivery of that setup message is best-effort, like any other push to the phone — a phone that never receives it never arms the reminder. Returns a reminder_id you can pass to cancel_reminder.

Inputs: at (required), message (required). Returns: fire_at, warnings, reminder_id

request_approvalRequest approvalAInspect

Ask the user a question on their phone and get a tap back — 2 to 4 answer choices (default ["Approve","Deny"]). Use this when you need the user's decision before a consequential or irreversible action and they may be away from this conversation (e.g. confirming a deploy, a destructive operation, or a purchase). Returns immediately with a request_id; poll check_reply with it to get the answer — the user may take minutes to respond.

Inputs: question (required), choices, idempotency_key, expires_in_seconds. Returns: status, created, expires_at, request_id

send_fileSend fileAInspect

Save a text file to the user's phone Downloads folder. Use this when the user asks you to write something out for them to keep on their phone — notes, a generated report, code, a log — rather than just replying inline. The file is delivered via Reflecto's servers: the content briefly passes through Reflecto in plaintext before being encrypted to the phone (this is NOT end-to-end encrypted, unlike device-to-device mirroring). Content is capped around 128KB — well under what a person would call a large file, since the whole file must be sent as this call's argument.

Inputs: content (required), filename (required). Returns: byte_length, document_id

send_notificationSend notificationAInspect

Send a push notification to the user's own paired devices (their phone and desktop running Reflecto). Use this when the user explicitly asks to be notified, pinged, or alerted, or asks you to let them know when a long-running task finishes. The notification reaches the user even when they are away from this chat. Do not use it for routine replies that belong in the conversation.

Inputs: message (required), ttl, url, tags, +5 more. Returns: id, warnings, delivered_to

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      Enables AI agents to reach users on their phone through push notifications, and to raise urgent, escalating alarms that fall back to a voice call until someone acknowledges. It also ships hooks that notify users automatically when Claude Code or Codex needs input or finishes a turn.
      3
      6 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Lets an AI agent ask its owner first, on their phone, before doing something irreversible: ask_approval blocks until a person answers and distinguishes DENIED from NO ANSWER, so a timeout is never read as consent. send_notification covers one-way alerts with priorities and quiet hours.
      4
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to ring or text a user's actual iPhone, read a question or update aloud, and return the spoken answer back to the agent as text. Calls and messages land in a single titled thread per agent, with tools for polling results, waiting for replies, and labeling conversations.
      41
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources