Developer Integration

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

POST https://kioskmate.app/api/mcp

Your exact endpoint URL is also shown in Admin → Integrations inside your workspace.

How to connect

Three steps to get up and running.

1

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.

2

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.

3

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.

Read toolsavailable on all keys
list_offices

List the virtual offices in your organization, with room counts.

list_rooms

List rooms, optionally filtered to one office. Includes type, capacity and current occupant count.

who_is_online

List the people who are currently online, with their status and the room they are in.

list_people

List members of the organization with role, job title and live status. Optional text search.

list_meetings

List meetings — upcoming, live, past or all. Optional limit up to 100.

get_overview

A quick snapshot: office, room and member counts, how many people are online, and live/upcoming meeting counts.

Write toolsread & write keys only
send_message

Post a chat message to a room (by name or id) or send a direct message to a member by email.

create_meeting

Schedule a meeting with a title, time window, optional description, room and participant emails.

invite_guest

Invite 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.