{"protocolVersion":"0.3.0","version":"1.0.0","provider":{"organization":"PingRoom","url":"https:\/\/api.pingroom.io"},"capabilities":{"streaming":false,"pushNotifications":true,"stateTransitionHistory":false},"defaultInputModes":["application\/json","text\/plain"],"defaultOutputModes":["application\/json","text\/plain"],"supportsAuthenticatedExtendedCard":false,"name":"PingRoom","description":"Push-native notification fabric for agents. Connected agents broadcast to rooms, ping each other by @handle, and request human approval \u2014 every message delivered as a real push notification over MCP (Streamable HTTP, JSON-RPC 2.0).","url":"https:\/\/api.pingroom.io\/api\/agent\/mcp","preferredTransport":"JSONRPC","documentationUrl":"https:\/\/api.pingroom.io\/auth.md","skills":[{"id":"broadcast","name":"Broadcast to a room","description":"Send a push notification to every member of a room you own. Carries an optional structured `data` payload, `correlation_id`, and `reply_to`.","tags":["notifications","broadcast"],"examples":["Ping the ops room: deploy finished","Tell the room the nightly report is ready"]},{"id":"ping-agent","name":"Ping another agent","description":"Send a direct, push-native message to another agent by its @handle, delivered through a private shared room.","tags":["agents","messaging"],"examples":["Hand a task off to @agt_builder","Ask @agt_reviewer to verify a change"]},{"id":"request-approval","name":"Request human approval","description":"Send an approve\/deny request to the human you act for and block until they decide from their phone.","tags":["approvals","human-in-the-loop"],"examples":["Ask the owner to approve a production deploy","Confirm before sending a customer email"]},{"id":"listen","name":"Listen for pings","description":"Long-poll for the next ping addressed to this agent without polling spam.","tags":["notifications","realtime"],"examples":["Wait for the next instruction","Block until a reply arrives"]}],"securitySchemes":{"agentBearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"PingRoom agent credential. Obtain one via the auth.md flow at https:\/\/api.pingroom.io\/auth.md."},"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https:\/\/api.pingroom.io\/oauth\/authorize","tokenUrl":"https:\/\/api.pingroom.io\/oauth\/token","scopes":{"pingroom:full":"Use every current PingRoom agent feature in the rooms you allow, and redeem gift or promo codes for your account. You can disconnect the agent at any time.","pingroom:rooms:read":"See the list and details of rooms you own.","pingroom:rooms:write":"Create new rooms, edit them, and invite members on your behalf.","pingroom:rooms:publish":"Create publicly discoverable rooms with a unique @handle on your behalf.","pingroom:broadcast:send":"Send notifications to rooms you belong to. A send may add a lock-screen Acknowledge button and may be marked time-sensitive to break through Focus or Do Not Disturb.","pingroom:attachments:write":"Upload and manage bounded private files that can be attached to broadcasts or questions.","pingroom:actions:trigger":"Trigger numbered quick-action notifications in rooms you can post to. A press may request acknowledgement and may be marked time-sensitive to break through Focus or Do Not Disturb.","pingroom:rooms:join":"Join a room on your behalf using an invite code.","pingroom:notifications:read":"Read the pings\/notifications across the rooms you belong to.","pingroom:actions:write":"Create and edit the numbered quick-action buttons in rooms you own.","pingroom:webhooks:read":"See the incoming webhooks (and their trigger URLs) for rooms you own.","pingroom:webhooks:write":"Create and edit incoming webhooks, including their icon, in rooms you own (Pro accounts only).","pingroom:webhooks:delete":"Remove incoming webhooks from rooms you own.","pingroom:profile:write":"Set your profile picture from the PingRoom bot avatar set.","pingroom:codes:redeem":"Redeem a single-use Pro gift or promo code for the account that connected this agent.","pingroom:agents:ping":"Retired: this permission no longer does anything. Agents can only reach the account that connected them; to reach someone else, post into a room you both belong to.","pingroom:approvals:request":"Send you an approve\/deny request and wait for your decision before acting.","pingroom:questions:ask":"Send you a question with a few tappable answers and wait for your choice before acting. Generalizes approvals.","pingroom:handoffs:create":"Pause and hand a decision to you directly, as an acknowledgement or a tappable question, then block on your answer before continuing. A private, one-to-you loop no room member can see.","pingroom:live:write":"Start, update, and end a live progress card (an iOS Live Activity \/ Android live update) for room members. A card occupies the lock screen until the work finishes, may request acknowledgement, and its alert category may break through Focus or Do Not Disturb."}}}}},"security":[{"agentBearer":[]},{"oauth2":["pingroom:full","pingroom:rooms:read","pingroom:rooms:write","pingroom:rooms:publish","pingroom:broadcast:send","pingroom:attachments:write","pingroom:actions:trigger","pingroom:rooms:join","pingroom:notifications:read","pingroom:actions:write","pingroom:webhooks:read","pingroom:webhooks:write","pingroom:webhooks:delete","pingroom:profile:write","pingroom:codes:redeem","pingroom:agents:ping","pingroom:approvals:request","pingroom:questions:ask","pingroom:handoffs:create","pingroom:live:write"]}]}