What when-free does
The when-free MCP server reads calendar data and identifies periods when you are available. It supports Google Calendar, Outlook, iCloud, other .ics URLs, and exported .ics files. Multiple calendars can be added; a period is considered free only when it is free across all configured calendars.
It can evaluate general availability, a specified date range, particular days, time-of-day ranges, or a minimum meeting length. It can also show the events blocking each day. Results can be formatted as readable text or JSON for use by scripts and other tools.
The when-free MCP server is suited to the Workplace & Productivity category because it addresses routine meeting coordination without requiring access to an inbox or the ability to edit a calendar.
How it works
Calendar sources are registered locally with whenfree add. A source may be a private calendar-feed address or a local .ics file. The configuration is stored in ~/.config/when-free/config.toml; the README states that the file is readable only by the current user. whenfree check can verify that configured calendars remain readable.
For scheduling requests, text can be pasted, piped through standard input, or read from a file. The parser recognizes common date formats, relative expressions such as “next week,” and time descriptions such as morning, afternoon, or explicit start and end times. It reports how it interpreted the request so the resulting dates and hours can be checked.
The when-free MCP server does not connect to a mailbox. If configured, a local language-model command can extract dates, hours, and duration from a message; pattern matching is used if that command fails. The message is sent to the configured command, so a local model is appropriate for private text.
Setup and configuration
Python 3.11 or newer is required for a persistent installation. The README documents uvx when-free demo, uv tool install when-free, and pipx install when-free. The demo creates sample calendar data and does not read personal data.
Add a calendar by running whenfree add and pasting its private .ics address, or provide a local .ics path. Calendar-feed links should be treated as secrets because anyone who has one may be able to read that calendar. whenfree init creates an empty configuration, and additional calendars can be added with a name.
Claude Desktop has a documented one-click extension. Other MCP clients can use the server through their normal MCP configuration. The README also mentions Open WebUI, n8n, Shortcuts, scripts, and device-oriented integrations, but their individual setup details are outside the supplied material.
Tools and capabilities
- Find availability over upcoming working days.
- Restrict results to named days, date ranges, or time windows.
- Read scheduling requirements from ordinary text.
- Require a minimum duration, such as 90 minutes.
- Apply a specified time zone.
- Return JSON for scripts or readable slot lines for replies.
- Display busy periods for troubleshooting or review.
Limitations and notes
The when-free MCP server never changes calendar entries. It also does not read email automatically; the scheduling message must be supplied as pasted text, standard input, or a file. Relative dates depend on the current day, so older messages using words such as “tomorrow” should be supplied with explicit days.
Exported calendar files are snapshots and must be exported again when the calendar changes. Calendar-feed addresses and local configuration should be protected. If a feed address is exposed, it should be reset through the calendar provider.