Calendar workflow engine for time off, approvals, and quick actions on any calendar backend.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Calendar workflows, minus the tedium.
The moose does the paperwork. You go to the beach.
Four calendar backends behind one workflow engine that branches, approves, waits, recurs, and files real leave with your HR system, driven from your terminal, Claude, Slack, or a local dashboard, and authorable by an AI agent over MCP. Every run is recorded, and the daemon resumes exactly where it left off after a crash. Install with brew install dcadolph/tap/vamoose.
Calendar busywork is death by a thousand cuts: create the hold marked free, invite your manager, Slack them for the yes, go back in and add the team one by one, add a second blocked event so your own calendar says away, then file the leave in the HR portal. vamoose turns those chores into workflows it runs for you and advances in the background. Time off is the flagship workflow, and you can define your own.

That is the whole flow: the hold shows as free so it blocks nobody, your manager's calendar accept is the approval, and the daemon notifies your team the moment it lands.
vamoose app, against
Microsoft Graph, Google, iCloud, or any CalDAV host. Same workflow, any backend.The built-in pto workflow is the flagship: hold shown free, manager approves by
accepting, team added as optional attendees so nobody's calendar gets blocked.
request, check, and promote are fronts over its steps. See Workflows.

Four backends ship behind one provider interface: Microsoft Graph (Outlook,
Microsoft 365, and Teams), Google Calendar, Apple iCloud, and any standard CalDAV host.
Pick one with --provider or the VAMOOSE_PROVIDER environment variable, and every
command works the same across them. Approval detection is the one exception: iCloud
sends invites but does not report accept/decline over CalDAV, so on iCloud you promote
by hand. See providers.
You can rig a version of this with one calendar's rules or a saved email. vamoose earns its keep the moment you have more than one account:
--provider.macOS and Linux:
Windows:
Docker (for hosting):
Or with Go 1.26 or newer:
Zips and tarballs for every platform are on the releases page.
New to vamoose? The Quickstart takes you from zero to a first approved hold in a few minutes.
Set one calendar backend and export its credentials, then run vamoose doctor to check the
setup. Every backend, including iCloud and any CalDAV host, is covered in providers.
vamoose talks to Microsoft Graph as you, using the OAuth device-code flow.
User.Read, User.Read.All (read your manager and their direct reports)Calendars.ReadWrite (create and update the hold)MailboxSettings.ReadWrite (reserved for the out-of-office reply)offline_access (stay signed in between runs)The first command opens a device-code prompt. Tokens are cached under your user
config directory and refreshed automatically after that. Run vamoose whoami
first to confirm auth and directory access before creating any holds.
For --provider google, create an OAuth desktop app client in the Google Cloud
console, enable the Google Calendar API, then sign in:
login opens your browser for consent on a local loopback address, then caches and
refreshes tokens after that. Two things catch people out. Consent is denied until you add
the signing-in account under Google Auth Platform, Audience, Test users. And while the app
sits in Testing status, Google expires its refresh tokens after seven days, so login
comes back around once a week. Both are covered step by step, with a troubleshooting
table, in the Google guide.
Google Calendar has no directory, so pass your approver with --manager and set your team
with vamoose team set.
For --provider icloud, create an app-specific password at appleid.apple.com and export:
iCloud sends invites but does not report approvals over CalDAV. Recover them with the macOS EventKit helper or a Slack Approve button, or promote by hand. See providers.
For --provider caldav, point at any standard CalDAV server, such as Fastmail or Nextcloud:
Calendar setup is enough for holds, coverage, and approvals. Reading your remaining
balance with vamoose balance, and filing approved time off as real leave, both need an
HR system as well. Skip this section if you only want the calendar side.
Point at BambooHR directly:
Or post to any HR system through a webhook:
Without one of these, vamoose balance exits reporting that no HR system is configured.
Run vamoose doctor to see which parts are set.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vamoose)<a href="https://allmcps.com/mcp/vamoose"><img src="https://allmcps.com/api/badge/vamoose?style=directory" alt="Vamoose on AllMCPs" /></a>