MCP server
RotaCloud MCP by usefulapi
io.usefulapi/rotacloud
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
Read RotaCloud shifts, attendance, leave, availability and payroll; create shifts and handle leave.
Working at last checkVerified publisher: usefulapi.ioAbout 7,868 tokens per request once connected28 tools1 new tool added 25 Oct
https://rotacloud.usefulapi.io/mcp
At a glance
- Type
- MCP server
- Publisher
- usefulapi.io (verified by the MCP Registry)
- Status
- Working at last check
- Tools
- 28
- Token cost
- About 7,868 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http rotacloud https://rotacloud.usefulapi.io/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.rotacloud] url = "https://rotacloud.usefulapi.io/mcp"
Gemini CLI
{"mcpServers":{"rotacloud":{"httpUrl":"https://rotacloud.usefulapi.io/mcp"}}}
Cursor
{"mcpServers":{"rotacloud":{"url":"https://rotacloud.usefulapi.io/mcp"}}}
VS Code
{"servers":{"rotacloud":{"type":"http","url":"https://rotacloud.usefulapi.io/mcp"}}}
Antigravity
agy mcp add rotacloud https://rotacloud.usefulapi.io/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"rotacloud","server_url":"https://rotacloud.usefulapi.io/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"rotacloud","server_url":"https://rotacloud.usefulapi.io/mcp"}
Tools
rotacloud_approve_leave_request~150 tokens
WRITE: approve a pending leave request (it becomes booked leave and the employee is notified). POST /leave_requests/{id}/approve.rotacloud_create_leave_request~353 tokens
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_create_shift~442 tokens
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_delete_shiftsDeletes data · ~396 tokens
WRITE — deletes shifts from the rota (assigned employees lose the shift). Delete 1-100 shifts by id; select them first with rotacloud_find_shifts. Without confirm it only previews: it reads each shift and deletes nothing. Show the preview to the user, then call again with confirm: true. Guards re-chrotacloud_deny_leave_request~141 tokens
WRITE: deny a pending leave request (the employee is notified). POST /leave_requests/{id}/deny.rotacloud_find_shifts~807 tokens
Find shifts in a time range by open/assigned state, published state, location, role and ELAPSED duration (end − start; the break is not subtracted). It reads page after page, so it is the way to select shifts for a bulk change such as rotacloud_delete_shifts: e.g. open shifts shorter than 3 hours =rotacloud_get_availability~270 tokens
Employees' availability per date in a range (available / unavailable times). GET /availability.rotacloud_get_leave_request~108 tokens
One leave request by id, with the per-day breakdown. GET /leave_requests/{id}.rotacloud_get_payroll~236 tokens
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_get_shift~93 tokens
One shift by id. GET /shifts/{id}.rotacloud_get_user~92 tokens
One employee by id. GET /users/{id}.rotacloud_list_accounts~167 tokens
The RotaCloud account(s) this API key belongs to: name, plan, time zone, employee count. GET /accounts.rotacloud_list_attendance~511 tokens
List time & attendance records (clock-in/out times, breaks, minutes late, hours, approval state) in a time range. GET /attendance.rotacloud_list_clocked_in~172 tokens
Who is clocked in right now: user, location, role, clock-in time, minutes late and break state. GET /users_clocked_in.rotacloud_list_day_notes~266 tokens
List day notes (notices pinned to rota dates, e.g. events or deliveries), optionally for one location. GET /day_notes.rotacloud_list_days_off~261 tokens
Employees' scheduled days off per date in a range. GET /days_off.rotacloud_list_holiday_allowances~212 tokens
Every employee's holiday allowance for a leave year (default and custom allowance, unit, carried over). GET /holiday_allowances/{year}.rotacloud_list_leave~472 tokens
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_requests~201 tokens
List leave requests awaiting a decision (and past ones): user, leave type, dates, half days, the employee's message. GET /leave_requests.rotacloud_list_leave_types~175 tokens
List leave types (Holiday, Sickness, Unpaid, ...) with id, short name and whether employees can request them. GET /leave_types.rotacloud_list_locations~225 tokens
List locations (sites/branches) with address, time zone and managers. GET /locations.rotacloud_list_pay_periods~231 tokens
List pay periods overlapping a date range (id, name, start/end date, locked). GET /pay_periods.rotacloud_list_roles~220 tokens
List job roles (positions) with colour, default break and pay rate. GET /roles.rotacloud_list_shifts~590 tokens
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_list_swap_requests~191 tokens
List shift swap requests with their status, the shifts and the users involved. GET /swap_requests.rotacloud_list_users~292 tokens
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_publish_shiftsSends messages · ~132 tokens
WRITE: publish shifts so the assigned employees see them (and get notified). POST /shifts_published.rotacloud_update_shift~462 tokens
WRITE: change a shift's times, assignee, location, role, break, notes or published state. Only the fields you pass change. POST /shifts/{id}.
Related MCP servers
- Tamigo MCP by usefulapi
Read Tamigo departments, employees, shifts, absences and opening hours; register attendance. - Deputy MCP by usefulapi
See rosters, timesheets, leave and staff in Deputy, and create shifts, leave and memos. - Shiftbase MCP by usefulapi
Read Shiftbase rosters, timesheets, absences and availability; schedule shifts and review absences. - Employment Hero Payroll MCP by usefulapi
Read Employment Hero Payroll pay runs, payslips, timesheets and leave; approve or decline leave. - Papershift MCP by usefulapi
Read Papershift absences, vacation, time tracking and shifts; request and review absences. - Boulevard MCP by usefulapi
Look up appointments, clients, services, staff and orders, and update clients in Boulevard. - PaySpace MCP by usefulapi
Read PaySpace employees, organization, payroll runs, payslips and leave records. Read-only. - When I Work MCP by usefulapi
Check shifts, time clock entries, time-off requests, swaps and availability, and manage shifts.
Badge for your README
[](https://aptlynx.net/servers/io.usefulapi/rotacloud)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents