Перейти к содержанию

Chronary

Календари для ИИ-агентов: события, свободное время, согласование встреч и iCal

Продуктивностьавтор: Chronary · добавлен каталогом✓ Проверен модератором
54 инструмента
подключить к ассистенту

Добавьте сервер в «Мои MCP» — получите адрес подключения для Claude и ChatGPT.

Добавить в «Мои MCP»

Нужно войти или зарегистрироваться — вернём на эту страницу.

/about

Описание

Chronary — API календарей для ИИ-агентов и людей, с которыми они работают. Подходит разработчикам ассистентов, которым нужно назначать встречи и вести расписание. Можно регистрировать агентов, создавать календари и события, переносить, подтверждать и отменять встречи, ставить временные брони. Есть проверка свободного времени одного агента и поиск общего окна для нескольких участников с учётом подключённых календарей Google или Outlook через iCal. Доступны предложения времени нескольким участникам с ответами «принять», «отклонить» или «предложить другое», правила рабочих часов и буферов между встречами, а также сводка по календарю: текущее и ближайшие события. Нужен свой аккаунт Chronary и API-ключ организации; часть функций доступна только на тарифе Pro.

/tools

Инструменты · 54

из ответа tools/list

accept_terms

Re-accept the current Chronary terms of service on behalf of the calling org. Use this when responses carry the Chronary-Terms-Upgrade-Required header — a material ToS bump otherwise leaves MCP-only agents stuck without a console session. Pass the current tos_version (read it from GET /v1/auth/terms/current). Requires an org-level API key (chr_sk_*); agent-scoped keys cannot accept org-wide terms.

accept_terms(tos_version: string)

cancel_connection_link

Cancel a pending human-calendar setup request. This invalidates the setup URL and does not disconnect an already completed Google or Microsoft connection.

cancel_connection_link(connection_link_id: string)

cancel_event

Delete or cancel an event from a calendar. Use this to remove, cancel, or delete any scheduled event or appointment. The event is marked cancelled and excluded from future availability calculations. For a recurring series, pass `occurrence_start` to cancel just that one occurrence (the series continues); omit it to cancel the whole series. `calendar_id` is optional — if omitted the calendar is looked up from the event. Provide `calendar_id` to fail fast on cross-calendar typos.

cancel_event(event_id: string, calendar_id?: string, occurrence_start?: string)

cancel_proposal

Cancel an open proposal. Fires a proposal.cancelled webhook with reason="organizer_cancelled". Requires an org-level API key. Pro plan only.

cancel_proposal(proposal_id: string)

clear_availability_rules

Remove the availability rules from a calendar, reverting to the default (no buffers, no working-hours mask). Returns the deleted row, or an error if none were set.

clear_availability_rules(calendar_id: string)

confirm_event

Promote a held event to a confirmed booking. The event must currently have status="hold" and its hold_expires_at must not have passed. After confirmation, event.started and event.ended lifecycle webhooks fire at the scheduled times.

confirm_event(event_id: string)

create_agent

Register your agent (AI assistant, human participant, or resource) with Chronary so it can own calendars, events, and webhooks.

create_agent(name: string, type: string, description?: string)

create_booking_page

Create a public booking page (a hosted scheduling link) for a calendar. Returns a booking_url to send to a human; when they pick a slot, a confirmed event is created on the calendar and an event.created webhook fires with a booking_page_id field. Set availability_constraints to restrict to weekly working hours; existing calendar events always block slots.

create_booking_page(title: string, active?: boolean, timezone?: string, calendar_id: string, description?: string, window_days?: integer, buffer_minutes?: integer, duration_minutes?: integer, min_notice_minutes?: integer, availability_constraints?: any)

create_calendar

Create a calendar to hold events and track availability. Calendars are required before creating events — call this first when setting up a new agent. An agent can have multiple calendars (e.g. "Work", "Personal"). Org-level calendars (no agent_id) can be used as shared resources like meeting rooms.

create_calendar(name: string, agent_id?: string, timezone: string, default_reminders?: any)

create_connection_link

Request human setup of Google Calendar or Microsoft Outlook for a Chronary calendar. Give setup_url to a human; the agent never receives OAuth credentials, provider calendar names, or event data. The secret URL is returned only on first creation. If reused=true and setup_url is null, retain the original URL or cancel this link and create a replacement.

create_connection_link(calendar_id: string, capabilities?: array, publication_policy?: string)

create_event

Create a booking, appointment, meeting, hold, or any scheduled event on a calendar. The calendar_id comes from create_calendar or list_events. Once created, this event blocks the agent's availability during that time and appears in availability queries. Use status="hold" with hold_expires_at to tentatively reserve a slot that auto-releases on TTL.

create_event(title: string, status?: string, all_day?: boolean, end_time: string, reminders?: any, start_time: string, calendar_id: string, description?: string, hold_priority?: integer, hold_expires_at?: string, recurrence_rule?: string)

create_proposal

Create a scheduling proposal — send a set of candidate time slots to one or more participant agents so they can accept, decline, or counter-propose. The organizer agent owns the proposal; once every participant responds, the system auto-resolves to the highest-scoring slot (or cancels if all decline). Requires an org-level API key. Pro plan only.

create_proposal(slots: array, title: string, expires_at?: string, calendar_id: string, description?: string, organizer_agent_id: string, participant_agent_ids: array)

create_scoped_key

Create an agent-scoped API key (chr_ak_*) that can only act on behalf of a single agent. Use this to self-provision or rotate per-agent credentials. The plaintext key is returned exactly once in the response — store it immediately, it cannot be retrieved later. Requires an org-level API key.

create_scoped_key(label?: string, agent_id: string)

create_webhook

Create a webhook subscription so the org receives HTTP POST notifications when events occur (e.g. event.created, proposal.confirmed). The signing secret is returned ONCE in this response — store it to verify the HMAC-SHA256 signature on delivered payloads. Requires an org-level API key.

create_webhook(url: string, events: array)

delete_agent

Decommission an agent. This marks the agent as decommissioned and revokes all of its scoped API keys. Requires an org-level API key — agent-scoped keys cannot delete agents.

delete_agent(agent_id: string)

delete_booking_page

Delete (deactivate) a booking page. Its hosted URL stops resolving; already-booked events are unaffected.

delete_booking_page(booking_page_id: string)

delete_calendar

Delete a calendar (soft delete). Its events are no longer returned and it stops contributing to availability. Agent-scoped keys may only delete calendars owned by their agent.

delete_calendar(calendar_id: string)

delete_ical_subscription

Delete an external iCal feed subscription. Events previously synced from the feed are no longer refreshed.

delete_ical_subscription(subscription_id: string)

delete_webhook

Permanently delete a webhook subscription. This frees its endpoint slot against the per-plan cap. Requires an org-level API key.

delete_webhook(webhook_id: string)

find_meeting_time

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.

find_meeting_time(end?: string, start?: string, agents?: array, duration?: string, end_time?: string, agent_ids?: array, calendars?: array, start_time?: string, include_busy?: boolean, slot_duration?: string)

get_agent

Fetch a single agent by ID. An agent represents an AI assistant, human, or shared resource (e.g. a meeting room). Agent-scoped API keys may only read their own agent.

get_agent(agent_id: string)

get_audit_log

List audit-log entries for the calling org — mutating operations and auth-lifecycle events, newest first. Results are clamped to the plan's retention window. Requires an org-level API key (chr_sk_*); agent-scoped keys cannot read the org-wide audit log.

get_audit_log(to?: string, from?: string, limit?: integer, action?: string, cursor?: string, actor_key_prefix?: string)

get_availability

Check when a single agent is free across its Chronary calendars and any human calendars authorized for that agent. This tool is fail-closed: always inspect `availability_state` and `warnings` before using slots. Accepts `start`/`end` or the `start_time`/`end_time` aliases.

get_availability(end?: string, start?: string, agent_id: string, duration?: string, end_time?: string, start_time?: string, include_busy?: boolean, slot_duration?: string)

get_availability_rules

Read the buffer times and working-hours rules configured on a calendar. Returns the rules row, or an error if none are set.

get_availability_rules(calendar_id: string)

get_booking_page

Fetch a single booking page by ID, including its public booking_url and settings.

get_booking_page(booking_page_id: string)

get_calendar

Fetch a single calendar by ID, including its name, timezone, agent status, and default reminders. Agent-scoped keys may only read calendars owned by their agent.

get_calendar(calendar_id: string)

get_calendar_context

Get a calendar's temporal context in a single call: the current event (if one is happening now), the next upcoming event, recent past events, a short upcoming window, and the owning agent's status (idle/working/waiting/error). Use this to answer "what is this agent doing right now?" without issuing multiple list_events queries.

get_calendar_context(calendar_id: string)

get_connection_link

Poll a human-calendar setup request. Returns provider-neutral status and resulting connection ID when complete, but never replays the bearer setup URL or exposes human calendar data.

get_connection_link(connection_link_id: string)

get_event

Retrieve a single event by ID, including its title, times, status, location, reminders, and metadata. Works for both internally created events and externally synced iCal events. `calendar_id` is optional — if omitted the calendar is resolved from the event. Provide `calendar_id` to fail fast on cross-calendar typos.

get_event(event_id: string, calendar_id?: string)

get_ical_subscription

Get a single external iCal feed subscription by id, including its sync status, last sync time, and last error.

get_ical_subscription(subscription_id: string)

get_proposal

Get a scheduling proposal by id, including its slots and per-participant responses. Requires an org-level API key.

get_proposal(proposal_id: string)

get_usage

Get the calling org's current-period usage and plan limits (agents, calendars, events, API calls, webhooks, availability queries, iCal subscriptions, proposals, scoped keys, holds, cross-calendar queries). Requires an org-level API key (chr_sk_*); agent-scoped keys cannot read org-wide usage.

get_usage()

get_webhook

Get a single webhook subscription by id, including its subscribed event types and active state. The signing secret is never returned. Requires an org-level API key.

get_webhook(webhook_id: string)

list_agents

List all agents in your organization

list_agents(type?: string, limit?: integer, offset?: integer, status?: string)

list_booking_pages

List booking pages in the org. Agent-scoped keys see only pages on their own agent's calendars.

list_booking_pages(limit?: integer, offset?: integer)

list_calendars

List calendars in the org. Org-level API keys see every calendar (agent-owned and shared); agent-scoped keys see only their own agent's calendars. Use this to discover calendar IDs before creating or listing events.

list_calendars(limit?: integer, offset?: integer, include?: string, agent_id?: string)

list_events

List events on a calendar or across an agent's calendars, including internally created events and externally synced events from iCal subscriptions (e.g. Google Calendar, Outlook). Provide `calendar_id` OR `agent_id`. Narrow with `start_after`/`start_before` (time window), `status`, and `source`.

list_events(limit?: integer, expand?: boolean, offset?: integer, source?: string, status?: string, agent_id?: string, calendar_id?: string, start_after?: string, start_before?: string)

list_ical_subscriptions

List an agent's external iCal feed subscriptions (e.g. linked Google Calendar / Outlook feeds), including their sync status and last sync time.

list_ical_subscriptions(limit?: integer, offset?: integer, status?: string, agent_id: string)

list_proposals

List scheduling proposals for the org. Filter by status (pending|confirmed|expired|cancelled) or organizer_agent_id. Requires an org-level API key.

list_proposals(limit?: integer, offset?: integer, status?: string, organizer_agent_id?: string)

list_scoped_keys

List all live (non-revoked) agent-scoped API keys for this org. Returns key metadata only (id, prefix, agent_id, label, created_at) — never the plaintext secret. Requires an org-level API key.

list_scoped_keys()

list_webhook_deliveries

List delivery attempts for a webhook subscription, with per-status counts (pending/delivered/failed). Use this to debug failing deliveries. Requires an org-level API key.

list_webhook_deliveries(limit?: integer, offset?: integer, status?: string, webhook_id: string, include_payload?: boolean)

list_webhooks

List the org's webhook subscriptions with their subscribed event types and active state. Signing secrets are never returned. Requires an org-level API key.

list_webhooks(limit?: integer, offset?: integer)

release_event

Manually release a held event before its hold_expires_at. The event must currently have status="hold". Frees the slot for other agents to book.

release_event(event_id: string)

resolve_proposal

Force-resolve an open proposal using responses collected so far. Picks the highest-scoring slot among those accepted by the most participants and creates a confirmed calendar event. If every response was "decline", the proposal is cancelled instead. Use when you want to close out a proposal without waiting for every participant. Requires an org-level API key. Pro plan only.

resolve_proposal(proposal_id: string)

respond_to_proposal

Submit a response (accept / decline / counter) on behalf of one participant agent to an open proposal. An "accept" requires the slot id from the proposal; a "counter" can suggest alternative slots. When all participants have responded the proposal auto-resolves — no separate resolve call needed in the normal flow. Requires an org-level API key. Pro plan only.

respond_to_proposal(message?: string, agent_id: string, response: string, proposal_id: string, counter_slots?: array, selected_slot_id?: string)

revoke_scoped_key

Revoke an agent-scoped API key by ID. Revocation is permanent (cannot be un-revoked); the key stops authenticating within about a minute. Requires an org-level API key.

revoke_scoped_key(key_id: string)

set_availability_rules

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.

set_availability_rules(timezone?: string, calendar_id: string, working_hours?: any, buffer_after_minutes?: integer, buffer_before_minutes?: integer)

subscribe_ical

Link an external iCal feed (e.g. a human's Google Calendar) to an agent's calendar so external events appear in availability calculations. The target calendar must be owned by the specified agent — create the calendar with that agent_id first (org-level calendars without an agent_id cannot host external iCal subscriptions; create a dedicated per-agent calendar for sync targets).

subscribe_ical(url: string, label?: string, agent_id: string, calendar_id: string)

sync_ical_subscription

Trigger an immediate sync of an external iCal feed subscription instead of waiting for the next scheduled poll. Returns once the sync has been queued.

sync_ical_subscription(subscription_id: string)

update_agent

Update an agent's name, description, metadata, or status (active/paused). Requires an org-level API key — agent-scoped keys cannot mutate agents.

update_agent(name?: string, status?: string, agent_id: string, metadata?: object, description?: string|null)

update_calendar

Update a calendar's name, timezone, agent status, default reminders, or metadata. Agent-scoped keys may only update calendars owned by their agent.

update_calendar(name?: string, metadata?: object, timezone?: string, calendar_id: string, agent_status?: string, default_reminders?: any)

update_event

Reschedule or edit an event — change its title, description, start/end times, location, status, reminders, or metadata. Use this to move an appointment to a new time or update its details. Provide only the fields you want to change. Holds cannot be edited via this tool (use confirm_event / release_event). External iCal events are read-only. `calendar_id` is optional — if omitted it is resolved from the event.

update_event(title?: string, status?: string, all_day?: boolean, end_time?: string, event_id: string, metadata?: object, reminders?: any, start_time?: string, calendar_id?: string, description?: string|null, recurrence_rule?: any)

update_ical_subscription

Update an external iCal feed subscription — change its label or its feed URL. Changing the URL forces a full re-sync on the next poll.

update_ical_subscription(url?: string, label?: string, subscription_id: string)

update_webhook

Update a webhook subscription — change its delivery URL, the set of subscribed event types, or pause/resume it via active. At least one field must be supplied. Requires an org-level API key.

update_webhook(url?: string, active?: boolean, events?: array, webhook_id: string)

Вопросы, новые серверы, обсуждение MCP

t.me/rusmcp · t.me/RusMcp_bot