Soon automates shift scheduling, intraday coverage, and workforce forecasting for operations teams.
This listing identifies a third-party MCP server. MCPBundles is not affiliated with, sponsored by, or endorsed by the service or its operator unless stated on this page.
This server may ask you to sign in when your AI client connects.
Last probed Nov 3, 2026 · mcp.soon.works
64tools discovered
For AI agents — MCPBundles Directory API
For MCP client apps (human connect):
MCP connect URL: https://mcp.soon.works/mcp
Skill page: https://www.mcpbundles.com/skills/soon-mcp-fbef90aba3
Explore capabilities (64)
read 25
Showing 25 of 64
Showing 25 of 64 tools from the public preview. Connect the server to inspect the full live tool list.
List8
Get7
Find6
Other capabilities4
Get Me
read
get_me
Return profile and board-access information for the authenticated Soon user. Use this when identity, board membership, or access level might affect the answer. Do not use this for schedule or leave details; use get_schedule or get_leaves for those.
Get Me — Return profile and board-access information for the authenticated Soon user. Use this when identity, board membership, or access level might affect the answer. Do not use this for schedule or leave details; use get_schedule or get_leaves for those.
List Activity Types — List the intraday activity types defined on a board (e.g. Lunch, Break, Admin, Calls) with their ids, paid flag, and default durations. Use this before authoring or running an intraday configuration. Do not use this to read scheduled activities inside shifts; use get_intraday.
List Intraday Configs — List the saved intraday solver configurations on a board. Use this to find an existing configuration to re-run, or to confirm a name before save_intraday_config. Do not use this to read scheduled intraday activities; use get_intraday.
Get Intraday — Read the intraday activities (lunch, breaks, tasks) scheduled inside the given shifts, grouped by assignment. Use this to see the current intraday plan before editing it or running the solver. Do not use this to list activity type definitions or saved configs; use list_activity_types or list_intraday_configs.
Get Intraday Day — Read one board day as the workload view shows it: each assignment whose shift touches the date (board workload timezone) with its activities, plus activity types and the day's coverage requirements, engine forecast included. Use this when the user names a board and a date. Do not use this with exact shift ids; use get_intraday.
List Coverage Requirements — List stored coverage requirements (FTE per interval, per activity type, per day) on a board for up to 31 days. Use this to review required staffing before set_coverage_requirements. Engine-staffed types are named without intervals. Do not use this for one day's full picture with engine coverage; use get_intraday_day.
Run Intraday Solver — Use this to run the intraday optimizer and propose activities (breaks, lunch, tasks) inside the given shifts under a constraint config: a saved configId from list_intraday_configs or an inline config. Read-only: proposals are returned, not saved. Resolve shiftIds with find_shifts. Do not use this to persist activities; use update_intraday_activities once the user accepts.
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Soon automates shift scheduling, intraday coverage, and workforce forecasting for operations teams.
How do I connect Soon to my AI agent?
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
How many tools does Soon provide?
Operate this server?
Request removal if you do not want Soon listed here, or claim the listing if you want to manage it on MCPBundles.
Operate Soon?
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
MCPBundles publishes this directory for MCP discovery. Except where we host or operate an offering, third-party services run under their own terms. Product and company names on this page are used in a descriptive, identifying way (including under nominative fair use where applicable); they remain the property of their owners. Nothing here grants you rights in those marks, and nothing here is an offer to sell a third party's services. Terms · Request removal
More in developer tools
Other MCP servers in this category from the directory index
Validate Intraday Config — Dry-run a candidate intraday solver config against the real solver contract without saving. Use this to turn plain-English rules into a valid config: draft, validate, fix the key-level errors and warnings, repeat, then save_intraday_config and run_intraday_solver. Pass boardId to also check every activity_types[].id is an ENABLED type on that board. Same keys as save_intraday_config; the key enforcement is silently ignored. Do not use this to apply or persist anything.
List Team Roles — Search reusable team roles before creating a new role or staffing a shift. Use this when the user names a role and you need to confirm whether an existing team role already matches. When the user said to reuse something close or pick the nearest match, prefer the best name match from results here instead of asking them to pick from a long list unless several roles tie. Roles can be scoped to some boards: pass boardId when the role is for a shift on a board, so only roles that apply there are ret
List Skills — List this team's skills, their categories, and how many people hold each. Use this to resolve a skill id before update_skill, or to see who is already qualified before staffing; pass includePeople for the actual user ids. Admin-only. Do not use this for reusable staffing roles; use list_team_roles.
List Team Users — Use this canonical lookup for a literal named person before removing, moving, auditing, or verifying them in a staffing workflow. Use list_team_users—not find_users_on_board—when other workflows name people; pass boardId when board membership matters. Do not use this to enumerate a board cohort or inspect who is already on a specific shift.
List Schedule Changes — List schedule change requests for a read-only review, including cancellation, time, cover, and swap changes. Use this when the user asks what changed, what needs review, or wants a table without acting. Omitted statuses default to PENDING; an explicit exhaustive request that includes handled changes is expanded server-side to all statuses. When the user states a daily worked-time target, pass comparisonTargetWorkedMinutes; the server verifies common hour formats from the request, computes target
List Week Templates — List persisted week templates on one board. Use this before applying a template or when the user asks what templates exist. Supports optional title filtering. Do not use this to apply a template; use apply_week_template. Gallery templates are intentionally excluded.
Find Shifts — Search shifts for schedule questions and for later assignment, publishing, closing, or deletion workflows. Filter by board and date/range, then use localPeriod for morning/afternoon/evening wording or localStartTime/localEndTime for an exact stated clock span; never guess an exact end time from a semantic period. A query inside an exact date/range is conservatively typo-tolerant: compare all returned title/location candidates and use the user's wording to judge a clear fuzzy match instead of fal
Find User Assignments — THE tool for schedule-of-a-person questions. For the caller's OWN schedule ('my schedule tomorrow'), call get_me, then call this once with that userId and NO boardId: one call searches every board. Never loop get_schedule over boards for a person's schedule. For another named person, first resolve their id with list_team_users; never pass a person's name to find_shifts because that searches shift titles/locations. Defaults answer 'what are they actually working': working statuses only, published
Find Shift Roles — List staffing shift roles across one or more shifts for a bulk role-structure change, such as setting a minimum for all Graphic Designer roles this week. Never use this to resolve the role for assigning one person to one shift; use get_shift_details on the resolved shift.
Find Users On Board — Enumerate users attached to one board and return their board access and team roles. Use this for board-cohort questions or when the user delegates selecting people from the board (for example pick any seven or rotate fairly). Never use this to resolve a literal named person: use list_team_users with boardId for assignment, removal, or moves. When delegated selection returns more people than requested, choose a deterministic subset, state the rule briefly, and continue. Do not use this for whole-
Find Matching Shift Roles — Search the staffing shift roles on one exact shift and return candidate shift role ids with role labels, staffing counts, and capacity fields. Use hasOpenCapacity/remainingCapacity to decide whether someone can still be added; use isUnderstaffed only for minimum-staffing gaps. Do not use this to search for shifts; use find_shifts first.
Find Available Users For Shift — For one exact time window only: list board users who are not obviously blocked by overlapping shift requests and optional leave entries. Use this as a simple availability microscope (who could cover this block?) before assigning, or when the user names a single interval. Do not use this when you only need to verify one exact person; use check_user_conflicts for that.
Propose Shift Assignments — Propose staffing (read-only) for the given shifts: ranked candidates per shift role id, a coverage summary, and run metadata. Use this when the user asks to staff or fill several shifts. engine=local (default) answers in seconds with per-role heuristics, the same overlap rules as find_available_users_for_shift; engine=solver uses the external optimizer for global fairness, takes 15-30 seconds, and falls back to local heuristics with a solverNote when the solver is unavailable. Resolve shift ids
Check User Conflicts — Use this exact-ID primitive only when a separate assignment or reassignment workflow already resolved the userId and requires an explicit conflict precondition. For an existing shift, pass userId and shiftId; the tool derives the authoritative board and time window. For a hypothetical interval, omit shiftId and pass both startTime and endTime. Leave entries are included by default; never set includeLeaves=false for staffing safety. For a named person, resolve the userId with list_team_users firs
Get Shift Details — Inspect one exact shift deeply before updating, staffing, assigning, removing, or deleting it. Use this when you already know the shift id and need event fields, shift roles, requests, staffing minimums, capacity, and current status. Use hasOpenCapacity/remainingCapacity for open spots; use isUnderstaffed only for minimum-staffing gaps. Do not use this to search for candidate shifts; use find_shifts first when the target is still ambiguous.
Get Schedule — Load events, shift roles, assignment requests, and board users for one board over a date range. Use this when the user asks about coverage across days, weekly planning, open spots, or board-wide schedule context. For other natural-language action targets, use find_shifts. Always make a fresh current-week call; do not reuse older results. Use hasOpenCapacity/remainingCapacity for open spots; use isUnderstaffed only for minimum gaps. Do not use this for one already-known exact shift; use get_shift
Get Schedule Stats — Compute schedule load, contract balance, capacity, role distribution, and warning signals for a team, board, or selected users over a date range. Use this when the user asks about hours, remaining capacity, workload balance, over/under contract, role-heavy scheduling, or trends across weeks. For 'what needs attention' also call get_schedule, since stats cannot show concrete unpublished shifts or open spots. It does not forecast demand; say so. Do not use this alone to inspect concrete shifts; us
Get Leaves — Load team-wide leaves for a date range (or current ISO week by default). Use this when leave status could explain availability or staffing gaps. Do not use this to inspect shift requests or assignments; use get_schedule or get_shift_details for that.
Showing the first 25 tools — full list and schemas: Directory API.
MCPBundles probed 64 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
What authentication does Soon require?
Soon may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.
Don't want this listed?
Request removal from the MCPBundles directory. We stop publishing this listing on mcpbundles.com.
MCPBundles is an independent platform built on the open Model Context Protocol standard. MCPBundles is not affiliated with, sponsored by, or endorsed by Anthropic PBC.