Calendly MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UV_PUBLISH_TOKEN | No | Your token used for publishing. | |
| UV_PUBLISH_PASSWORD | No | Your password for publishing. | |
| UV_PUBLISH_USERNAME | No | Your username for publishing. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_activity_logB | List activity log entries. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: activity_log:read. |
| get_availability_scheduleC | Get User Availability Schedule. Reads Calendly data. Required scopes: availability:read. |
| list_event_type_availability_schedulesC | List Event Type Availability Schedules. Reads Calendly data. Required scopes: availability:read. |
| update_event_type_availability_schedulesB | Update Event Type Availability Schedules. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: availability:write. |
| list_availability_schedulesB | List User Availability Schedules. Reads Calendly data. Required scopes: availability:read. |
| list_user_busy_timesC | List User Busy Times. Reads Calendly data. Required scopes: availability:read. |
| create_contactC | Create Contact. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: contacts:write. |
| list_contactsB | List Contacts. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: contacts:read. |
| delete_contactA | Delete Contact. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: contacts:write. |
| get_contactC | Get Contact. Reads Calendly data. Required scopes: contacts:read. |
| update_contactC | Update Contact. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: contacts:write. |
| get_contact_custom_field_definitionC | Get Contact Custom Field Definition. Reads Calendly data. Required scopes: contacts:read. |
| list_contact_custom_field_definitionsB | List Contact Custom Field Definitions. Reads Calendly data. Required scopes: contacts:read. |
| delete_invitee_dataB | Delete Invitee Data. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: data_compliance:write. |
| delete_scheduled_event_dataA | Delete Scheduled Event Data. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: data_compliance:write. |
| create_event_typeB | Create Event Type. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: event_types:write. |
| list_event_typesA | List User's Event Types. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: event_types:read. |
| create_one_off_event_typeB | Create One-Off Event Type. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: event_types:write. |
| get_event_typeC | Get Event Type. Reads Calendly data. Required scopes: event_types:read. |
| update_event_typeB | Update Event Type. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: event_types:write. |
| list_event_type_available_timesC | List Event Type Available Times. Reads Calendly data. Required scopes: availability:read. |
| list_event_type_hostsB | List Event Type Hosts. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: event_types:read. |
| get_groupC | Get Group. Reads Calendly data. Required scopes: groups:read. |
| get_group_relationshipC | Get Group Relationship. Reads Calendly data. Required scopes: groups:read. |
| list_group_relationshipsB | List Group Relationships. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: groups:read. |
| list_groupsB | List Groups. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: groups:read. |
| list_user_locationsB | List User Meeting Locations. Reads Calendly data. Required scopes: locations:read. |
| delete_recapB | Delete Recap. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: meeting_recaps:write. |
| get_recapC | Get Recap. Reads Calendly data. Required scopes: meeting_recaps:read. |
| update_recapA | Update Recap. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: meeting_recaps:write. |
| get_transcriptC | Get Transcript. Reads Calendly data. Required scopes: meeting_recaps:read. |
| list_recapsB | List Recaps. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: meeting_recaps:read. |
| get_organizationA | Get Organization. Reads Calendly data. Required scopes: organizations:read. |
| get_organization_invitationC | Get Organization Invitation. Reads Calendly data. Required scopes: organizations:read. |
| revoke_organization_invitationA | Revoke User's Organization Invitation. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: organizations:write. |
| get_organization_membershipC | Get Organization Membership. Reads Calendly data. Required scopes: organizations:read. |
| remove_from_organizationA | Remove User from Organization. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: organizations:write. |
| get_teamC | Get Team. Reads Calendly data. Required scopes: organizations:read. |
| invite_to_organizationB | Invite User to Organization. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: organizations:write. |
| list_organization_invitationsB | List Organization Invitations. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: organizations:read. |
| list_organization_membershipsC | List Organization Memberships. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: organizations:read. |
| list_teamsB | List Teams. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: organizations:read. |
| list_outgoing_communicationsB | List outgoing communications. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: outgoing_communications:read. |
| get_routing_formC | Get Routing Form. Reads Calendly data. Required scopes: routing_forms:read. |
| get_routing_form_submissionB | Get Routing Form Submission. Reads Calendly data. Required scopes: routing_forms:read. |
| list_routing_form_submissionsC | List Routing Form Submissions. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: routing_forms:read. |
| list_routing_formsB | List Routing Forms. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: routing_forms:read. |
| cancel_eventA | Cancel Event. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: scheduled_events:write. |
| create_inviteeB | Create Event Invitee (Scheduling API). Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: scheduled_events:write. |
| create_no_showB | Create Invitee No Show. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: scheduled_events:write. |
| delete_no_showC | Delete Invitee No Show. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: scheduled_events:write. |
| get_no_showC | Get Invitee No Show. Reads Calendly data. Required scopes: scheduled_events:read. |
| get_eventC | Get Event. Reads Calendly data. Required scopes: scheduled_events:read. |
| get_event_inviteeC | Get Event Invitee. Reads Calendly data. Required scopes: scheduled_events:read. |
| list_event_inviteesB | List Event Invitees. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: scheduled_events:read. |
| list_eventsC | List Events. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: scheduled_events:read. |
| create_scheduling_linkA | Create Single-Use Scheduling Link. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: scheduling_links:write. |
| create_shareC | Create Share. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: shares:write. |
| get_current_userB | Get current user. Reads Calendly data. Required scopes: users:read. |
| get_userC | Get user. Reads Calendly data. Required scopes: users:read. |
| create_webhookB | Create Webhook Subscription. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: scheduled_events:read, event_types:read, meeting_recaps:read, routing_forms:read, contacts:read, webhooks:write. |
| list_webhooksB | List Webhook Subscriptions. Reads Calendly data. Supports bounded opaque page_token retrieval. Required scopes: webhooks:read. |
| delete_webhookA | Delete Webhook Subscription. Changes Calendly state and requires confirm=true for the specific requested action. Required scopes: webhooks:write. |
| get_webhookB | Get Webhook Subscription. Reads Calendly data. Required scopes: webhooks:read. |
| get_sample_webhook_dataC | Get sample webhook data. Reads Calendly data. Required scopes: webhooks:read. |
| list_accountsA | List private account labels, default selection and configured token method. No credentials, token paths or Calendly content; no network request. |
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 66 tools
Tool names are mostly distinct, but many share similar patterns (e.g., get_group_relationship vs list_group_relationships; get_event_type vs list_event_type_availability_schedules; get_contact vs get_contact_custom_field_definition) and there are two tools named 'get_current_user' and 'get_user', 'list_events' vs 'list_activity_log' (which may overlap), and 'list_teams' vs 'list_groups' which could be confused. Descriptions help but the volume and specificity create occasional ambiguity.
Names follow a consistent verb_noun pattern with snake_case throughout (e.g., get_, list_, create_, update_, delete_). The pattern is largely predictable, with only minor deviations such as 'create_one_off_event_type' and 'invite_to_organization' that slightly break the regular noun phrase structure.
With 66 tools, the surface is very large for a single MCP server, likely overwhelming for an agent and increasing selection errors. While Calendly's API is broad, this exceeds the typical 3-15 range for well-scoped servers and would benefit from splitting by functional area or using more generic resource-oriented tools.
The set covers a wide range of Calendly domains (users, events, invitees, event types, availability, groups, organizations, routing forms, webhooks, etc.) with CRUD operations for many. However, a few gaps exist: no delete for event types (only create/update), no update for webhooks, and limited CRUD for routing forms (only read operations). These are minor gaps that agents can largely work around.