find_meeting_time
ActiveTool of Chronary
Find slots when multiple agents are free across Chronary calendars and any human calendars authorized for each agent. This tool is fail-closed: always inspect `availability_state` and `warnings` before using slots. Accepts `agents`/`start`/`end` or their aliases.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "Search range end (ISO 8601). Alias: end_time."
},
"start": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "Search range start (ISO 8601). Alias: start_time."
},
"agents": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Array of agent IDs to find common free time for. All agents must be free during the returned slots. Alias: agent_ids."
},
"duration": {
"enum": [
"15m",
"30m",
"45m",
"1h",
"2h"
],
"type": "string",
"description": "Requested slot length (15m/30m/45m/1h/2h). Preferred over the deprecated slot_duration. Defaults to 30m."
},
"end_time": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "Alias for `end` (matches REST events naming)."
},
"agent_ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Alias for `agents` (matches REST/scheduling-proposal naming)."
},
"calendars": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional shared calendar IDs to treat as busy"
},
"start_time": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
"description": "Alias for `start` (matches REST events naming)."
},
"include_busy": {
"type": "boolean",
"default": false,
"description": "Include per-agent busy blocks in response"
},
"slot_duration": {
"enum": [
"15m",
"30m",
"45m",
"1h",
"2h"
],
"type": "string",
"description": "Deprecated alias for `duration` — minimum slot length. Prefer `duration`."
}
}
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
Chronary
https://github.com/Chronary/chronary-mcp
2/7 registries