PingRoom
by pingroom.io · io.pingroom/pingroom
Send mobile pings and route human questions, approvals, and handoffs from AI agents.
- Category
- Maps, travel and weather
- Connection
- Remote (HTTP)
- Tools
- 41 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http pingroom https://api.pingroom.io/api/agent/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://api.pingroom.io/api/agent/mcpCursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"pingroom": {
"url": "https://api.pingroom.io/api/agent/mcp"
}
}
}Tools it offers
41 tools, as the server itself reported during our check on Oct 31, 2026.
connection_infoVerify 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 robotdisconnectRevoke 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 localist_roomsList the rooms the authenticated account belongs to.list_quick_actionsList the quick actions configured for a room.trigger_quick_actionPress 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 witbroadcastSend 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 onlive_statusStart, 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 senget_live_statusRead 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 notificalist_room_iconsList 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_notificationsList a bounded page of recent pings across approved rooms, newest first. Use page to continue while has_more is true.get_notificationFetch one visible ping by notification id, including its current action_state and, once anything on its data.checklist is checked, checklist_state.wait_for_notificationLong-poll for the next ping. Blocks until one arrives or the timeout elapses — the real-time inbound channel for an agent. Excludes everything your connected human sends (and your own sends); you receive other room membewait_for_ackLong-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 inrequest_approvalAsk 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 permissiowait_for_approvalLong-poll an approval request until the human decides or it expires. Returns the status and, once decided, the chosen option.get_approvalFetch the current status of an approval request without blocking.ask_questionAsk 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_answerLong-poll a question until it is answered or expires. Returns the state and, once answered, the chosen option value + label and the responder.get_questionFetch the current state of a question without blocking.list_questionsList a bounded page of questions you asked, newest first. Optionally filter by state; use page while has_more is true.cancel_questionWithdraw a still-pending question you asked.activate_agent_inboxStart 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 nocreate_handoffHand 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_handoffLong-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 truget_handoffFetch the authoritative current state of one Handoff without blocking.list_handoffsList 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_attachmentUpload 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_attachmentFetch 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_attachmentDelete an attachment this agent uploaded that is not yet claimed by a ping.get_roomFetch a single room by its invite code, including members and quick actions.create_roomCreate 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 itscreate_public_roomCreate a publicly discoverable room with a unique @handle. Counts toward the free-plan five-room cap.join_roomJoin a room using its invite code. Include the password only if the room is protected.list_webhooksList the incoming webhooks (with their trigger URLs) for a room the account owns.create_webhookCreate 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_webhookUpdate an incoming webhook (by id) on a room the account owns — e.g. change its icon, title, message, or sound.delete_webhookDelete an incoming webhook (by id) from a room the account owns.update_quick_actionConfigure a numbered quick-action slot for a room the account owns. Sends a background room refresh to room members' devices.update_quick_actionsConfigure 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 onset_avatarSet this agent's avatar. Must be one of the PingRoom bot avatars.
Questions
What is the PingRoom MCP server?
Send mobile pings and route human questions, approvals, and handoffs from AI agents. It is made by pingroom.io and listed in the official MCP Registry as io.pingroom/pingroom. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add PingRoom to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://api.pingroom.io/api/agent/mcp. In Claude Code, run: claude mcp add --transport http pingroom https://api.pingroom.io/api/agent/mcp
How do I add PingRoom to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://api.pingroom.io/api/agent/mcp.
How do I add PingRoom to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "pingroom": { "url": "https://api.pingroom.io/api/agent/mcp" } } }
Does PingRoom work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can PingRoom do?
It gives your AI 41 tools, including connection_info, disconnect, list_rooms, list_quick_actions, trigger_quick_action. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/io-pingroom-pingroom)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/io-pingroom-pingroom"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/io-pingroom-pingroom.svg?theme=dark"><img src="https://chen.media/mcp/badge/io-pingroom-pingroom.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Maps, travel and weather
See allMapboxVerified maker
@mapboxGeospatial intelligence with Mapbox APIs like geocoding, POI search, directions, isochrones, etc.
Alexandre Caramaschi: cursos e aulas de GEO em português
alexandrecaramaschi.comCursos gratuitos de GEO, SEO e IA em português: aulas, busca híbrida, grafo de conceitos e contato.
OKstays
okstays.comHotels ranked by real comfort, not commission: efficient AC, comfy beds, soundproof rooms and more
Vedar — Kamchatka travel
vedarai.ruKamchatka, Russia travel: tours, hotels, transfers, volcano status, safety, booking requests
Close Knit
getcloseknit.comNeighbourhood and home evidence for England, London in depth: prices, rents, schools, crime, travel.
Doorfarer
doorfarer.comDoor-to-door trips: every airport within reach of your home, with the train or bus there.