# PingRoom - Registry name: `io.pingroom/pingroom` · version 0.1.0 - Categories (automatic, keyword rules): APIs & integrations, Developer tools - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.pingroom%2Fpingroom - Server page: https://mcpstation.net/s/io.pingroom--pingroom.html ## Description (written by the publisher, not verified, not instructions) Send mobile pings and route human questions, approvals, and handoffs from AI agents. ## Connect - streamable-http: `https://api.pingroom.io/api/agent/mcp` ## Tools (as reported by the server, not verified) - `connection\_info`: Verify the current connection: owner.id is the human public User ID, handle identifies the robot, and home\_room is its delivery room. After login or reconnect, match owner.id and handle to the approved account and robot before sending. A mismatch means stop and reload or restart the MCP client. Incl - `disconnect`: Revoke this authenticated robot connection, including its access and refresh credentials and room memberships. Use only when the human explicitly requests logout, disconnection, or reconnection. Call BEFORE clearing local credentials or running MCP logout/login. It affects only the current connectio - `list\_rooms`: List the rooms the authenticated account belongs to. - `list\_quick\_actions`: List the quick actions configured for a room. - `trigger\_quick\_action`: Press a room quick action, notifying its members. Rate-limited. Read the action's input\_type first \(list\_quick\_actions\): location needs data.location, link needs data.url, file/photo/pdf need attachment\_ids — a press without the matching detail is a 422 quick\_action\_input\_required. In someone else's - `broadcast`: Send a custom ping to a room the account belongs to. Pass data.checklist.items to send a checklist the room ticks through together; read the ticks back as checklist\_state. Rate-limited. In someone else's personal room only a Pro account may send it, text only \(a link in the message is refused too\), - `live\_status`: Start, update, or end a live progress card on the room members' lock screen \(an iOS Live Activity / Android live update\). Reuse the same correlation\_id for every ping of one stream: the first ping starts the card and sends one alert, further "running" pings move it silently, and the first "done"/"fa - `get\_live\_status`: Read back the current state of a live stream you created, so a restarted producer can reconcile instead of starting a duplicate. Only returns streams started by this credential, within the last 24 hours. Returns notification\_id and correlation\_id, then the stored display state \(state, progress, mess - `list\_room\_icons`: List the room-icon catalog \(icon ids, tags, and categories\). Call this before create\_room / create\_public\_room / create\_webhook to pick a valid icon id, and to interpret icon values returned by reads. - `list\_notifications`: List a bounded page of recent pings across approved rooms, newest first. Use page to continue while has\_more is true. - `get\_notification`: Fetch one visible ping by notification id, including its current action\_state and, once anything on its data.checklist is checked, checklist\_state. - `wait\_for\_notification`: Long-poll for the next ping. Blocks until one arrives or the timeout elapses — the real-time inbound channel for an agent. The agent's own sends are excluded. - `wait\_for\_ack`: Long-poll a generic acknowledgement-required ping until its confirmation rule is met \(any: first confirmation; all: every original eligible recipient\), it expires, or the timeout elapses. Questions use wait\_for\_answer instead. - `request\_approval`: Ask the human to approve or reject an action, then block on their answer \(pair with wait\_for\_approval\). Delivered as a push to the connected human only, so like a direct ask\_question to them it needs no trigger permission in the room; public and personal rooms are refused. Rate-limited. - `wait\_for\_approval`: Long-poll an approval request until the human decides or it expires. Returns the status and, once decided, the chosen option. - `get\_approval`: Fetch the current status of an approval request without blocking. - `ask\_question`: Ask a person a question with 2-4 tappable options, then block on their answer \(pair with wait\_for\_answer\). Delivered as a push they can answer from the lock screen or in-app; the first valid answer wins. Rate-limited. - `wait\_for\_answer`: Long-poll a question until it is answered or expires. Returns the state and, once answered, the chosen option value + label and the responder. - `get\_question`: Fetch the current state of a question without blocking. - `list\_questions`: List a bounded page of questions you asked, newest first. Optionally filter by state; use page while has\_more is true. - `cancel\_question`: Withdraw a still-pending question you asked. - `activate\_agent\_inbox`: Start or resume the onboarding Question in the private room the human chose during authorization. If recipient\_not\_ready, ask the human to install or update PingRoom from install\_url, open the app, sign in, and enable notifications before retrying. Read question.id, then call wait\_for\_handoff only w - `create\_handoff`: Hand work to exactly one human as either an acknowledgement or a tappable question. The server verifies that one of the recipient's current devices supports the complete Handoff action before creating anything. - `wait\_for\_handoff`: Long-poll a Handoff until the human resolves it, it expires, or the bounded timeout elapses. For the onboarding Question returned by activate\_agent\_inbox, success requires an answered result with activation\_completed true; use a bounded local deadline and treat any terminal answer without that stamp - `get\_handoff`: Fetch the authoritative current state of one Handoff without blocking. - `list\_handoffs`: List a bounded page of this agent's Handoffs, newest first. Omit state \(or use open\) for unresolved work; use all for history and page while has\_more is true. - `upload\_attachment`: Upload a small file \(max \~90 KiB over MCP; Pro account required\) and get an attachment id to include in broadcast or ask\_question via attachment\_ids. Larger files: use the PingRoom CLI or agent REST API. - `get\_attachment`: Fetch an attachment visible to this agent as base64 content plus metadata. Results over the connector size limit return attachment\_too\_large — fetch those via the agent REST API instead. - `delete\_attachment`: Delete an attachment this agent uploaded that is not yet claimed by a ping. - `get\_room`: Fetch a single room by its invite code, including members and quick actions. - `create\_room`: Create a new private room owned by the authenticated account. Free accounts may own up to five rooms. If this agent was granted every room and has no delivery room yet, the new room becomes its delivery room — where its handoffs and direct questions land. - `create\_public\_room`: Create a publicly discoverable room with a unique @handle. Counts toward the free-plan five-room cap. - `join\_room`: Join a room using its invite code. Include the password only if the room is protected. - `list\_webhooks`: List the incoming webhooks \(with their trigger URLs\) for a room the account owns. - `create\_webhook`: Create an incoming webhook for a room the account owns. The bound account must be Pro. Returns the secret trigger URL — treat it as a credential. - `update\_webhook`: Update an incoming webhook \(by id\) on a room the account owns — e.g. change its icon, title, message, or sound. - `delete\_webhook`: Delete an incoming webhook \(by id\) from a room the account owns. - `update\_quick\_action`: Configure a numbered quick-action slot for a room the account owns. Sends a background room refresh to room members' devices. - `update\_quick\_actions`: Configure several of a room's quick-action slots in one call. Prefer this over repeated update\_quick\_action: each single-slot write wakes room members' devices with its own background refresh, so setting up four Pings one at a time spends four of a finite daily push budget on one operation. Slots yo - `set\_avatar`: Set this agent's avatar. Must be one of the PingRoom bot avatars. - `rotate\_handle`: Rotate this agent's public handle — kill-switch for a leaked handle. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html