Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Check shifts, time clock entries, time-off requests, swaps and availability, and manage shifts.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://when-i-work.usefulapi.io/mcp在终端中运行这条命令
claude mcp add --transport http when-i-work https://when-i-work.usefulapi.io/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"when-i-work": {
"url": "https://when-i-work.usefulapi.io/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"when-i-work": {
"type": "http",
"url": "https://when-i-work.usefulapi.io/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://when-i-work.usefulapi.io/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
wheniwork_get_accountFetch 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_list_usersList 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_get_userFetch one user by id — name, email, role, positions, schedules, wage. When I Work: GET /2/users/{id}.
wheniwork_list_locationsList 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_positionsList the positions (job roles such as Cashier or Dishwasher) in the account. When I Work: GET /2/positions.
wheniwork_list_shiftsList 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_get_shiftFetch one shift by id, including its breaks and publish state. When I Work: GET /2/shifts/{id}.
wheniwork_list_eligible_users_for_shiftFind 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_timesList 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_time_off_requestsList 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_get_time_off_requestFetch one time-off request by id, with its message thread and users. When I Work: GET /2/requests/{request_id}.
wheniwork_list_time_off_typesList 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_shift_swapsList 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_availabilityList 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_annotationsList 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_create_shiftCreate 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_update_shiftChange 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'
wheniwork_publish_shiftsPublish 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_shiftsReturn published shifts to draft, hiding them from employees. Undo with wheniwork_publish_shifts. When I Work: POST /2/shifts/unpublish.
wheniwork_create_time_off_requestCreate 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_update_time_off_requestChange 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}.
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过域名 usefulapi.io 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 109 毫秒内响应(HTTP 200)
无需登录
已读取 21 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.36.3)于今天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, arr-mcp
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
One server, 40 tools, the whole media stack: *arrs, Jellyfin, Plex, Seerr, Cleanuparr, downloaders
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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
https://when-i-work.usefulapi.io/mcp.claude mcp add --transport http when-i-work https://when-i-work.usefulapi.io/mcp, then run /mcp to log in.{
"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.
| 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 or Pro+ |
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.
| 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 support@usefulapi.io.
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 support@usefulapi.io.
MIT © usefulapi. Not affiliated with or endorsed by When I Work.