The MCP server

Connect Claude, ChatGPT or your own agent to Plek over the Model Context Protocol, with the staff member's own permissions.

Plek runs a Model Context Protocol server at:

https://api.plekbooking.com/mcp

An AI assistant connected to it reads the organisation's sessions, bookings and setup, and with permission changes them: create an activity, plan a series, move or cancel a session, set up a whole organisation from a description. It acts as one staff member of one organisation, with that person's role: a coach's connection only sees the coach's own sessions and never payment data.

Staff who want to connect an assistant find step-by-step instructions for claude.ai, ChatGPT, Claude Desktop and Claude Code in the admin app under Account > AI assistant, and on plekbooking.com.

Connecting

  • OAuth (recommended). Add the URL as a connector; the client discovers everything from the 401 it gets (WWW-Authenticate points to /.well-known/oauth-protected-resource). Plek is its own OAuth 2.1 authorization server: PKCE (S256) required, dynamic client registration (POST /oauth/register) and client ID metadata documents supported. The staff member signs in, picks the organisation and agrees to plek.read and optionally plek.write. Access tokens last an hour, refresh tokens 30 days and rotate. Connected apps show under Account and can be disconnected at any time.
  • API key. Send an organisation API key as Authorization: Bearer plek_live_…. The key's role decides what the tools may do. A read-only test key lists only the read tools.
npx @modelcontextprotocol/inspector --cli https://api.plekbooking.com/mcp --transport http \
  --header "Authorization: Bearer $PLEK_API_KEY" --method tools/list

Protocol

Streamable HTTP, POST only, JSON responses, no sessions. Both the current protocol revision and the 2025 revisions are supported (initialize negotiates). Tool results use the conventions of the API: times in the organisation's timezone with their offset, money as cents plus currency, nextCursor for the next page.

Tools

Read tools (listed when the role may read the data): get_organisation, list_locations, list_activities, list_series, list_sessions, get_session_attendees, list_bookings, list_hires, get_hire, export_setup, and more.

Write tools (need plek.write and the staff route's permission): plan_setup and apply_setup (bulk changes: a dry run that returns a plan, applied only after the user agrees), create_activity, update_activity, create_series, update_session, cancel_session, add_closure, set_booking_window and others. Changes that affect customers preview what happens until called again with confirm: true. The MCP server never moves money: refunds stay in the admin app.

Every write is recorded in the organisation's audit log as done by the staff member "via MCP". MCP calls have their own rate limit.