set_availability_rules
ActiveTool of Chronary
Set or replace the availability rules on a calendar — buffer times before/after events and optional per-day working hours. When these rules are set, every availability query on this calendar automatically applies them (busy-block expansion for buffers, masking outside working hours). Upsert: overwrites any existing rules.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"calendar_id"
],
"properties": {
"timezone": {
"type": "string",
"default": "UTC",
"maxLength": 64,
"minLength": 1,
"description": "IANA timezone used to interpret working_hours (e.g. America/New_York)"
},
"calendar_id": {
"type": "string",
"description": "Calendar to configure"
},
"working_hours": {
"anyOf": [
{
"type": "object",
"properties": {
"fri": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End of the working window, HH:MM 24-hour, after start (e.g. \"17:00\")"
},
"start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start of the working window, HH:MM 24-hour, in the rules timezone (e.g. \"09:00\")"
}
},
"description": "A single day's working hours window"
},
"mon": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End of the working window, HH:MM 24-hour, after start (e.g. \"17:00\")"
},
"start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start of the working window, HH:MM 24-hour, in the rules timezone (e.g. \"09:00\")"
}
},
"description": "A single day's working hours window"
},
"sat": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End of the working window, HH:MM 24-hour, after start (e.g. \"17:00\")"
},
"start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start of the working window, HH:MM 24-hour, in the rules timezone (e.g. \"09:00\")"
}
},
"description": "A single day's working hours window"
},
"sun": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End of the working window, HH:MM 24-hour, after start (e.g. \"17:00\")"
},
"start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start of the working window, HH:MM 24-hour, in the rules timezone (e.g. \"09:00\")"
}
},
"description": "A single day's working hours window"
},
"thu": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End of the working window, HH:MM 24-hour, after start (e.g. \"17:00\")"
},
"start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start of the working window, HH:MM 24-hour, in the rules timezone (e.g. \"09:00\")"
}
},
"description": "A single day's working hours window"
},
"tue": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End of the working window, HH:MM 24-hour, after start (e.g. \"17:00\")"
},
"start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start of the working window, HH:MM 24-hour, in the rules timezone (e.g. \"09:00\")"
}
},
"description": "A single day's working hours window"
},
"wed": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End of the working window, HH:MM 24-hour, after start (e.g. \"17:00\")"
},
"start": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start of the working window, HH:MM 24-hour, in the rules timezone (e.g. \"09:00\")"
}
},
"description": "A single day's working hours window"
}
}
},
{
"type": "null"
}
],
"default": null,
"description": "Per-day working hours map in the calendar's timezone; omit keys for off-days. Pass null to remove any working-hours constraint."
},
"buffer_after_minutes": {
"type": "integer",
"default": 0,
"maximum": 120,
"minimum": 0,
"description": "Minutes of buffer after each event (0–120)"
},
"buffer_before_minutes": {
"type": "integer",
"default": 0,
"maximum": 120,
"minimum": 0,
"description": "Minutes of buffer before each event (0–120)"
}
}
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
Chronary
https://github.com/Chronary/chronary-mcp
2/7 registries