What problem does this solve?
Right now, connecting SavvyCal to AI agents and LLM-based workflows (Claude, Cursor, n8n AI nodes, etc.) requires writing custom API wrappers. MCP is becoming the standard protocol for exposing SaaS capabilities to AI tools — Stripe, Notion, Linear, and others already have MCP servers. A SavvyCal MCP server would allow any MCP-compatible client to read and manipulate scheduling data without writing glue code.
---
Proposed tool set for a v1 MCP server
The following tools map directly onto the existing REST API surface and would cover the most useful agent interactions.
Read tools
  • list_events
    — Fetch scheduled events with optional filters: date range (
    starts_after
    ,
    starts_before
    ), state (
    scheduled
    ,
    canceled
    ), pagination. Core for any agent that needs to reason about a calendar.
  • get_event
    — Retrieve full event details by ID: attendees, conferencing info, answers to custom questions, payment status.
  • list_scheduling_links
    — List all links with their slug, name, active state, and duration. Useful for agents choosing which link to share or inspect.
  • get_scheduling_link
    — Full detail on a single link: availability rules, buffer times, payment config, workflow associations.
  • get_available_slots
    — Query open time slots for a given link, date range, and timezone. Enables agents to suggest available times in a conversation without redirecting to the booking page.
  • get_current_user
    — Retrieve authenticated user profile (name, email, timezone, handle). Useful for context and for constructing booking URLs.
  • list_webhooks
    — List configured webhooks (URL, events subscribed). Diagnostic use in automation audits.
  • list_workflows
    — List workflows and their rules. Lets an agent explain or audit what automations are active on a given link.
Write tools
  • create_event
    — Book a meeting programmatically on a given link for a specific slot. Required for agents that complete a booking on behalf of a user after negotiating availability in chat.
  • cancel_event
    — Cancel a scheduled event by ID, with optional cancellation reason. Lets agents handle rescheduling or no-show logic.
  • create_scheduling_link
    — Create a new personal scheduling link with a name, slug, duration, and basic availability. Useful for agents that provision links dynamically (e.g., one link per client, one per cohort).
  • update_scheduling_link
    — Update an existing link's settings (name, duration, availability, buffer, limits). Lets an agent reconfigure links without the user going through the UI.
  • toggle_scheduling_link
    — Enable or disable a link. Simple but valuable for agents managing seasonal availability or temporary closures.
  • duplicate_scheduling_link
    — Duplicate an existing link as a starting point. Speeds up link creation workflows.
---
Authentication
Personal access tokens are sufficient for single-account use cases (the primary MCP scenario). OAuth support would be needed to allow multi-user deployments (e.g., a shared team assistant operating across member accounts), but that can be v2.
---
Why this matters
Scheduling is one of the most frequent AI agent tasks. SavvyCal's overlay model and ranker UX make it genuinely superior for human-to-human scheduling, but agents booking on behalf of users don't need that UI — they need API + MCP. Without it, the workflow is: agent → custom wrapper → SavvyCal REST API, which most non-developers won't set up. With an official MCP server, SavvyCal becomes a first-class citizen in AI-native workflows (Claude Projects, Cursor, open-source agents) with no custom code required.
---
Prior art / references