RotaCloud MCP by usefulapi
io.usefulapi/rotacloud · v1.2.1
Read RotaCloud shifts, attendance, leave, availability and payroll; create shifts and handle leave.
MCPremoteno credentialsJobs & HR
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 26 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 26 tools · 20 read, 6 write (incl. delete/pay)
Test call rotacloud_list_accounts: needs a key: HTTP 401 (1,063 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://rotacloud.usefulapi.io/mcpTools
26 tools listed at last check
rotacloud_list_accountsThe RotaCloud account(s) this API key belongs to: name, plan, time zone, employee count. GET /accounts.rotacloud_list_usersList 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_userOne employee by id. GET /users/{id}.rotacloud_list_locationsList locations (sites/branches) with address, time zone and managers. GET /locations.rotacloud_list_rolesList job roles (positions) with colour, default break and pay rate. GET /roles.rotacloud_list_shiftsList 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_shiftOne shift by id. GET /shifts/{id}.rotacloud_list_swap_requestsList shift swap requests with their status, the shifts and the users involved. GET /swap_requests.rotacloud_list_day_notesList day notes (notices pinned to rota dates, e.g. events or deliveries), optionally for one location. GET /day_notes.rotacloud_list_attendanceList time & attendance records (clock-in/out times, breaks, minutes late, hours, approval state) in a time range. GET /attendance.rotacloud_list_clocked_inWho is clocked in right now: user, location, role, clock-in time, minutes late and break state. GET /users_clocked_in.rotacloud_list_leaveList 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_requestsList leave requests awaiting a decision (and past ones): user, leave type, dates, half days, the employee's message. GET /leave_requests.rotacloud_get_leave_requestOne leave request by id, with the per-day breakdown. GET /leave_requests/{id}.rotacloud_list_leave_typesList leave types (Holiday, Sickness, Unpaid, ...) with id, short name and whether employees can request them. GET /leave_types.rotacloud_list_holiday_allowancesEvery employee's holiday allowance for a leave year (default and custom allowance, unit, carried over). GET /holiday_allowances/{year}.rotacloud_get_availabilityEmployees' availability per date in a range (available / unavailable times). GET /availability.rotacloud_list_days_offEmployees' scheduled days off per date in a range. GET /days_off.rotacloud_list_pay_periodsList pay periods overlapping a date range (id, name, start/end date, locked). GET /pay_periods.rotacloud_get_payrollPayroll 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 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: 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 so the assigned employees see them (and get notified). POST /shifts_published.rotacloud_create_leave_requestWRITE: 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 a pending leave request (it becomes booked leave and the employee is notified). POST /leave_requests/{id}/approve.rotacloud_deny_leave_requestWRITE: deny a pending leave request (the employee is notified). POST /leave_requests/{id}/deny.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/rotacloud)