Skip to content

Ics Busy Free MCP tool

MCP findutils:ics_busy_free

Turn a detailed iCalendar (.ics) export into an availability file to share. busy_events mode writes one VEVENT per busy event with SUMMARY "Busy", TRANSP:OPAQUE and CLASS:PRIVATE, keeping only DTSTART, DTEND or DURATION, RRULE, RDATE, EXDATE, RECURRENCE-ID and DTSTAMP, with a new UID (a recurring series keeps one shared UID); descriptions, locations, links, attendees, organizer, alarms and vendor properties are left behind. vfreebusy mode writes one VFREEBUSY with a FREEBUSY period in UTC per busy event, overlapping periods joined; a recurring event is listed by its first occurrence only, because recurrence rules are never expanded. Cancelled events (drop_cancelled) and events marked free (TRANSP:TRANSPARENT) are skipped; a skipped modified occurrence becomes an EXDATE on its series so it is not busy either. Tentative events are included unless include_tentative is false. No calendar URL is fetched.

Needs an API key. Running a tool needs an API key. Keys are not for sale yet: ask for early access. About API keys

Arguments

application/json
  • input

    string required

    The .ics file contents.

  • mode

    string optional

    busy_events (default): Busy VEVENTs that keep recurrence rules. vfreebusy: one VFREEBUSY with FREEBUSY periods in UTC. One of busy_events · vfreebusy. Default "busy_events".

  • include_tentative

    boolean optional

    Count STATUS:TENTATIVE events as busy (FBTYPE=BUSY-TENTATIVE in vfreebusy mode). Default true. Default true.

  • drop_cancelled

    boolean optional

    Skip STATUS:CANCELLED events. Default true. Default true.

  • calendar_name

    string optional

    Written as X-WR-CALNAME. Default none: the source calendar name is not copied, since it often names a person.

  • label

    string optional

    The SUMMARY of every busy block in busy_events mode. Default Busy. Default "Busy".

Example arguments

Verified
{
  "input": "BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nUID:[email protected]\nDTSTART:20261006T110000Z\nDTEND:20261006T120000Z\nSUMMARY:Contract review with Acme\nDESCRIPTION:Zoom https://zoom.us/j/987\nEND:VEVENT\nBEGIN:VEVENT\nUID:[email protected]\nDTSTART:20261007T090000Z\nDTEND:20261007T100000Z\nSTATUS:CANCELLED\nSUMMARY:Old kickoff\nEND:VEVENT\nEND:VCALENDAR\n",
  "mode": "vfreebusy"
}