SavvyCal MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAVVYCAL_TOKEN | Yes | Personal access token, or an OAuth access token. | |
| SAVVYCAL_BASE_URL | No | Override for testing. | https://api.savvycal.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_current_userA | Get the authenticated SavvyCal user (name, email, time zone, etc). |
| list_scheduling_linksB | List the user's scheduling links (id, name, slug, url, durations, state). |
| get_scheduling_linkB | Get one scheduling link with its settings and booking form fields. |
| toggle_scheduling_linkB | Toggle a scheduling link between active and disabled. |
| find_available_slotsA | Find bookable time slots on a scheduling link, grouped by day with readable local times. Defaults to the next 7 days (max 31). Use the exact start_at/end_at of a slot when calling book_meeting. |
| list_eventsC | List scheduled meetings. Filter by state, period (upcoming/past/fixed date range), link, and sort direction. |
| get_eventA | Get one meeting with attendees, conferencing details and form answers. |
| book_meetingA | Book a meeting on a scheduling link for someone. start_at/end_at must exactly match an available slot from find_available_slots. Sends real calendar invites, so confirm details with the user first. |
| cancel_meetingA | Cancel a scheduled meeting. Attendees are notified, and this cannot be undone, so confirm with the user first. |
| list_webhooksC | List configured webhooks. |
| create_webhookA | Register a URL that receives SavvyCal event notifications (bookings, cancellations, etc). |
| delete_webhookC | Delete a webhook by id. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource+action: user, scheduling links (list/get/toggle), availability slots, events (list/get/book/cancel), and webhooks (list/create/delete). The find_available_slots vs book_meeting pairing and toggle vs get for links are clearly separated by descriptions. No two tools appear interchangeable.
Nearly all tools follow a clean verb_noun snake_case pattern (list_scheduling_links, get_event, create_webhook, delete_webhook). Minor inconsistency: the same underlying entity is referred to both as 'event' (list_events, get_event) and 'meeting' (book_meeting, cancel_meeting), and 'book' vs 'create' diverge slightly. Still highly readable and predictable.
12 tools is well-scoped for a scheduling/booking domain, spanning the three natural clusters (links, events, webhooks) plus user context. Every tool maps to a real workflow with no filler or redundancy.
Core booking lifecycle is covered (find slots, book, cancel, list/get events) and webhooks have near-full CRUD. Notable gap: scheduling links only support list/get/toggle, with no create/update/delete, and events can't be rescheduled directly (only cancel+rebook). Agents can work around these but the surface isn't fully symmetric.