Connect your apps to KioskMate
KioskMate exposes a Model Context Protocol (MCP) endpoint so any MCP-compatible client — AI assistants, automation platforms, custom scripts — can read your office data and take actions on your behalf, securely.
Endpoint
JSON-RPC 2.0 over HTTPS · Streamable HTTP transport · Bearer token authentication
Your exact endpoint URL is also shown in Admin → Integrations inside your workspace.
How to connect
Three steps to get up and running.
Create a connection key
An admin opens Admin → Integrations, names a key and picks a scope: read-only (6 tools) or read & write (all 9). The key is shown once — copy it immediately.
Point your MCP client at KioskMate
Set the endpoint URL shown on your Integrations page and add an Authorization: Bearer <key> header. The endpoint speaks Streamable HTTP — standard JSON-RPC 2.0 over HTTPS POST.
Call tools
Send an initialize request, then call tools/list to see what’s available. Each tool call returns JSON results scoped to your organization.
Example request
A minimal JSON-RPC call to list your offices.
curl -X POST https://kioskmate.app/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your-key>" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_offices",
"arguments": {}
}
}'Available tools
9 tools across two scopes. Read-only keys see 6; read & write keys see all 9.
list_officesList the virtual offices in your organization, with room counts.
list_roomsList rooms, optionally filtered to one office. Includes type, capacity and current occupant count.
who_is_onlineList the people who are currently online, with their status and the room they are in.
list_peopleList members of the organization with role, job title and live status. Optional text search.
list_meetingsList meetings — upcoming, live, past or all. Optional limit up to 100.
get_overviewA quick snapshot: office, room and member counts, how many people are online, and live/upcoming meeting counts.
send_messagePost a chat message to a room (by name or id) or send a direct message to a member by email.
create_meetingSchedule a meeting with a title, time window, optional description, room and participant emails.
invite_guestInvite an external guest to your organization. Returns an invitation link valid for 7 days.
Security
Bearer token auth
Every request requires a valid connection key generated by an admin. No anonymous access.
Organization-scoped
Each key is bound to one workspace. Tools only return and act on data within that workspace.
Scope control
Choose read-only or read & write when creating a key. Read-only keys cannot trigger writes.
Webhooks
Real-time event notifications
Configure outbound webhooks in Admin → Integrations to receive real-time POST notifications for office events. Supports Slack, Microsoft Teams, and generic HMAC-signed JSON webhooks.
Meeting scheduled
meeting.scheduled · Meetings
Meeting started
meeting.started · Meetings
Guest waiting in lobby
guest.knocked · Guests
Guest joined
guest.joined · Guests
Teammate invited
member.invited · Team
Teammate joined
member.joined · Team
Room created
room.created · Workspace
Office created
office.created · Workspace
Plan changed
plan.changed · Billing
Invoice paid
billing.paid · Billing
Webhook payload
Generic webhooks deliver a JSON body with an HMAC-SHA256 signature in the X-KioskMate-Signature header.
{
"id": "evt_...",
"type": "meeting.scheduled",
"occurredAt": "2026-10-02T12:00:00Z",
"organization": { "id": "org_...", "name": "Acme Corp" },
"summary": "Daily standup scheduled for Oct 3",
"link": "/app/meetings/mtg_...",
"actor": { "name": "Jane Doe" },
"metadata": null
}Ready to integrate?
Sign in to your workspace, head to Admin → Integrations, and create your first connection key. You will be sending your first MCP request in under a minute.
