Index / MCP servers / PingRoom

PingRoom MCP server

PingRoom is a remote MCP server that gives an AI agent 42 tools, among them activate_agent_inbox, ask_question, broadcast. It answers at https://api.pingroom.io/api/agent/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 24 October 2026, succeeded.

Status
Answering
Tools
42
Official
yes, served from pingroom.io
Reliability
6 of 6 checks
Response time
163 ms
Transport
streamable HTTP
Last checked
24 October 2026

Send mobile pings and route human questions, approvals, and handoffs from AI agents.

Description as the publisher wrote it.

The 42 tools PingRoom offers

ToolWhat it does
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 notifications before r
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.
Inputs: invite_code, prompt, context, options, text_input, correlation_id
broadcastSend a custom ping to a room the account belongs to. Rate-limited. Not available in personal rooms (use trigger_quick_action there).
Inputs: invite_code, message, title, action_number, action_icon, data
cancel_questionWithdraw a still-pending question you asked.
Inputs: question_id
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 robot before sending. A mi
create_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.
Inputs: kind, prompt, audience, expires_in, urgency, options
create_public_roomCreate a publicly discoverable room with a unique @handle. Counts toward the free-plan five-room cap.
Inputs: name, icon, color, handle, description, category
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 its handoffs and direct
Inputs: name, icon, color
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.
Inputs: invite_code, name, title, message, icon, color
delete_attachmentDelete an attachment this agent uploaded that is not yet claimed by a ping.
Inputs: attachment_id
delete_webhookDelete an incoming webhook (by id) from a room the account owns.
Inputs: invite_code, webhook_id
disconnectRevoke 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 run
get_approvalFetch the current status of an approval request without blocking.
Inputs: approval_id
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.
Inputs: attachment_id
get_handoffFetch the authoritative current state of one Handoff without blocking.
Inputs: handoff_id
get_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 notification_id and correlat
Inputs: invite_code, correlation_id
get_notificationFetch one visible ping by notification id, including its current action_state.
Inputs: notification_id
get_questionFetch the current state of a question without blocking.
Inputs: question_id
get_roomFetch a single room by its invite code, including members and quick actions.
Inputs: invite_code
join_roomJoin a room using its invite code. Include the password only if the room is protected.
Inputs: invite_code, password
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.
Inputs: state, limit, page
list_notificationsList a bounded page of recent pings across approved rooms, newest first. Use page to continue while has_more is true.
Inputs: type, date, limit, page
list_questionsList a bounded page of questions you asked, newest first. Optionally filter by state; use page while has_more is true.
Inputs: state, limit, page
list_quick_actionsList the quick actions configured for a room.
Inputs: invite_code
list_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_roomsList the rooms the authenticated account belongs to.
list_webhooksList the incoming webhooks (with their trigger URLs) for a room the account owns.
Inputs: invite_code
live_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 sends one alert, furthe
Inputs: invite_code, correlation_id, live_status, title, action, data
redeem_codeRedeem a gifted Pro or promo code for the human account that connected this agent. Consumes a single-use code and grants Pro; no room or paid plan is required. Use only a code the user supplied for redemption. Existing eligibility and one-p
Inputs: code
request_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 user. Rate-limited.
Inputs: invite_code, question, title, options, correlation_id, data
rotate_handleRotate this agent's public handle — kill-switch for a leaked handle.
set_avatarSet this agent's avatar. Must be one of the PingRoom bot avatars.
Inputs: avatar_id
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 without the matching de
Inputs: invite_code, action_number, trigger_source, is_urgent, ack_mode, requires_ack
update_quick_actionConfigure a numbered quick-action slot for a room the account owns.
Inputs: invite_code, action_number, label, icon, sound, requires_ack
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 the owner's device with its own background refresh, so setting up four Pings one at a time spends four
Inputs: invite_code, actions
update_webhookUpdate an incoming webhook (by id) on a room the account owns — e.g. change its icon, title, message, or sound.
Inputs: invite_code, webhook_id, name, title, message, icon
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.
Inputs: filename, content_base64, mime_type
wait_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 instead.
Inputs: notification_id, timeout
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.
Inputs: question_id, timeout
wait_for_approvalLong-poll an approval request until the human decides or it expires. Returns the status and, once decided, the chosen option.
Inputs: approval_id, timeout
2 more tools

wait_for_handoff, wait_for_notification

Add PingRoom to your AI client

Every block below points at https://api.pingroom.io/api/agent/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http pingroom https://api.pingroom.io/api/agent/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "pingroom": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.pingroom.io/api/agent/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "pingroom": {
      "url": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "pingroom": {
      "type": "http",
      "url": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "pingroom": {
      "url": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "pingroom": {
      "serverUrl": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "pingroom": {
      "url": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: PingRoom
version: 0.0.1
schema: v1
mcpServers:
  - name: PingRoom
    type: streamable-http
    url: https://api.pingroom.io/api/agent/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "pingroom": {
      "httpUrl": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "pingroom": {
      "type": "http",
      "url": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "pingroom": {
      "url": "https://api.pingroom.io/api/agent/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fapi.pingroom.io%2Fapi%2Fagent%2Fmcp&type=streamable_http&id=pingroom&name=PingRoom

Is PingRoom up right now?

It answered our last check on 24 October 2026 in 163 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to PingRoom

Questions about PingRoom

Is there an official PingRoom MCP server?

Yes. It is published by pingroom.io and served from api.pingroom.io, the vendor's own domain: https://api.pingroom.io/api/agent/mcp.

How many tools does PingRoom have?

42, as returned by the server's own tools/list on 22 September 2026: activate_agent_inbox, ask_question, broadcast, cancel_question, connection_info, create_handoff, create_public_room, create_room, and 34 more.

Is PingRoom down?

It answered our last check on 24 October 2026 in 163 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add PingRoom to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.pingroom.io/api/agent/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does PingRoom need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.pingroom. Endpoint host: api.pingroom.io. ARD identifier: urn:air:io.pingroom:mcp:pingroom. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.