mcpbeat Sign in

When I Work MCP by usefulapi MCP Server

answering

When I Work MCP by usefulapi is answering right now. Last checked 1 min ago. It exposes 21 tools. Last commit 10 Oct 2026.

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

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

What changed 8

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

9 Oct a tool changed version4 times that day
8 Oct a tool changed version2 times that day
7 Oct a tool changed version
1 Oct a tool changed version
and 4 more, back to 1 October 2026

Nothing serious here today

Today is the operative word: we check When I Work 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 1 min ago.

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

Available tools 21

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

wheniwork
wheniwork_create_shift
Create one shift on a schedule — assigned to a user, or open (user_id 0). Created as a draft unless published is true. Undo by editing it or unpublishing. When I Work: POST /2/shifts.
wheniwork_create_time_off_request
Create a time-off request for a user (default the calling user). It starts pending; cancel it with wheniwork_update_time_off_request (status 1). Get type ids from wheniwork_list_time_off_types. When I Work: POST /2/requests.
wheniwork_get_account
Fetch the When I Work account (workplace) the token acts on — company name, plan and settings; for a parent account also its child accounts. A cheap way to confirm the credentials work. When I Work: GET /2/account.
wheniwork_get_shift
Fetch one shift by id, including its breaks and publish state. When I Work: GET /2/shifts/{id}.
wheniwork_get_time_off_request
Fetch one time-off request by id, with its message thread and users. When I Work: GET /2/requests/{request_id}.
wheniwork_get_user
Fetch one user by id — name, email, role, positions, schedules, wage. When I Work: GET /2/users/{id}.
wheniwork_list_annotations
List schedule annotations — announcements, business-closed days and blackout dates when time off is not allowed. Defaults to today through one year out. When I Work: GET /2/annotations.
wheniwork_list_availability
List availability events — when people said they can or cannot work, including recurring patterns that fall in the window. Defaults to the caller, from now to two weeks out. When I Work: GET /2/availabilityevents.
wheniwork_list_eligible_users_for_shift
Find who could take an open shift — either an existing shift (shift_id) or a hypothetical one (start, end, position_id and location_id all required). When I Work: GET /2/shifts/eligible.
wheniwork_list_locations
List the schedules in the account. The API calls a schedule a "location"; its id is the location_id every shift belongs to. When I Work: GET /2/locations.
wheniwork_list_positions
List the positions (job roles such as Cashier or Dishwasher) in the account. When I Work: GET /2/positions.
wheniwork_list_shift_swaps
List shift requests: swaps, drops and alerts, with the shifts and users involved. Status: 0 pending, 1 approved, 2 declined, 3 completed, 4 canceled, 5 expired. Type: 1 swap, 2 drop, 3 alert. start and end must be given together. When I Work: GET /2/swaps.
wheniwork_list_shifts
List scheduled shifts in a time window — who works when, where and in which position — optionally including open shifts and unpublished drafts. Answers "who is on on Friday?" and "what open shifts are left?". When I Work: GET /2/shifts.
wheniwork_list_time_off_requests
List time-off requests in a date range, with the requesting users. Status: 0 pending, 1 canceled, 2 accepted, 3 expired, 4 denied. When I Work: GET /2/requests.
wheniwork_list_time_off_types
List the time-off types (e.g. Personal, Sick, Holiday) and whether each allows paid time. Their ids are the type_id for a new request. When I Work: GET /2/requesttypes.
wheniwork_list_times
List clocked time entries — actual hours worked, clock-in/out times, length and approval state. Use only_open to see who is clocked in right now. When I Work: GET /2/times.
wheniwork_list_users
List the employees, supervisors, managers and admins in the account, optionally limited to some schedules or searched by name/email. Role codes: 1 admin, 2 manager, 3 employee, 5 supervisor. When I Work: GET /2/users.
wheniwork_publish_shifts
Publish draft shifts so employees can see them. Publishing does not itself send notifications. Undo with wheniwork_unpublish_shifts. When I Work: POST /2/shifts/publish.
wheniwork_unpublish_shifts
Return published shifts to draft, hiding them from employees. Undo with wheniwork_publish_shifts. When I Work: POST /2/shifts/unpublish.
wheniwork_update_shift
Change a shift — reassign it, move it, change position or notes. When I Work requires start_time, end_time and location_id on every update, so fetch the shift first and pass them back. This tool never sends a breaks array; When I Work documents that breaks omitted from an update's breaks list are removed, so re-check the shift's breaks afterwards. When I Work: PUT /2/shifts/{id}.
wheniwork_update_time_off_request
Change a time-off request: set its status (0 pending, 1 canceled, 2 accepted/approved, 3 expired, 4 denied) and/or its dates or hours. Reversible — set the status back. start_time and end_time must be given together. When I Work: PUT /2/requests/{request_id}.

Endpoints

URLTransportStateLatencyChecked
https://when-i-work.usefulapi.io/mcp streamable-http answering 75 ms 1 min ago

Alternatives to When I Work MCP by usefulapi

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

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

21 tools answering
Checkfront MCP by usefulapi
by usefulapi

Check Checkfront availability and rates, and manage booking sessions, bookings, customers and notes.

20 tools answering
Shiftbase MCP by usefulapi
by usefulapi

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

22 tools answering
Connecteam MCP by usefulapi
by usefulapi

Read Connecteam users, shifts, time clock, jobs, time off, tasks and forms; create shifts and tasks.

19 tools answering
Clockify MCP by usefulapi
by usefulapi

Track time in Clockify: time entries, projects, clients, tags and reports; start, stop and log time.

21 tools answering
Smoobu MCP by usefulapi
by usefulapi

Check vacation-rental reservations, rates, availability and guest messages, and update bookings.

20 tools answering
Homebase MCP by usefulapi
by usefulapi

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

16 tools answering
Tick MCP by usefulapi
by usefulapi

Read Tick clients, projects, tasks, users and time entries; log and edit time entries.

14 tools answering

When I Work MCP by usefulapi — questions

Answers built from our own checks of this server.

What can When I Work MCP by usefulapi do?
It exposes 21 tools, read directly from the server on our last check. Among them: wheniwork_create_shift, wheniwork_create_time_off_request, wheniwork_get_account, wheniwork_get_shift, wheniwork_get_time_off_request, wheniwork_get_user and 15 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 When I Work 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 109 ms. The bar chart above shows every period we have measured.
How do I connect When I Work 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 When I Work MCP by usefulapi need an API key?
No. When I Work MCP by usefulapi completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 21 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is When I Work MCP by usefulapi?
It answers our handshake in 109 ms on average, which is faster than 82% 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 When I Work 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.