MCP server for Cronofy — read calendars, events and free/busy, and create, update or delete events.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Deletes an event (by your event_id) from a real connected calendar. Destructive. API: DELETE /v1/calendars/{calendar_id}/events.
YOUR event_id for the event to delete (sent in the JSON body).
Calendar id the event lives on.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Deletes an event (by your event_id) from a real connected calendar. Destructive. API: DELETE /v1/calendars/{calendar_id}/events.
| Argument | Type | Description |
|---|---|---|
| event_id* | string | YOUR event_id for the event to delete (sent in the JSON body). |
| calendar_id* | string | Calendar id the event lives on. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"calendar_id",
"event_id"
],
"properties": {
"event_id": {
"type": "string",
"description": "YOUR event_id for the event to delete (sent in the JSON body)."
},
"calendar_id": {
"type": "string",
"description": "Calendar id the event lives on."
}
}
}Get the authenticated Cronofy account's details (id, email, name, default tzid, locale). API: GET /v1/account.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Read free/busy information across the account's calendars over a time window. Returns { pages, free_busy }. API: GET /v1/free_busy.
| Argument | Type | Description |
|---|---|---|
| to | string | End of the window — date (yyyy-mm-dd) or ISO 8601 datetime. |
| from | string | Start of the window — date (yyyy-mm-dd) or ISO 8601 datetime. |
| tzid* | string | REQUIRED time zone id for the response, e.g. "Etc/UTC". |
| calendar_ids | array | Restrict to these calendar ids (sent as repeated calendar_ids[] params). |
| include_managed | boolean | Include events created via the Cronofy API. Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tzid"
],
"properties": {
"to": {
"type": "string",
"description": "End of the window — date (yyyy-mm-dd) or ISO 8601 datetime."
},
"from": {
"type": "string",
"description": "Start of the window — date (yyyy-mm-dd) or ISO 8601 datetime."
},
"tzid": {
"type": "string",
"description": "REQUIRED time zone id for the response, e.g. \"Etc/UTC\"."
},
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to these calendar ids (sent as repeated calendar_ids[] params)."
},
"include_managed": {
"type": "boolean",
"description": "Include events created via the Cronofy API. Default false."
}
}
}Get the OpenID-style profile of the authenticated user (sub, email, Cronofy profile info). API: GET /v1/userinfo.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List all calendars the authenticated account can see (id, name, profile, readonly, primary). API: GET /v1/calendars.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the connected calendar accounts/profiles (e.g. Google, Office 365) linked to this Cronofy account. API: GET /v1/profiles.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Read events across the account's calendars over a time window. Returns { pages, events }. API: GET /v1/events.
| Argument | Type | Description |
|---|---|---|
| to | string | End of the window — date (yyyy-mm-dd) or ISO 8601 datetime. |
| from | string | Start of the window — date (yyyy-mm-dd) or ISO 8601 datetime. |
| tzid* | string | REQUIRED time zone id for the response, e.g. "Etc/UTC" or "America/New_York". |
| calendar_ids | array | Restrict to these calendar ids (sent as repeated calendar_ids[] params). |
| only_managed | boolean | Return only events created via the Cronofy API. Default false. |
| last_modified | string | Only events modified since this ISO 8601 datetime. |
| include_deleted | boolean | Include deleted events. Default false. |
| include_managed | boolean | Include events created via the Cronofy API. Default false. |
Creates or updates an event on a REAL connected calendar (upsert by event_id). This writes to the user's actual calendar. API: POST /v1/calendars/{calendar_id}/events.
| Argument | Type | Description |
|---|---|---|
| end* | string | Event end — ISO 8601 datetime or a date (yyyy-mm-dd) string. |
| tzid | string | Time zone id for the start/end, e.g. "America/New_York". |
| start* | string | Event start — ISO 8601 datetime or a date (yyyy-mm-dd) string. |
| summary* | string | Event title/summary. |
| event_id* | string | YOUR unique id for the event. Re-using it updates the same event. |
| calendar_id* | string | Target calendar id (from cronofy_list_calendars). |
| description | string | Event description/body. |
| location_description | string | Free-text location (sent as location.description). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tzid"
],
"properties": {
"to": {
"type": "string",
"description": "End of the window — date (yyyy-mm-dd) or ISO 8601 datetime."
},
"from": {
"type": "string",
"description": "Start of the window — date (yyyy-mm-dd) or ISO 8601 datetime."
},
"tzid": {
"type": "string",
"description": "REQUIRED time zone id for the response, e.g. \"Etc/UTC\" or \"America/New_York\"."
},
"calendar_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to these calendar ids (sent as repeated calendar_ids[] params)."
},
"only_managed": {
"type": "boolean",
"description": "Return only events created via the Cronofy API. Default false."
},
"last_modified": {
"type": "string",
"description": "Only events modified since this ISO 8601 datetime."
},
"include_deleted": {
"type": "boolean",
"description": "Include deleted events. Default false."
},
"include_managed": {
"type": "boolean",
"description": "Include events created via the Cronofy API. Default false."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"calendar_id",
"event_id",
"summary",
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"description": "Event end — ISO 8601 datetime or a date (yyyy-mm-dd) string."
},
"tzid": {
"type": "string",
"description": "Time zone id for the start/end, e.g. \"America/New_York\"."
},
"start": {
"type": "string",
"description": "Event start — ISO 8601 datetime or a date (yyyy-mm-dd) string."
},
"summary": {
"type": "string",
"description": "Event title/summary."
},
"event_id": {
"type": "string",
"description": "YOUR unique id for the event. Re-using it updates the same event."
},
"calendar_id": {
"type": "string",
"description": "Target calendar id (from cronofy_list_calendars)."
},
"description": {
"type": "string",
"description": "Event description/body."
},
"location_description": {
"type": "string",
"description": "Free-text location (sent as location.description)."
}
}
}