RotaCloud MCP server

Read RotaCloud shifts, attendance, leave, availability and payroll; create shifts and handle leave. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://rotacloud.usefulapi.io/mcp
  3. Authenticate with RotaCloud when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "rotacloud": {
      "url": "https://rotacloud.usefulapi.io/mcp"
    }
  }
}
live29 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 29

ToolTypeWhat it does
rotacloud_list_accountsread
List accounts
The RotaCloud account(s) this API key belongs to: name, plan, time zone, employee count. GET /accounts.
rotacloud_list_usersread
List users
List employees (users) with their level, roles, locations, contact details and pay settings. Use it to map user ids in shifts, leave and attendance to names. GET /users.
rotacloud_get_userread
Get user
One employee by id. GET /users/{id}.
rotacloud_list_locationsread
List locations
List locations (sites/branches) with address, time zone and managers. GET /locations.
rotacloud_list_rolesread
List roles
List job roles (positions) with colour, default break and pay rate. GET /roles.
rotacloud_list_shiftsread
List shifts
List rota shifts in a time range: start/end times (Unix seconds), break, assigned user (null = open shift), location, role, notes, published and acknowledged state. Filter by users, locations, roles, open or published. GET /shifts.
rotacloud_get_shiftread
Get shift
One shift by id. GET /shifts/{id}.
rotacloud_list_swap_requestsread
List shift swap requests
List shift swap requests with their status, the shifts and the users involved. GET /swap_requests.
rotacloud_list_day_notesread
List day notes
List day notes (notices pinned to rota dates, e.g. events or deliveries), optionally for one location. GET /day_notes.
rotacloud_list_attendanceread
List attendance records
List time & attendance records (clock-in/out times, breaks, minutes late, hours, approval state) in a time range. GET /attendance.
rotacloud_list_clocked_inread
List clocked-in users
Who is clocked in right now: user, location, role, clock-in time, minutes late and break state. GET /users_clocked_in.
rotacloud_list_leaveread
List leave
List booked leave (holiday, sickness, etc.) with type, user, dates, hours and status. Filter by date range or leave year, users and leave types; pending/denied/expired requests are excluded unless asked for. GET /leave.
rotacloud_list_leave_requestsread
List leave requests
List leave requests awaiting a decision (and past ones): user, leave type, dates, half days, the employee's message. GET /leave_requests.
rotacloud_get_leave_requestread
Get leave request
One leave request by id, with the per-day breakdown. GET /leave_requests/{id}.
rotacloud_list_leave_typesread
List leave types
List leave types (Holiday, Sickness, Unpaid, ...) with id, short name and whether employees can request them. GET /leave_types.
rotacloud_list_holiday_allowancesread
List holiday allowances
Every employee's holiday allowance for a leave year (default and custom allowance, unit, carried over). GET /holiday_allowances/{year}.
rotacloud_get_availabilityread
Get availability
Employees' availability per date in a range (available / unavailable times). GET /availability.
rotacloud_list_days_offread
List days off
Employees' scheduled days off per date in a range. GET /days_off.
rotacloud_list_pay_periodsread
List pay periods
List pay periods overlapping a date range (id, name, start/end date, locked). GET /pay_periods.
rotacloud_get_payrollread
Get payroll for a pay period
Payroll for one pay period, per employee: pay settings, attendance worked, paid/unpaid leave, overtime and pay totals. Contains pay data. GET /pay_periods/{id}/payroll.
rotacloud_create_shiftwrite
Create shift
WRITE: create a shift on the rota. Leave user_id out for an open shift. Unpublished by default (employees see it once published). POST /shifts.
rotacloud_update_shiftwrite
Update shift
WRITE: change a shift's times, assignee, location, role, break, notes or published state. Only the fields you pass change. POST /shifts/{id}.
rotacloud_publish_shiftswrite
Publish shifts
WRITE: publish shifts so the assigned employees see them (and get notified). POST /shifts_published.
rotacloud_create_leave_requestwrite
Request leave
WRITE: submit a leave request on behalf of an employee (sent as that user, for a manager to approve). POST /leave_requests with the User header.
rotacloud_approve_leave_requestwrite
Approve leave request
WRITE: approve a pending leave request (it becomes booked leave and the employee is notified). POST /leave_requests/{id}/approve.
rotacloud_deny_leave_requestwrite
Deny leave request
WRITE: deny a pending leave request (the employee is notified). POST /leave_requests/{id}/deny.
rotacloud_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
rotacloud_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED RotaCloud tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Does not count against the meter.
rotacloud_cancel_subscriptionmeta
Cancel the Pro subscription
Cancel the caller's RotaCloud Pro subscription at the end of the paid period (no refund for the current period; unlimited calls continue until then, then the free tier applies). Requires confirm: true. Run rotacloud_upgrade later to undo the cancel before the period ends. Does not count against the meter.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper account$9/mo · $90/yrUnlimited

Pro covers this RotaCloud server only. Subscribe with rotacloud_upgrade (it returns a Stripe Checkout link). Cancel any time with rotacloud_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running rotacloud_upgrade before then undoes the cancel. Or write to [email protected].

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.

More Business Operations MCP servers

Beds24BoulevardBuildiumConnecteamCurrent RMSDeputyFilloutFormbricksFormstackGingrHostfullyHousecall ProKickservOfficeRnDRecruiteeShiftbaseShopmonkeySmoobuSortlyTalentLMSTeachworksWhen I WorkWorkizWufoo

All Business Operations servers →