io.usefulapi/shiftbase
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
Shiftbase MCP by usefulapi
Publisher-provided description
Read Shiftbase rosters, timesheets, absences and availability; schedule shifts and review absences.
Summary by lookupd
Read and manage Shiftbase rosters, timesheets, absences and availability; create shifts and approve or decline absence requests.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http shiftbase https://shiftbase.usefulapi.io/mcp
Codex, remote (streamable-http)
codex mcp add shiftbase --url https://shiftbase.usefulapi.io/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"shiftbase": {
"url": "https://shiftbase.usefulapi.io/mcp"
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (22 tools)
Publisher-provided text
shiftbase_get_accountThe Shiftbase account this API key belongs to: company, country, time zone, working-day start/end, plan facts. GET /accounts.shiftbase_list_usersList 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 inshiftbase_get_userOne employee by user id or email address, with teams and departments. GET /users/{identifier}.shiftbase_list_departmentsList departments (sites/branches that own teams, shifts and schedules) with address and timesheet/clocking settings. GET /departments.shiftbase_list_teamsList teams (the rows of the schedule within a department), optionally for one department. GET /teams.shiftbase_list_locationsList active locations (addresses that group departments). GET /locations.shiftbase_list_shift_typesList 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 shshiftbase_list_rostersList 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, departmshiftbase_get_rosterOne scheduled shift by its occurrence_id, with the employee, shift type, team and who created/changed it. GET /rosters/{occurrenceId}.shiftbase_list_open_shiftsList 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_shiftsshiftbase_get_availabilityEmployee 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 Basshiftbase_list_timesheetsList 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 /timshiftbase_get_timesheetOne timesheet by id, with its clocked breaks. GET /timesheets/{timesheetId}.shiftbase_list_clocked_inWho is clocked in right now: employee, since when, their scheduled shift, team, department and location. GET /timesheets/clock.shiftbase_list_absencesList 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 Apshiftbase_get_absenceOne absence by id, with the per-day hours and who reviewed it. GET /absentees/{absenteeId}.shiftbase_list_absence_typesList 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 ashiftbase_get_expected_absence_hoursHow 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 mostshiftbase_create_rosterWRITE: 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 notshiftbase_update_rosterWRITE: 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 bashiftbase_request_absenceWRITE: 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 (nshiftbase_review_absenceWRITE: approve or decline an absence request. Reads the absence first and sends it back unchanged except for the status (needs the approve-absence permission).
Details
- Version: 1.28.3
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 548 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/shiftbase/
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.usefulapi/shiftbase)
- 62071 servers
- Last crawl: 2026-11-11T16:39:06.253Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp