原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

When I Work MCP by usefulapi

作者:m190版本 1.35.3i★ –i在云端运行
注册名称io.usefulapi/when-i-work

安装

概览

作者提供的说明(英文原文)

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

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://when-i-work.usefulapi.io/mcp

在终端中运行这条命令

claude mcp add --transport http when-i-work https://when-i-work.usefulapi.io/mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "when-i-work": {
      "url": "https://when-i-work.usefulapi.io/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "when-i-work": {
      "type": "http",
      "url": "https://when-i-work.usefulapi.io/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://when-i-work.usefulapi.io/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • 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_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_get_user

    Fetch one user by id — name, email, role, positions, schedules, wage. When I Work: GET /2/users/{id}.

  • 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_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_get_shift

    Fetch one shift by id, including its breaks and publish state. When I Work: GET /2/shifts/{id}.

  • 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_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_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_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_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_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_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_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_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_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'

  • 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_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_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}.

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 usefulapi.io 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 193 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✓ 通过

    工具描述中没有隐藏指令

    已读取 21 个工具描述,未发现针对 AI 的隐藏指令

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32403 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32403 个服务器的 97% 更新
  • 基础检查结果等于或优于此分类中其他 32403 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

When I Work MCP by usefulapi 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.35.3)于昨天进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, LickityClick

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

LickityClick

作者:lickity.click

Create, edit and track LickityClick short links, campaigns and click stats from your AI assistant.

电脑或云端今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

When 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 /mcp to 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

ToolTypeWhat it does
wheniwork_get_accountreadGet the account
wheniwork_list_usersreadList users
wheniwork_get_userreadGet one user
wheniwork_list_locationsreadList schedules (locations)
wheniwork_list_positionsreadList positions
wheniwork_list_shiftsreadList shifts
wheniwork_get_shiftreadGet one shift
wheniwork_list_eligible_users_for_shiftreadList users eligible for an open shift
wheniwork_list_timesreadList clocked times (timesheets)
wheniwork_list_time_off_requestsreadList time-off requests
wheniwork_get_time_off_requestreadGet one time-off request
wheniwork_list_time_off_typesreadList time-off types
wheniwork_list_shift_swapsreadList shift swaps and drops
wheniwork_list_availabilityreadList availability
wheniwork_list_annotationsreadList schedule annotations
wheniwork_create_shiftwriteCreate a shift
wheniwork_update_shiftwriteUpdate a shift
wheniwork_publish_shiftswritePublish shifts
wheniwork_unpublish_shiftswriteUnpublish shifts
wheniwork_create_time_off_requestwriteCreate a time-off request
wheniwork_update_time_off_requestwriteApprove, deny or change a time-off request
wheniwork_usage_statusmetaUsage status (free-tier meter)
wheniwork_request_featuremetaRequest a missing feature
wheniwork_upgrademetaUpgrade to Pro or Pro+
wheniwork_cancel_subscriptionmetaCancel 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

PlanPriceLimit
Free$050 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.

License

MIT © usefulapi. Not affiliated with or endorsed by When I Work.

问 PopNx