Shiftyasan Shift Scheduling

com.shiftyasan由 shiftyasan.com 發布官方發布者v0.3.0更新於 Oct 24, 2026

Generate optimized work shift schedules from staffing demand, availability and fairness rules.

已驗證Streamable HTTP可網頁執行效率與工作流商業與電商

概覽

AI 產生的概覽

Shiftyasan MCP 伺服器讓助理驗證排班輸入並呼叫限制條件求解器,產生最佳化的工作班表。

可以做什麼
  • 依公開 API 結構驗證排班請求內容,不執行求解器
  • 執行求解器產生最佳化班表,中小型問題直接回傳結果,大型問題回傳作業 ID
  • 輪詢非同步求解作業,直到完成或失敗
  • 使用引導式提示詞逐項詢問使用者輸入,並以每人一列的方式呈現最終班表
適用情境
適合需要助理依人力需求、可用性與公平規則產生工作班表的場合,例如零售、餐飲或醫療團隊。若希望助理主動詢問輸入而非自行猜測,引導式提示詞特別有用。
執行需求
可使用託管的遠端端點,或本機 npm 套件(需要 Node.js 20 或更新版本)。需要 Shiftyasan 帳號,並透過 SHIFTYASAN_API_KEY 提供 API 金鑰;可選用 SHIFTYASAN_BASE_URL 覆寫 API 基礎位址。需要能連線至 Shiftyasan API 的網路。
安裝前請注意
API 金鑰是持有人憑證,可存取你的求解配額,應像密碼一樣保管。solve_shift 每次呼叫會消耗計量配額單位(公開測試期間免費,之後預計推出付費方案),驗證呼叫免費。部分結構欄位會被接受但求解器實際不會套用,請留意其顯示的警告。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Shiftyasan Shift Scheduling,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.shiftyasan%2Fmcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "shiftyasan-shift-scheduling": {
      "type": "http",
      "url": "https://api.shiftyasan.com/mcp"
    }
  }
}

README

@shiftyasan/mcp-server

[npm version] [License: MIT]

Model Context Protocol (MCP) server for the Shiftyasan public solver API. Lets AI agents (Claude Desktop, Cursor, Continue, etc.) call the shift-scheduling solver from any MCP-aware host.

Status: open beta — validate_shift_input, solve_shift, and get_solve_job (async polling for large problems). Usage queries (get_usage) coming next.


Most people no longer need this package

Shiftyasan now runs a remote MCP server, which is the recommended way to connect:

https://api.shiftyasan.com/mcp
Remote (recommended)This npm package
Node.jsnot needed20 or newer required
API keyissued automatically when you connectyou create and paste it yourself
Updatesserver-side, nothing to doyou update the package
Claude.ai (web) / ChatGPTworkscannot run a local process

Connecting from Claude.ai or ChatGPT opens a Shiftyasan sign-in page in your browser; approve it once and you are done. Revoke a connection any time from the dashboard under "Connected apps".

This package is still supported and existing setups keep working. Reach for it when you want the server to run locally — for example on a host that cannot reach the internet directly, or when you prefer to hold your own API key.

See the quickstart for the remote setup.


What is Shiftyasan?

Shiftyasan is a SaaS that auto-generates work shifts for businesses (retail, hospitality, healthcare, etc.) using a constraint-optimization engine. The same solver is exposed as a public HTTP API at https://api.shiftyasan.com/v1/public/*. This MCP server is a thin client wrapper that turns the API into discoverable tools for AI agents.

Developer documentation — quickstart, the full list of supported constraints, and pricing — lives at https://platform.shiftyasan.com (Japanese and English).

Tools

ToolDescriptionCharged?
validate_shift_inputValidate a SolveRequest payload against the public-API schema (no solver).No
solve_shiftRun the solver. Small/medium problems return synchronously; large problems (roughly 25+ employees) are queued and return 202 with a job_id.Yes
get_solve_jobPoll an asynchronous job until completed / failed.No

The full SolveRequest / SolveResponse schema lives in the OpenAPI spec at GET <base URL>/v1/public/openapi.json (base URL = SHIFTYASAN_BASE_URL, default https://api.shiftyasan.com).

Prompts

PromptWhat it does
plan_shiftWalks the agent through building a schedule: what to ask the user for, when to validate, and how to present the finished roster.

Both arguments (period, context) are optional, so it can be invoked bare. In Claude Code it shows up as /mcp__shiftyasan__plan_shift; other hosts surface prompts in their own UI.

Use it when you want the agent to interview you for the inputs rather than guessing them, or when a previous attempt produced a roster you could not check at a glance. The prompt tells the agent to render one row per person with the per-person totals on the right, which is what a shift manager reads first.

The server also sends workflow guidance in its initialize response (call validate_shift_input before solve_shift, poll get_solve_job on 202, how to read shortage markers and the infeasibility diagnosis). Hosts may add this to the model's system prompt; Claude Code does, Claude Desktop currently does not, which is why the same ordering rules also live in the tool descriptions.

Constraints the schema accepts but the solver does not apply yet

A few fields are accepted by the API and then dropped during translation, because the solver has no equivalent. validate_shift_input and solve_shift print an explicit warning listing exactly what was dropped, so an agent never reports them as honored.

FieldStatusWorkaround
employees[].preferences[].type: "avoided_shift"Not appliedRemove the shift from that employee's assignable_shift_ids (hard), or state a preferred_shift for the shift they should get instead
employees[].working_days_per_week.maxOnly min is usedUse working_days_per_month for an upper bound over the period
constraints.employee_pairings[].rule: "require"Not applied (only exclude works)Use fixed_assignments to place them on the same shift

Everything else in the schema is applied by the solver.

Install

Running locally requires Node.js 20 or newer. If you would rather not manage that, use the remote server instead.

Use directly via npx (no global install needed):

bash
npx -y @shiftyasan/mcp-server

Also listed in the MCP Registry as com.shiftyasan/mcp-server.

Or install globally:

bash
npm install -g @shiftyasan/mcp-servershiftyasan-mcp-server

Setup

1. Get an API key

Issue an sk_live_... key in the self-service dashboard: https://platform.shiftyasan.com/dashboard/ (your existing Shiftyasan account works; sign-up is also available). If anything goes wrong, email [email protected] (Japanese or English).

Treat the token like a password: it grants access to your solver quota.

Beta note: you may receive a base URL different from the default — set it via SHIFTYASAN_BASE_URL (see below).

2. Configure your MCP host

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "shiftyasan": {      "command": "npx",      "args": ["-y", "@shiftyasan/mcp-server"],      "env": {        "SHIFTYASAN_API_KEY": "sk_live_..."      }    }  }}

Restart Claude Desktop. The shiftyasan server appears in the tools menu and exposes validate_shift_input, solve_shift, and get_solve_job.

Claude Code
bash
claude mcp add shiftyasan -e SHIFTYASAN_API_KEY=sk_live_... -- npx -y @shiftyasan/mcp-server

(Add -e SHIFTYASAN_BASE_URL=... if you were given a beta base URL.)

Cursor / Continue / other MCP hosts

Add to your MCP server config in the same shape (command + args + env). Refer to your host's docs for the exact config file path.

Using from ChatGPT

ChatGPT cannot spawn local stdio MCP servers like this package, so use the HTTP API directly through a Custom GPT with Actions (the OpenAPI spec is designed to be Actions-compatible — fully inlined schemas, no external refs):

  1. ChatGPT → My GPTs → Create a GPT → Configure → Actions → Import from URL, and enter <base URL>/v1/public/openapi.json (base URL = the one you received with your API key; default https://api.shiftyasan.com).

  2. If you were given a beta base URL, also edit the imported schema's servers[0].url to <base URL>/v1/public.

  3. Authentication → API Key → Auth Type Bearer → paste your sk_live_... token.

  4. Suggested GPT instructions:

    You can build optimized work shift schedules with the Shiftyasan actions. Always call the validate action first (free), then solve. Large problems return 202 with a job_id — poll the job endpoint every ~15 seconds until the status is "completed" or "failed".

Notes: creating custom GPTs requires a paid ChatGPT plan, and the API key is stored inside the GPT — do not share that GPT publicly.

ChatGPT's MCP connectors only support hosted MCP endpoints (Streamable HTTP), not local stdio processes. A hosted MCP endpoint is on our roadmap; until then, use Actions as above.

Environment variables

VariableRequiredDescription
SHIFTYASAN_API_KEYyesBearer API key. Format: sk_(live|test)_<64 hex chars>.
SHIFTYASAN_BASE_URLnoOverride base URL (default https://api.shiftyasan.com). Useful for staging or self-host.

Example session

In Claude Desktop, after configuring:

You: Schedule 3 employees over the first week of June across morning and evening shifts. Use Shiftyasan.

Claude will discover the tools, call validate_shift_input to confirm the payload it constructed is acceptable, then call solve_shift to get the assignment. Errors from the API (RFC 7807) are surfaced inline so Claude can self-correct (e.g., "staffing_demand length must equal schedule_days").

Pricing

The open beta is free. Each API key comes with a free usage quota (solve_shift consumes units per call; validate_shift_input is always free). Check your remaining quota with GET /v1/public/usage using your key. When you run out, email [email protected] to get more.

Paid plans are planned after the beta. The MCP server itself never charges; all metering happens against your SHIFTYASAN_API_KEY on the API side.

Local development

bash
git clone https://github.com/shiftyasan/mcp-server.gitcd mcp-servernpm installnpm run buildnpm test

To run against a local gateway:

bash
SHIFTYASAN_API_KEY=sk_test_... \SHIFTYASAN_BASE_URL=http://localhost:8080 \  npm run dev

Test interactively with the MCP inspector:

bash
npx @modelcontextprotocol/inspector node dist/index.js

Reporting issues

License

MIT — see LICENSE.

來源:README.md,提交 df87288

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v0.3.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分