Make a calendar (.ics) file
make_calendar_fileUse this when the user wants a calendar file to import, for example "make a calendar file for this meeting", "create an .ics for my weekly class", "export these dates so I can import them". Input tips: pass 1 to 50 events, each with a title, a start (2026-11-02 for all day, or 2026-11-02T09:30) and an end or duration_minutes, plus timezone (IANA name such as Europe/Paris) for a time without Z or an offset; ask the user for the time zone, never guess it. Example event: {"title":"Sprint review","start":"2026-11-02T09:30","duration_minutes":45,"timezone":"Europe/Paris"}. Optional: location, description, reminder_minutes and recurrence (freq daily, weekly, monthly or yearly, with interval, until or count, and byday). Returns: the .ics text, a download link that works for 24 hours, its expiry and the event count. Not for: adding, changing or reading events in Google Calendar, Outlook or any calendar account; it only makes a file. Errors: status invalid with a message naming the event and field to fix.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"events": "<events>"
},
"name": "make_calendar_file"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | 1 to 50 events, such as [{"title":"Sprint review","start":"2026-11-02T09:30","duration_minutes":45,"timezone":"Europe/Paris"}]. | |
| filename | No | File name in letters and digits, such as sprint-review; .ics is added. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | Yes | Facts the user should know, such as how long the link works. | |
| status | Yes | ok when the file was made; invalid when the input needs a fix (see message). | |
| message | No | What to fix in the input when status is invalid. | |
| filename | No | Name the download link saves the file as, such as calendar.ics. | |
| ics_text | No | The whole .ics file (RFC 5545) when status is ok. | |
| expires_at | Yes | When the link stops working (ISO 8601 UTC). | |
| event_count | No | Number of events in the file when status is ok. | |
| download_url | Yes | Link that works for 24 hours, or null when no link could be made. |