Add Soon plugin (workforce scheduling, remote MCP) - #518
Open
OlafJacobson wants to merge 1 commit into
Open
Conversation
Soon is a workforce scheduling platform. The plugin bundles a remote MCP server (https://mcp.soon.works/mcp, OAuth) plus three skills for reading schedules, managing leave, and designing intraday activity plans. Remote source pinned to ff4d46be6f70b60a9e2a2c9361e860f88fe68cd5 with path plugins/soon, since that repo is itself a marketplace and the plugin lives one level down. Keywords are brand-scoped per CONTRIBUTING (soon, soon schedule, soon shifts, soon roster) rather than generic scheduling terms, so the plugin CTA does not mis-fire on unrelated requests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Adds the Soon plugin. Soon is a workforce scheduling platform (shifts, rosters, coverage, leave). The plugin bundles a remote MCP server plus three skills, so Grok can read and manage a user's real Soon schedule.
soonhttps://github.com/SoonHQ/soon-claude-plugin.git@ff4d46be6f70b60a9e2a2c9361e860f88fe68cd5,path: plugins/soonOwnership
sourcerepo is published under our official org (SoonHQ).Checklist
.grok-plugin/marketplace.json(valid JSON, kebab-casename).sha; the commit is public and reachable..grok-plugin/plugin-index.json.python3 scripts/validate-catalog.pypasses locally.python3 scripts/generate-plugin-index.py --checkpasses locally.homepage+ cleardescriptionset.LICENSEat the source repo root. It explicitly permits installing and using the plugin to connect to a Soon account; redistribution and derivative works need written permission.Security
curl | bash, remote-code download/exec, orpostinstallRCE. The plugin ships no scripts, hooks, or binaries — it is a.mcp.json, a manifest, a README, and threeSKILL.mdfiles..env, or env vars. Nothing reads the filesystem or environment.Network endpoints this plugin calls (and why): exactly one,
https://mcp.soon.works/mcp— Soon's hosted MCP server, which is how the plugin reads and writes the user's schedule. No other host is contacted.Credentials/permissions it requires (and why): none stored locally. The user authorizes over OAuth at connect time and the server enforces their existing Soon team, role, and board permissions. Tools are scoped (for example
schedule:read:all,shifts:write,roles:write) and the connector deliberately exposes no admin, billing, or user-lifecycle tools, so it can plan schedules but cannot reconfigure a workspace. Writes that affect published shifts or other people go through an approval card.Notes for reviewers
One thing worth explaining up front: the source repo is named
soon-claude-pluginbecause it was first published for the Claude Code ecosystem, and it uses.claude-plugin/plugin.json, which CONTRIBUTING lists as accepted. The plugin body itself is ecosystem-neutral: a remote MCP server plus skills, with nothing Claude-specific in it. Happy to publish under a neutral repo name if you'd prefer that for a Grok listing.The
path: plugins/soonpin is because that repo is itself a small marketplace, so the plugin lives one level down rather than at the root — same shape as the existingbrowser-useentry.