# Cal.com MCP MCP

> Cal.com MCP connects your AI agent directly to professional scheduling infrastructure. Use it to find free time slots, book meetings, or reschedule appointments without sending a single email back and forth.

## Overview
- **Category:** loved-by-devs
- **Price:** Free
- **Tags:** meeting-automation, booking-infrastructure, availability-management, scheduling-links, calendar-sync

## Description

Forget the endless cycle of 'Are you free Tuesday?' emails. This MCP lets your AI client take over your entire meeting coordination process using natural conversation. You can manage every part of your booking lifecycle—from finding open time to finalizing a calendar invite—all through your agent.

It handles everything from listing past meetings and checking current availability schedules to setting up new templates for different types of calls. The power is that you don't have to worry about where the keys are stored; when you use this MCP, credentials pass through Vinkius’s zero-trust proxy. They are only used in transit, so your sensitive booking data never sits on a disk. This lets you build complex automations—for example, having your agent check user availability first, then suggest new slots, and finally book it all out.

The result is that your AI acts like a dedicated executive assistant who lives inside your client app. It knows your working hours, tracks which templates you use most often, and lets you update bookings in real time.

## Tools

### cancel_booking
Removes an existing meeting from your schedule.

### create_new_booking
Schedules a brand new meeting on your calendar.

### get_available_slots
Locates open times for you based on specific criteria and date ranges.

### get_booking_details
Retrieves all the information about a single, existing meeting.

### get_event_type_details
Shows details for a specific booking template you use (like 'Onboarding Call').

### get_my_profile
Pulls your personal account settings and metadata from Cal.com.

### list_active_webhooks
Displays all the event configurations that are currently sending data out of your system.

### list_availability_schedules
Lists all your defined working hours and time restrictions.

### list_bookings
Generates a list of all the meetings you currently have scheduled.

### list_event_types
Lists every template name (like 'Demo' or 'Check-in') that you can use to schedule calls.

### reschedule_meeting
Changes the time and date of a previously booked meeting.

### test_cal_auth
Confirms that your AI client can successfully connect to your Cal.com account.

## Prompt Examples

**Prompt:** 
```
List all my upcoming bookings for the next 7 days.
```

**Response:** 
```
I've retrieved your schedule. You have 4 upcoming bookings, including a 'Strategy Session' tomorrow at 2 PM and 3 other meetings. Would you like the detailed attendee metadata for any of these?
```

**Prompt:** 
```
Find available slots for a 'Discovery Call' tomorrow between 9 AM and 12 PM.
```

**Response:** 
```
Scanning availability... I found 3 open slots for your 'Discovery Call' template: 9:30 AM, 10:30 AM, and 11:15 AM. Shall I book one of these for you?
```

**Prompt:** 
```
Cancel my booking ID '12345' because of a conflict.
```

**Response:** 
```
Booking cancelled! I've successfully removed meeting 12345 from your schedule. A notification has been sent to the attendees. Need help finding a new time slot?
```

## Capabilities

### Schedule new meetings
Creates an official booking on your calendar using a specific template.

### Find available times
Checks your working hours and calendars to identify open time slots for a given date range.

### View upcoming bookings
Retrieves a list of all scheduled meetings, giving you an overview of your next few weeks.

### Adjust or cancel appointments
Updates the time of an existing meeting or removes it entirely from your schedule.

### Manage booking templates
Looks up details about different types of meetings you offer, like 'Discovery Call' or 'Follow-up'.

## Use Cases

### The Sales Team Needs To Book A Demo
A sales rep needs to schedule a follow-up call but has no idea when the client is free. They tell their agent: 'Find available slots for a 30-minute Discovery Call next week.' The agent uses `get_available_slots` and suggests three perfect times, which the rep confirms using `create_new_booking`.

### The Executive Needs To Change A Time Zone
An executive has a meeting scheduled for last month that needs to move due to travel. They ask their agent to update it, and the agent uses `reschedule_meeting`, handling all time zone differences automatically.

### The EA Needs To Audit Booking Types
An executive assistant questions which meeting types are being used most often. She prompts the agent to call `list_event_types` and review the metadata for each template using `get_event_type_details`.

### The User Needs To Cancel A Meeting
A booked meeting is canceled due to an internal conflict. The user prompts: 'Cancel my appointment with ID 12345.' The agent executes `cancel_booking`, removes it, and notifies all attendees.

## Benefits

- Stop manually checking calendars. You can use `get_available_slots` to instantly find open time, even if you don't know the exact date yet.
- Need an overview of your commitments? Call `list_bookings` to get a comprehensive list of every meeting coming up in your calendar.
- Keep your templates organized by using `list_event_types` first. This ensures that when you call `create_new_booking`, the correct meeting type is selected.
- If plans change, don't email anyone. Use `reschedule_meeting` to shift an appointment time directly through your agent.
- Get a full picture of who you are and what systems you use by checking your profile with `get_my_profile`.

## How It Works

The bottom line is, you tell your AI what you need; it handles the calendar mechanics.

1. Subscribe to this MCP and retrieve your API key from the Cal.com dashboard.
2. Connect that API key to your preferred AI client, like Cursor or Claude.
3. Ask your agent a natural language query, such as 'Find me 30 minutes next week for a strategy session.' The agent then uses the tools to check availability and book time.

## Frequently Asked Questions

**How do I find out what times are open using get_available_slots?**
You ask your agent for available slots, specifying the meeting length and date range. The tool checks your calendars against your defined working hours to return a list of clear gaps.

**Can I cancel a booking using cancel_booking?**
Yes. You simply ask your agent to cancel an existing appointment, providing the necessary details like the ID or date range. The meeting is removed from your calendar immediately.

**Does create_new_booking handle time zones?**
It does. When you tell your agent to book a slot, it handles all the required timezone conversions automatically and confirms the booking across all linked calendars.

**What is list_event_types for?**
This tool reads your directory of meeting templates. It lets you know exactly what types of calls (like 'Interview' or 'Check-in') are available to book with the client.

**How do I verify my connection status using test_cal_auth?**
It instantly confirms if your API key works against Cal.com's system. This tool runs a basic handshake to ensure your credentials are valid and ready for use with your agent before you try complex scheduling tasks.

**What specific metadata can I retrieve using get_booking_details?**
You pull granular details about any meeting, like attendee lists, the original booking template used, or unique context notes. This lets your agent gather full intelligence on a booked event beyond just the time and date.

**How does list_availability_schedules help me understand working hours?**
This tool displays all defined work rules for your account, including global boundaries like 'business hours' or specific regional limitations. It lets you programmatically check the limits your calendar enforces.

**If I need to change an existing appointment's date, how does reschedule_meeting handle it?**
It updates both the time and date of a booking while preserving all other details. Crucially, this tool also triggers notifications to all participants, ensuring everyone gets the updated calendar invite.