When I Work MCP by usefulapi
RemoteAbout When I Work MCP by usefulapi
A hosted MCP server for accessing When I Work schedules and workforce records. It supports both read operations and changes to shifts and time-off requests, with credentials entered during sign-in.
Key features
- 01Browse shifts, users, schedules, and clocked times
- 02Review time-off requests and shift swaps
- 03Check availability and shift eligibility
- 04Create, update, and publish shifts
- 05Create and manage time-off requests
Use cases
- 01Review staff schedules and timesheets
- 02Check pending leave requests and shift swaps
- 03Adjust and publish upcoming shifts
MCP support
Exposes When I Work account, scheduling, time, and leave operations as tools for MCP clients. It is hosted and uses OAuth sign-in with the user's When I Work credentials.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://when-i-work.usefulapi.io/mcpclaude mcp add --transport http io-usefulapi-when-i-work https://when-i-work.usefulapi.io/mcp{"mcpServers":{"io-usefulapi-when-i-work":{"type":"http","url":"https://when-i-work.usefulapi.io/mcp"}}}Open in Cursor{"servers":{"io-usefulapi-when-i-work":{"type":"http","url":"https://when-i-work.usefulapi.io/mcp"}}}Open in VS Code{"mcpServers":{"io-usefulapi-when-i-work":{"type":"http","url":"https://when-i-work.usefulapi.io/mcp"}}}{"mcpServers":{"io-usefulapi-when-i-work":{"serverUrl":"https://when-i-work.usefulapi.io/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
21This tool takes no parameters.
Details
From the project READMEWhen I Work MCP by usefulapi
Use When I Work from Claude, Cursor, or any MCP client — check schedules, shifts, clocked times, time-off requests, shift swaps and availability, and create, publish or update shifts. Hosted, no local install: connect with your own When I Work credentials.
Live endpoint: https://when-i-work.usefulapi.io/mcp · Homepage: https://usefulapi.io/when-i-work
Connect
- Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste
https://when-i-work.usefulapi.io/mcp. - Claude Code:
claude mcp add --transport http when-i-work https://when-i-work.usefulapi.io/mcp, then run/mcpto log in. - VS Code: Add to VS Code.
- Cursor and other clients: add the URL as a remote MCP server:
{
"mcpServers": {
"when-i-work": {
"url": "https://when-i-work.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 When I Work credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/when-i-work/
On first connect you'll provide your When I Work developer key (W-Key), email and password, plus an optional workplace user id. They're validated, stored per-user, and scoped to you — no keys in config files.
Tools
| Tool | Type | What it does |
|---|---|---|
wheniwork_get_account | read | Get the account |
wheniwork_list_users | read | List users |
wheniwork_get_user | read | Get one user |
wheniwork_list_locations | read | List schedules (locations) |
wheniwork_list_positions | read | List positions |
wheniwork_list_shifts | read | List shifts |
wheniwork_get_shift | read | Get one shift |
wheniwork_list_eligible_users_for_shift | read | List users eligible for an open shift |
wheniwork_list_times | read | List clocked times (timesheets) |
wheniwork_list_time_off_requests | read | List time-off requests |
wheniwork_get_time_off_request | read | Get one time-off request |
wheniwork_list_time_off_types | read | List time-off types |
wheniwork_list_shift_swaps | read | List shift swaps and drops |
wheniwork_list_availability | read | List availability |
wheniwork_list_annotations | read | List schedule annotations |
wheniwork_create_shift | write | Create a shift |
wheniwork_update_shift | write | Update a shift |
wheniwork_publish_shifts | write | Publish shifts |
wheniwork_unpublish_shifts | write | Unpublish shifts |
wheniwork_create_time_off_request | write | Create a time-off request |
wheniwork_update_time_off_request | write | Approve, deny or change a time-off request |
wheniwork_usage_status | meta | Usage status (free-tier meter) |
wheniwork_request_feature | meta | Request a missing feature |
wheniwork_upgrade | meta | Upgrade to Pro (unlimited*) |
wheniwork_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.
Pricing
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro (per user) | $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 [email protected].
Pro covers this server only. Subscribe with wheniwork_upgrade (it returns a Stripe Checkout link). Cancel any time with wheniwork_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running wheniwork_upgrade before then undoes the cancel. Or write to [email protected].
License
MIT © usefulapi. Not affiliated with or endorsed by When I Work.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.