Shift Scheduler
com.kindoflost.staff-scheduling/shift-schedulerVersion 1.0.0Builds optimal 24/7 staff rosters with a real MILP solver: rest rules, skills, nights, fairness.
Status
Responds280 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:03 UTC
- Latency
- 280 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://staff-scheduling.kindoflost.com/mcpResponds280 msNo sign-in
Claude Code
claude mcp add --transport http shift-scheduler https://staff-scheduling.kindoflost.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: shift-scheduler
Remote MCP server URL: https://staff-scheduling.kindoflost.com/mcpCursor
{
"mcpServers": {
"shift-scheduler": {
"url": "https://staff-scheduling.kindoflost.com/mcp"
}
}
}VS Code
code --add-mcp '{"name":"shift-scheduler","type":"http","url":"https://staff-scheduling.kindoflost.com/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
5 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
build_shift_rosterSolve a staff rostering problem to optimality with a MILP solver and return who works which shift each day, coverage, unfilled posts, hours per person and warnings. Solves take 5-60 s. Pass either `example` (to solve a built-in example as-is) or the roster input fields. If the result has status 'running', call get_shift_roster_result with its job_id. If it has status 'too_large', shorten the horizon or reduce people/shift types and retry. If it has status 'busy', wait the retry_after_seconds it gives and call again -- one call at a time, never in parallel. Safe defaults (e.g. the next 7 days when `days` is omitted) are listed in the result's `assumptions`; tell the user about them. Roster input. Minimal example: {"days": ["2026-10-05", "2026-10-06"], "shifts": [{"shift": "Day", "start": "07:00", "end": "19:00"}, {"shift": "Night", "start": "19:00", "end": "07:00", "night": "yes"}], "demands": [{"name": "RN", "penalty": 500}], "people": [{"name": "Ana", "cost": 40, "max_hw": 48}, ...], "grids": {"RN": {"2026-10-05|Day": 2, "2026-10-05|Night": 1}}, "parameters": {"MinRestHours": 11}}. Call get_shift_example for complete, realistic inputs. | No | Yes | Yes | No |
check_requestDescribe what the user wants in plain words and get back whether this server can do it, which limits it would hit, and the closest thing it CAN do. Instant, no solve. Use it when unsure the tool fits (shift swaps, payroll, time clocks, very large teams or long horizons). | No | Yes | Yes | No |
get_shift_exampleReturn the full input JSON of one example, in exactly the shape build_shift_roster accepts. Edit it (names, days, headcounts, rules) to match the user's situation. | No | Yes | Not declared | No |
get_shift_roster_resultFetch the result of a build_shift_roster job that returned status 'running'. Waits up to wait_seconds; call again while status is 'running'. Jobs expire 15 minutes after they finish. | No | Yes | Not declared | No |
list_shift_examplesList the built-in example rostering problems (hospital ward, 3-shift plant, security post, fire station, 24/7 help desk). Use one as a starting point for the user's own roster. | No | Yes | Not declared | No |
Details
- Registry status
- Active
- Published
- Sep 26, 2026
- Updated
- Sep 26, 2026
- Repository
- Not given
- Categories
- Uncategorized
- GDPR
- Not declared