mcpbeat Sign in

Shiftbase MCP by usefulapi MCP Server

answering

Shiftbase MCP by usefulapi is answering right now. Last checked 8 min ago. It exposes 22 tools. Last commit 10 Oct 2026.

Read Shiftbase rosters, timesheets, absences and availability; schedule shifts and review absences.

Uptime history 4 days of history
4 days agonow
100.0%
Uptime 24h
92 of 92 checks
22
Tools
read from the server
97 ms
Response time
average over 24h
0
Stars
last commit 10 Oct 2026

What changed 4

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 9 October 2026. No other catalogue keeps this.

9 Oct a tool changed version4 times that day
and 3 more, back to 9 October 2026

Nothing serious here today

Today is the operative word: we check Shiftbase MCP by usefulapi every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add shiftbase --transport http https://shiftbase.usefulapi.io/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "shiftbase": {
      "url": "https://shiftbase.usefulapi.io/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.shiftbase]
url = "https://shiftbase.usefulapi.io/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "shiftbase": {
      "url": "https://shiftbase.usefulapi.io/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "shiftbase": {
      "url": "https://shiftbase.usefulapi.io/mcp"
    }
  }
}

Available tools 22

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

shiftbase
shiftbase_create_roster
WRITE: put one employee on the schedule for one date (a single, non-recurring shift) in a team, with a shift type, start/end time and break. The employee is notified only when notify is true. POST /rosters.
shiftbase_get_absence
One absence by id, with the per-day hours and who reviewed it. GET /absentees/{absenteeId}.
shiftbase_get_account
The Shiftbase account this API key belongs to: company, country, time zone, working-day start/end, plan facts. GET /accounts.
shiftbase_get_availability
Employee availability (available / unavailable, all day or from a time) for a date range of at most 62 days, from Shiftbase's availability report. Needs the Basic plan and the "View reports" permission. POST /reports/availability (export json; reads only).
shiftbase_get_expected_absence_hours
How many hours an absence would cost for an employee, per day and in total (from the schedule or the contract, per the absence policy), for a period of at most 366 days. Changes nothing. POST /absentees/expected.
shiftbase_get_roster
One scheduled shift by its occurrence_id, with the employee, shift type, team and who created/changed it. GET /rosters/{occurrenceId}.
shiftbase_get_timesheet
One timesheet by id, with its clocked breaks. GET /timesheets/{timesheetId}.
shiftbase_get_user
One employee by user id or email address, with teams and departments. GET /users/{identifier}.
shiftbase_list_absence_types
List absence types (e.g. Holiday, Sick, Unpaid leave): name, unit (hours or days), whether it costs leave hours, colour. Their ids are the absence_type_id for absences. GET /absentee_options.
shiftbase_list_absences
List absences (leave, sick leave, other time off) overlapping a date range of at most 366 days: employee, absence type, start/end date, hours or days, status Approved/Declined/Pending and who reviewed it. Needs the Basic plan. GET /absentees.
shiftbase_list_clocked_in
Who is clocked in right now: employee, since when, their scheduled shift, team, department and location. GET /timesheets/clock.
shiftbase_list_departments
List departments (sites/branches that own teams, shifts and schedules) with address and timesheet/clocking settings. GET /departments.
shiftbase_list_locations
List active locations (addresses that group departments). GET /locations.
shiftbase_list_open_shifts
List open (unassigned) shifts that employees can pick up, for a date range of at most 62 days (default: today). Needs the Basic plan or higher. GET /open_shifts.
shiftbase_list_rosters
List the schedule (rosters = shifts assigned to employees) for a date range of at most 62 days: date, start/end time, break, employee, team, shift type, department, published state, hours and cost. Each item's occurrence_id identifies it for shiftbase_get_roster and shiftbase_update_roster. GET /rosters.
shiftbase_list_shift_types
List shift types (the templates a scheduled shift uses: name, short name, default start/end time and break), optionally for one department. Their ids are the shift_id for shiftbase_create_roster. GET /shifts.
shiftbase_list_teams
List teams (the rows of the schedule within a department), optionally for one department. GET /teams.
shiftbase_list_timesheets
List timesheets (worked hours: clock in/out, breaks, total, status Approved/Declined/Pending, wage and surcharges) for a date range of at most 62 days. GET /timesheets.
shiftbase_list_users
List employees (users) with their teams and departments, contact details, employee number, start/end dates and plus-min hours balance. Use it to map user ids in schedules, timesheets and absences to names. Identity, bank and birth data are never returned. GET /users.
shiftbase_request_absence
WRITE: add an absence (leave/time-off request) for an employee. By default it is a Pending request for a manager to review; status Approved books it directly (needs the approve-absence permission). The hours per day come from Shiftbase's own expected-hours calculation (the same as shiftbase_get_expected_absence_hours). Needs the Basic plan. POST /absentees.
shiftbase_review_absence
WRITE: approve or decline an absence request. Reads the absence first and sends it back unchanged except for the status (needs the approve-absence permission). PUT /absentees/{absenteeId}.
shiftbase_update_roster
WRITE: change a scheduled shift: move it to another date, time, employee, team or shift type, or change its break or note. Reads the shift first and sends it back with your changes. For a recurring shift, scope says what changes: "occurrence" (this date only), "sequence" (this date and all later ones) or "original" (the whole series; also the right scope for a non-recurring shift). PUT /rosters/{occurrenceId}/{scope}.

Endpoints

URLTransportStateLatencyChecked
https://shiftbase.usefulapi.io/mcp streamable-http answering 71 ms 8 min ago

Alternatives to Shiftbase MCP by usefulapi

same job, measured the same way
Deputy MCP by usefulapi
by usefulapi

See rosters, timesheets, leave and staff in Deputy, and create shifts, leave and memos.

21 tools answering
RotaCloud MCP by usefulapi
by usefulapi

Read RotaCloud shifts, attendance, leave, availability and payroll; create shifts and handle leave.

26 tools answering
Acuity Scheduling MCP by usefulapi
by usefulapi

Read appointments, types, calendars and availability; create, cancel or reschedule bookings.

18 tools answering
When I Work MCP by usefulapi
by usefulapi

Check shifts, time clock entries, time-off requests, swaps and availability, and manage shifts.

21 tools answering
Bookeo MCP by usefulapi
by usefulapi

Check Bookeo availability and manage bookings, holds and customers; read payments.

21 tools answering
Breathe HR MCP by usefulapi
by usefulapi

Read Breathe HR employees, absences, sickness and leave; create and review leave requests.

25 tools answering
Nookal MCP by usefulapi
by usefulapi

Read Nookal locations, practitioners, availability, appointments, clients, cases and invoices.

11 tools answering
Homebase MCP by usefulapi
by usefulapi

Read Homebase locations, employees, shifts, timecards, labor costs and time clock status.

16 tools answering

Shiftbase MCP by usefulapi — questions

Answers built from our own checks of this server.

What can Shiftbase MCP by usefulapi do?
It exposes 22 tools, read directly from the server on our last check. Among them: shiftbase_create_roster, shiftbase_get_absence, shiftbase_get_account, shiftbase_get_availability, shiftbase_get_expected_absence_hours, shiftbase_get_roster and 16 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Shiftbase MCP by usefulapi working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 97 ms. The bar chart above shows every period we have measured.
How do I connect Shiftbase MCP by usefulapi?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Shiftbase MCP by usefulapi need an API key?
No. Shiftbase MCP by usefulapi completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 22 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Shiftbase MCP by usefulapi?
It answers our handshake in 97 ms on average, which is faster than 86% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Shiftbase MCP by usefulapi open source?
Yes — it is published under the MIT licence, written in JavaScript, 0 stars on GitHub and 1 open issue. The source link is on this page, so you can read exactly what it does with your data before you connect it.