Back to MCP Servers

Calendly MCP Server

Official Calendly-hosted MCP server for scheduling actions: list event types, find available times, book, cancel, and reschedule meetings via AI assistants.

Collaboration by Calendly OAuth2 active
Overview

The Calendly MCP server is an official, fully hosted Model Context Protocol endpoint at https://mcp.calendly.com that lets AI assistants and agents take real scheduling actions on a connected Calendly account. It maps tools to Calendly's public API v2, covering event types, scheduled events, invitees, availability schedules, busy times, scheduling links, routing forms, and organization management.

The server is provider-hosted only. There is no self-hosting or local deployment option, and no official open-source GitHub repository. Authentication uses OAuth 2.1 Authorization Code with PKCE (S256) and Dynamic Client Registration (DCR, RFC 7591), so the MCP client must self-register at runtime to obtain a client_id. Clients that only support pasting a pre-issued client_id/client_secret from a developer console will not work with Calendly MCP today. Required scopes are mcp:scheduling:read and mcp:scheduling:write.

Each tool ships with annotation metadata (a human-readable title and hints like readOnlyHint, destructiveHint, idempotentHint) so MCP clients can present clearer confirmations and optimize repeated calls. Calendly also offers a first-party connector in Claude (web and desktop) that wraps the same MCP server, so most users do not need to configure JSON manually.

Tools

Tool Description
event_types-list_event_types List event types for a user or organization.
event_types-get_event_type Retrieve event type details.
event_types-create_event_type Create a new event type.
event_types-update_event_type Update event type details.
event_types-list_event_type_available_times List available time slots for an event type.
event_types-list_event_type_availability_schedule List availability schedules attached to an event type.
event_types-update_event_type_availability_schedule Update an availability schedule on an event type.
locations-list_user_meeting_locations List a user's meeting locations.
meetings-list_events List scheduled events with optional filters.
meetings-get_event Retrieve a scheduled event's details.
meetings-cancel_event Cancel a scheduled event.
meetings-create_invitee Create a new booking via the Scheduling API.
meetings-list_event_invitees List invitees for an event.
meetings-get_event_invitee Get invitee details for an event.
meetings-create_invitee_no_show Mark an invitee as a no-show.
meetings-get_invitee_no_show Get no-show details.
meetings-delete_invitee_no_show Remove no-show status from an invitee.
scheduling_links-create_single_use_scheduling_link Create a single-use scheduling link without customization.
shares-create_share Create and customize a single-use scheduling link (share).
availability-list_user_availability_schedules List a user's availability schedules.
availability-get_user_availability_schedule Get details of an availability schedule.
availability-list_user_busy_times List busy times for a user within a range.
routing_forms-list_routing_forms List routing forms.
routing_forms-get_routing_form Get routing form details.
routing_forms-list_routing_form_submissions List submissions for a routing form.
routing_forms-get_routing_form_submission Retrieve a routing form submission.
users-get_current_user Get the authenticated user.
users-get_user Get a specific user by UUID.
organizations-get_organization Retrieve organization details.
organizations-list_organization_memberships List organization members.
organizations-get_organization_membership Get membership details.
organizations-delete_organization_membership Remove a member from the organization.
organizations-list_organization_invitations List pending invitations.
organizations-create_organization_invitation Invite a user to the organization.
organizations-revoke_organization_invitation Revoke a pending invitation.
Setup Guide

Prerequisites

  • A Calendly account with permission to authorize OAuth apps.
  • An MCP client that supports OAuth 2.1 Authorization Code + PKCE and Dynamic Client Registration (DCR, RFC 7591). Clients that only accept a pre-issued client_id/client_secret will not work.

Server URL

https://mcp.calendly.com/

The server is fully hosted by Calendly. Self-hosting and personal access tokens are not supported.

OAuth scopes

The server requires both of:

  • mcp:scheduling:read
  • mcp:scheduling:write

Connect from Claude (web or desktop)

The easiest path is the first-party Calendly connector:

  • Open Claude, go to Customize in the sidebar.
  • Choose Connect your tools and search for Calendly.
  • Sign in to Calendly when prompted and click Approve.

Connect from a generic MCP client

For clients that support remote MCP servers with DCR, add a custom connector pointing to:

{
  "mcpServers": {
    "calendly": {
      "url": "https://mcp.calendly.com/"
    }
  }
}

On first use, the client will:

  1. Receive a 401 with a WWW-Authenticate resource metadata URL.
  2. Fetch /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server.
  3. POST to the registration endpoint (DCR) to obtain a client_id.
  4. Run OAuth 2.1 Authorization Code + PKCE (S256) and request mcp:scheduling:read mcp:scheduling:write.

Production redirect URIs must use HTTPS with no wildcards. http://localhost and http://127.0.0.1 are accepted for local development.

Use Cases
  • Let an assistant book, reschedule, or cancel meetings on a user's calendar from chat, without leaving the AI tool.
  • Generate single-use scheduling links during outreach or support conversations and paste them into replies.
  • Pull a user's busy times and event type availability so an agent can negotiate a meeting time across attendees.
  • Triage scheduled events: list upcoming meetings, fetch invitee details, and mark no-shows after the fact.
  • Manage routing forms and submissions, or organization memberships and invitations, via an admin-facing agent.
Example Prompts
  • "What event types do I have, and what's my next available 30 minute slot this week?"
  • "Cancel my 3pm meeting with Priya tomorrow and send a note that I'll reschedule."
  • "Create a single-use scheduling link for a 45 minute intro call and give it to me."
  • "List everyone who booked time with me last week and flag any no-shows."
  • "Invite alex@acme.com to my Calendly organization as a member."
Pros
  • Official, Calendly-hosted server with no infrastructure to run.
  • Broad tool coverage across event types, bookings, availability, routing forms, and org admin.
  • Uses standards-based OAuth 2.1 + PKCE with Dynamic Client Registration, so no manual app provisioning.
  • Tools ship with MCP annotation hints (readOnlyHint, destructiveHint, idempotentHint) for safer agent UX.
Limitations
  • No self-hosting or local deployment option, and no official open-source repository.
  • Requires an MCP client that supports Dynamic Client Registration; clients expecting a pasted client_id/client_secret or personal access token are not compatible.
  • Personal access tokens and manually provisioned OAuth apps are explicitly unsupported, limiting scripted or headless use.
Alternatives