Read and create SavvyCal scheduling links and booked 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.
Cancel a booked event/meeting. This notifies attendees and frees the slot. SavvyCal REST: DELETE /events/{id}.
The event id to cancel.
Optional cancellation reason (→ request body { reason }).
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.
Cancel a booked event/meeting. This notifies attendees and frees the slot. SavvyCal REST: DELETE /events/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The event id to cancel. |
| reason | string | Optional cancellation reason (→ request body { reason }). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The event id to cancel."
},
"reason": {
"type": "string",
"description": "Optional cancellation reason (→ request body { reason })."
}
}
}Create a copy of an existing scheduling link. SavvyCal REST: POST /links/{id}/duplicate.
| Argument | Type | Description |
|---|---|---|
| id* | string | The scheduling link id to duplicate. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The scheduling link id to duplicate."
}
}
}Get a single booked event/meeting by id. SavvyCal REST: GET /events/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The event id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The event id."
}
}
}Get a single scheduling link by id. SavvyCal REST: GET /links/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The scheduling link id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The scheduling link id."
}
}
}Get available booking time slots for a scheduling link. Returns slots with start_at/end_at/duration/rank. SavvyCal REST: GET /links/{id}/slots.
| Argument | Type | Description |
|---|---|---|
| id* | string | The scheduling link id. |
| duration | integer | Slot duration in minutes to request (→ query param duration). |
| time_zone | string | IANA time zone for the slots, e.g. America/New_York (→ query param time_zone). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The scheduling link id."
},
"duration": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Slot duration in minutes to request (→ query param duration)."
},
"time_zone": {
"type": "string",
"description": "IANA time zone for the slots, e.g. America/New_York (→ query param time_zone)."
}
}
}List booked events/meetings (paginated). SavvyCal REST: GET /events.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max records to return (pagination limit). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Max records to return (pagination limit)."
}
}
}List the authenticated user's scheduling links (paginated). SavvyCal REST: GET /links.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max records to return (pagination limit). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Max records to return (pagination limit)."
}
}
}Toggle a scheduling link between active and disabled (changes whether the public booking page accepts bookings). SavvyCal REST: POST /links/{id}/toggle.
| Argument | Type | Description |
|---|---|---|
| id* | string | The scheduling link id to toggle. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The scheduling link id to toggle."
}
}
}