此 MCP 可以做什么
Optimizes staff rosters using shift coverage, skills, rest, night-work, fairness, and workload constraints.
工具
输入模式
{'type': 'object', 'properties': {'days': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 42, 'minItems': 1, 'description': "Day labels in order: ISO dates ('2026-10-05') or weekday names ('Mon'). Dates or weekdays enable weekend rules."}, 'grids': {'type': 'object', 'description': "Optional per-day/shift cells, keyed by a demand name or a person name, each an object keyed 'DAY|SHIFT'. Demand grid value = headcount required (demand with no grid = 1 on every shift). Person grid value: 'a' or 1 = available, 'f' = must work, 0 or missing = UNAVAILABLE (person with no grid = available everywhere).", 'additionalProperties': {'type': 'object'}}, 'people': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'cost': {'type': 'number', 'description': 'Cost per hour (default 1).'}, 'name': {'type': 'string'}, 'max_dw': {'type': 'number', 'description': 'Max days worked over the WHOLE roster.'}, 'max_hd': {'type': 'number', 'description': 'Max hours per day (default 24).'}, 'max_hw': {'type': 'number', 'description': 'Max hours over the WHOLE roster (hard). Not per week: for a 28-day roster at 40h/week use 160.'}, 'min_dw': {'type': 'number', 'description': 'Min days worked over the WHOLE roster.'}, 'min_hd': {'type': 'number', 'description': 'Min hours per worked day.'}, 'min_hw': {'type': 'number', 'description': 'Min hours over the WHOLE roster (soft).'}}}, 'maxItems': 60, 'minItems': 1}, 'shifts': {'type': 'array', 'items': {'type': 'object', 'required': ['shift', 'start', 'end'], 'properties': {'end': {'type': 'string', 'description': 'HH:MM'}, 'night': {'type': ['string', 'boolean'], 'description': "'yes' = counts as a night shift. Omitted = decided from NightStartsAfter."}, 'shift': {'type': 'string', 'description': "Shift name, e.g. 'Day'."}, 'start': {'type': 'string', 'description': 'HH:MM'}}}, 'maxItems': 12, 'minItems': 1, 'description': 'Shift types. A shift may cross midnight (end < start).'}, 'skills': {'type': 'array', 'items': {'type': 'object', 'required': ['person', 'demand'], 'properties': {'rate': {'type': 'number', 'description': 'Posts covered per person (default 1).'}, 'demand': {'type': 'string'}, 'person': {'type': 'string'}}}, 'description': 'Who can cover which demand. Omitted = everyone can cover every demand.'}, 'demands': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'penalty': {'type': 'number', 'description': "Cost of leaving ONE post unfilled for one shift. Must be well above one person's pay for a shift or the solver will prefer gaps. Omitted = 10 x the highest hourly cost x the longest shift."}, 'concurrent': {'type': 'boolean', 'description': 'true = the same person may cover this and another demand at once.'}}}, 'maxItems': 12, 'description': 'Posts to fill (roles). Headcount per day/shift goes in grids.'}, 'example': {'enum': ['hospital-ward', 'three-shift-plant', 'security-site', 'fire-station', 'support-desk'], 'type': 'string', 'description': 'Solve this built-in example instead of passing the fields below.'}, 'parameters': {'type': 'object', 'description': "Optional rules. MinRestHours (11), MaxConsecutiveDays (6), MaxConsecutiveNights (4), ForbidDayAfterNight ('yes'), NightStartsAfter ('18:00'), MinBlockDays (1), WeekendFairnessPenalty (0), EquityPenalty (0) = even out total hours, NightEquityPenalty (0) = even out total nights (try 20), NightDifferential (1.0), WeekendDifferential (1.0), TimeLimitSeconds (max 60 here), GapPercent (2)."}, 'wait_seconds': {'type': 'integer', 'maximum': 45, 'minimum': 0, 'description': 'How long to wait for the solve inside this call (default 25).'}}}
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'lang': {'enum': ['en', 'es'], 'type': 'string', 'description': 'es = Spanish shift and post names.'}, 'name': {'enum': ['hospital-ward', 'three-shift-plant', 'security-site', 'fire-station', 'support-desk'], 'type': 'string'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string'}, 'wait_seconds': {'type': 'integer', 'maximum': 45, 'minimum': 0}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
近期工具变更
类似的 MCP 服务器
AdButler
Manages AdButler advertisers, campaigns, ad items, audiences, zones, creatives, catalogs, and advertising reports.
Duvo MCP
Provides governed retail and CPG operations for cases, queues, approvals, automations, process documentation, integrations, and a…
Lovie Company Formation
Supports company formation and business administration with bank accounts, cards, invoicing, bookkeeping, accounting periods, and…
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…