Manage employee shifts, leave, attendance and payroll from RotaCloud
Read and manage RotaCloud rotas: view shifts, attendance, leave requests, availability and payroll data. Create shifts, approve or deny leave requests, and publish schedules to employees.
Try asking Muse: "Show me who's clocked in right now and approve the pending leave request from Sarah for next week"
Source: Found in the official MCP Registry (io.usefulapi/rotacloud) · First listed October 29, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 1 h ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
https://rotacloud.usefulapi.io/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
RotaCloud MCP is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.
In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).
Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.
Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.
Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.
Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT
In Claude, open Settings, then Connectors.
Choose Add custom connector, give it a name, and paste the link.
If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.
Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude
https://rotacloud.usefulapi.io/mcpResponse time at the last check: 1956ms. Worked in 100% of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
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_find_shiftsFind 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 shorotacloud_delete_shiftsWRITE — 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 confirmrotacloud_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.https://rotacloud.usefulapi.io/mcpNot in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use RotaCloud MCP to help me. It is a free service with an MCP server at https://rotacloud.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
At the last check (October 29, 2026, 10:31 UTC) the endpoint was working, answering in 1956ms. Over the last 7 days it answered 100% of health checks. It is checked every 15 minutes.
It was screened on October 29, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 28 tools, including rotacloud_list_accounts, rotacloud_list_users, rotacloud_get_user, rotacloud_list_locations. For example, you could ask Muse: "Show me who's clocked in right now and approve the pending leave request from Sarah for next week"
This listing was added from public sources (Found in the official MCP Registry (io.usefulapi/rotacloud)). If you build RotaCloud MCP, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/rotacloud-mcp"><img src="https://musedirectory.ai/badge/rotacloud-mcp.svg" alt="RotaCloud MCP on musedirectory.ai" width="236" height="40"></a>