Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Beschreibung vom Entwickler (englisches Original)
Which days and times am I free? Reads your calendar feeds and answers with the slots you can offer.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
WHENFREE_CALENDARS, WHENFREE_TZAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"when-free": {
"command": "uvx",
"args": [
"when-free",
"mcp"
],
"env": {
"WHENFREE_CALENDARS": "your-value",
"WHENFREE_TZ": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add when-free --env WHENFREE_CALENDARS=your-value --env WHENFREE_TZ=your-value -- uvx when-free mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"when-free": {
"command": "uvx",
"args": [
"when-free",
"mcp"
],
"env": {
"WHENFREE_CALENDARS": "your-value",
"WHENFREE_TZ": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"when-free": {
"type": "stdio",
"command": "uvx",
"args": [
"when-free",
"mcp"
],
"env": {
"WHENFREE_CALENDARS": "your-value",
"WHENFREE_TZ": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
WHENFREE_TZ envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto YauhenBichel bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: WHENFREE_CALENDARS
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.4.1) kam vor 29 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Someone asks when you're free. This reads your calendar and gives you the answer, ready to paste.
.ics file. Several calendars at once.Try it · Add your calendar · Everyday use · Reading a message · Use it from other tools · Other devices · Privacy · Settings · What counts as busy · Limits · Problems · Where it is listed
With uv, nothing to install first:
uvx when-free demo
To keep it (needs Python 3.11 or newer):
uv tool install when-free # or: pipx install when-free
whenfree demo
Using Claude Desktop? You can skip all of this: install the one-click extension.
whenfree demo makes up a calendar for next week and answers a recruiter's message from it. It reads none of your data and saves nothing:
> Hi! Thanks for applying. Could you share a few times on Tuesday, Wednesday or Thursday next week,
between 10am and 4pm? The interview takes about an hour.
Free between 10:00 and 16:00 (Europe/London), slots of 60+ minutes, 15-minute buffer around events:
.ics:| Calendar | Where to find it |
|---|---|
| Google Calendar | Settings → click your calendar on the left → *Integrate calendar* → Secret address in iCal format |
| Outlook | Settings → Calendar → Shared calendars → *Publish a calendar* → the ICS link |
| iCloud | Calendar → the share icon next to the calendar → *Public Calendar* (a webcal:// link is fine) |
| Anything else | Any .ics link, or an exported .ics file |
$ whenfree add
Paste the address and press Enter (it is not shown): Added 'personal': 412 events, 9 block time in the next 14 days. Saved in /Users/you/.config/when-free/config.toml, readable only by you. Now run: whenfree
On a Mac, pbpaste | whenfree add takes the address straight from the clipboard.
Keep the address secret. It works like a password: anyone who has it can read that calendar. Give it to
whenfree addand to nothing else, so not to a chat, a shell command or a repository. If it leaks, reset it in your calendar's settings.
Google Calendar, step by step
Do this in a browser, because the phone app doesn't show the address.
basic.ics. Don't take "Public address in iCal format", which only works for a calendar you've made public.whenfree add and paste it when asked.No "Secret address"? Work and school accounts can have it switched off. Export the calendar instead (Settings → Import & export → Export), unzip it, and run whenfree add ~/calendars/work.ics. An export is a snapshot, so export again when your calendar changes.
More than one calendar
A slot counts as free only if it's free in every calendar you add.
whenfree add --name work # a second calendar: asks for its address
whenfree add ~/calendars/family.ics # an exported file instead of an address whenfree check # can every calendar be read?
They're kept in ~/.config/when-free/config.toml, one [[calendar]] block each, with a name and a url or path. You can edit that file by hand. whenfree init creates an empty one.
| You want | Run | |
|---|---|---|
| Your free time over the next working days | whenfree | |
| The days and hours a message asks about | `pbpaste \ | whenfree --message - (Mac clipboard) or whenfree --message invite.txt` |
| Next week's afternoons | whenfree --days "next week" --hours afternoon | |
| Specific days | whenfree --days "Thu 15 Oct, Fri 16 Oct" | |
| A date range | whenfree --from 2026-10-12 --to 2026-10-16 | |
| Only slots long enough for a 90-minute meeting | whenfree --min 90 | |
| To see what blocks each day | whenfree --busy | |
| The answer in another time zone | whenfree --tz America/New_York | |
| JSON for a script | whenfree --format json | |
| To copy the answer | `whenfree ... \ | pbcopy` (only the slot lines are copied) |
Only the slot lines go to standard output. The context goes to standard error, so | pbcopy copies exactly what you'd paste into a reply.
--message finds the days and hours in ordinary text. It understands:
Thu 1 Oct · Thursday the 1st of October · Monday, October 5th · 5 October · 2026-10-05 · Wednesday 30thbetween 10:00am and 4:00pm · 10:00–16:00 · 9-5pm · 2 to 4 pm| Written | Read as |
|---|---|
today · tomorrow · the day after tomorrow | Thu 1 · Fri 2 · Sat 3 Oct |
Thursday or Friday | the coming ones, today included: Thu 1, Fri 2 Oct |
this Tuesday · next Tuesday | Tuesday of this week (already past, so left out and named) · Tuesday of next week, Tue 6 Oct |
next week · this week · the week after next | that week's working days, from today on |
Tuesday or Wednesday next week | Tue 6, Wed 7 Oct |
any afternoon · Friday morning · evening | 12:00–17:00 · 09:00–12:00 · 17:00–20:00, unless hours are given |
It always tells you how it read the dates, so you can check them against the message. A few rules keep it from guessing:
--days.when-free never connects to your mailbox. You paste the message, pipe it in, or save it to a file.
Let your own language model read the message
If you run a model yourself, it can do the reading instead. Add this to the settings file:
[extract]
command = ["ollama", "run", "llama3.2"] # the prompt is sent on standard input
The command receives the message and must print JSON: {"days": ["2026-10-05"], "hours": "10:00-16:00", "minutes": 60}. If it fails, pattern matching is used instead. Nothing runs unless you configure it, and --no-extract skips it for one run. The message goes to whatever that command talks to, so use a local model for private text.
Every way gives the same answer, only reads, and leaves event titles out unless asked.
| Your tool | Use | Set up |
|---|---|---|
| Claude Desktop | One-click extension | double-click |
| Claude Code, with a skill that knows when to use it | Plugin | two commands |
| Claude Code, Cursor, VS Code, any MCP client | MCP server | one line |
| Raycast, a right-click on a message (macOS) | Recipes | a few minutes |
| Open WebUI, n8n, Shortcuts, Raycast, anything that calls a URL | Local HTTP server | whenfree serve |
| Your own agent with function calling | Schema and call | two commands |
| Python | The library | import whenfree |
The plugin bundles the MCP server with a skill that tells Claude when to use it: when you ask about your availability, paste a message asking when you can meet, or before it proposes a time.
/plugin marketplace add YauhenBichel/when-free
/plugin install when-free@when-free
Then add your calendar once, if you have not yet: uvx when-free add.
claude mcp add when-free -- uvx when-free mcp # Claude Code
For Cursor and other MCP clients, add this to their server list. uvx fetches when-free the first time, so there's nothing to install:
{
"mcpServers": { "when-free": { "command": "uvx", "args": ["when-free", "mcp"] } } }
If you installed it with uv tool install, use "command": "whenfree", "args": ["mcp"] instead. It's also listed in the MCP registry as io.github.YauhenBichel/when-free, on mcprush and in the M8ven Trust Index.
Then just ask: *"Here's the recruiter's message. Which of those times can I do?"* The assistant calls free_slots and answers from your real calendar.
| Tool | What it does |
|---|---|
free_slots | Free time per day. Takes days, or from and to, or a message, plus hours, min_minutes, buffer_minutes, timezone, weekends, all_day_busy, include_busy |
check_calendars | Whether each calendar can be read, with event counts. No details, no addresses |
If a tool can't do its job, the assistant gets an error it can read ("could not read the calendar 'work'"), never a guess.
whenfree serve # http://127.0.0.1:8765, only reachable from this computer
curl -H "Authorization: Bearer $(cat ~/.config/when-free/token)" \
'http://127.0.0.1:8765/free_slots?days=next%20week&hours=afternoon'
Nur der Anfang wird gezeigt; den Rest findest du im Repo