Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read RotaCloud shifts, attendance, leave, availability and payroll; create shifts and handle leave.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://rotacloud.usefulapi.io/mcpRun this in your terminal
claude mcp add --transport http rotacloud https://rotacloud.usefulapi.io/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"rotacloud": {
"url": "https://rotacloud.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"rotacloud": {
"type": "http",
"url": "https://rotacloud.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://rotacloud.usefulapi.io/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
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 sho
rotacloud_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 confirm
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.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain usefulapi.io (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 380 ms (HTTP 200)
No sign-in needed
Read 28 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.27.3) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Use RotaCloud from Claude, Cursor, or any MCP client — read RotaCloud shifts, attendance, leave, availability and payroll; create shifts and handle leave. Hosted, no local install: connect with your own RotaCloud credentials.
Live endpoint: https://rotacloud.usefulapi.io/mcp · Homepage: https://usefulapi.io/rotacloud
https://rotacloud.usefulapi.io/mcp.claude mcp add --transport http rotacloud https://rotacloud.usefulapi.io/mcp, then run /mcp to log in.{
"mcpServers": { "rotacloud": { "url": "https://rotacloud.usefulapi.io/mcp" } } }
Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your RotaCloud credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/rotacloud/
On first connect you'll provide your RotaCloud API key. Your credentials are validated, stored per-user, and scoped to you — no keys in config files.
| Tool | Type | What it does |
|---|---|---|
rotacloud_list_accounts | read | List accounts |
rotacloud_list_users | read | List users |
rotacloud_get_user | read | Get user |
rotacloud_list_locations | read | List locations |
rotacloud_list_roles | read | List roles |
rotacloud_list_shifts | read | List shifts |
rotacloud_get_shift | read | Get shift |
rotacloud_list_swap_requests | read | List shift swap requests |
rotacloud_list_day_notes | read | List day notes |
rotacloud_list_attendance | read | List attendance records |
rotacloud_list_clocked_in | read | List clocked-in users |
rotacloud_list_leave | read | List leave |
rotacloud_list_leave_requests | read | List leave requests |
rotacloud_get_leave_request | read | Get leave request |
rotacloud_list_leave_types | read | List leave types |
rotacloud_list_holiday_allowances | read | List holiday allowances |
rotacloud_get_availability | read | Get availability |
rotacloud_list_days_off | read | List days off |
rotacloud_list_pay_periods | read | List pay periods |
rotacloud_get_payroll | read | Get payroll for a pay period |
rotacloud_create_shift | write | Create shift |
rotacloud_update_shift | write | Update shift |
rotacloud_publish_shifts | write | Publish shifts |
rotacloud_find_shifts | read | Find shifts |
rotacloud_delete_shifts | write | Delete shifts |
rotacloud_create_leave_request | write | Request leave |
rotacloud_approve_leave_request | write | Approve leave request |
rotacloud_deny_leave_request | write | Deny leave request |
rotacloud_usage_status | meta | Usage status (free-tier meter) |
rotacloud_request_feature | meta | Request a missing feature |
rotacloud_upgrade | meta | Upgrade to Pro or Pro+ |
rotacloud_cancel_subscription | meta | Cancel the Pro subscription |
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro (per account) | $9/mo or $90/yr (2 months free) | Unlimited* |
\*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to support@usefulapi.io.
Pro covers this 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 support@usefulapi.io.
MIT © usefulapi. Not affiliated with or endorsed by RotaCloud.