View and manage employee schedules, timesheets, absences and availability in Shiftbase
Connects to Shiftbase workforce management. Read rosters, timesheets, absences and employee availability. Schedule shifts, request time off, and review absence requests. Requires Shiftbase account and appropriate permissions.
Try asking Muse: "Show me who is scheduled to work next week and let me know if anyone has requested time off."
Source: Found in the official MCP Registry (io.usefulapi/shiftbase) · 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://shiftbase.usefulapi.io/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
Shiftbase 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://shiftbase.usefulapi.io/mcpResponse time at the last check: 167ms. 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.
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 in schedules, timesheets and absences to names. Identity, bank and birth data are never returned. GET /users.shiftbase_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 shift_id for shiftbase_create_roster. GET /shifts.shiftbase_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, department, published state, hours and cost. Each item's occurrence_id identifies it for shiftbase_get_roster and shiftbase_updshiftbase_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_shifts.shiftbase_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 Basic plan and the "View reports" permission. POST /reports/availability (export json; reads only).shiftbase_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 /timesheets.shiftbase_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 Approved/Declined/Pending and who reviewed it. Needs the Basic plan. GET /absentees.shiftbase_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 absences. GET /absentee_options.shiftbase_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 most 366 days. Changes nothing. POST /absentees/expected.shiftbase_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 notified only when notify is true. POST /rosters.shiftbase_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 back with your changes. For a recurring shift, scope says what changes: "occurrence" (this date only), "sequence" (this dashiftbase_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 (needs the approve-absence permission). The hours per day come from Shiftbase's own expected-hours calculation (the same ashiftbase_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). PUT /absentees/{absenteeId}.https://shiftbase.usefulapi.io/mcpNot in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Shiftbase MCP to help me. It is a free service with an MCP server at https://shiftbase.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 167ms. 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 22 tools, including shiftbase_get_account, shiftbase_list_users, shiftbase_get_user, shiftbase_list_departments. For example, you could ask Muse: "Show me who is scheduled to work next week and let me know if anyone has requested time off."
This listing was added from public sources (Found in the official MCP Registry (io.usefulapi/shiftbase)). If you build Shiftbase 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/shiftbase-mcp"><img src="https://musedirectory.ai/badge/shiftbase-mcp.svg" alt="Shiftbase MCP on musedirectory.ai" width="236" height="40"></a>