# Cal.com MCP

> Cal.com helps you manage your entire meeting schedule using customizable booking pages. It connects your calendar and lets anyone book time with you without endless back-and-forth emails or manual coordination. Your AI agent handles availability checks, booking creation, and rescheduling automatically.

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

## Description

Stop juggling calendars and sending out 'Are you free Tuesday afternoon?' emails. This MCP turns your scheduling infrastructure into a single point of control, letting any compatible AI client manage every meeting detail through natural conversation. Need to know when you're free next month? Just ask. Want to book a follow-up demo with the right template? Done. The system gives your agent full visibility across your current bookings, available time slots, and event templates. Because Vinkius hosts this MCP, your AI client connects once and gains immediate control over professional scheduling—no manual toggling required. You use natural language to orchestrate complex flows, letting your agent act as a dedicated coordinator for every meeting lifecycle.

## Tools

### cancel_booking
This tool removes a specific meeting from your calendar.

### create_new_booking
This tool schedules an entirely new appointment on your behalf.

### get_booking_details
This tool pulls all specific information about a single existing meeting.

### get_event_type_details
This tool retrieves the setup and requirements for your standard booking templates.

### get_my_profile
This tool provides read-only access to your personal user settings within Cal.com.

### get_available_slots
This tool searches for open times based on defined working hours and calendar constraints.

### list_bookings
This tool retrieves a summary list of all scheduled appointments on your calendar.

### list_event_types
This tool lists every available standardized template you use for scheduling.

### list_availability_schedules
This tool lists your defined working hours and time management rules.

### list_active_webhooks
This tool shows a list of event configuration webhooks you have set up.

### reschedule_meeting
This tool updates the date and time of an existing appointment to a new slot.

### test_cal_auth
This tool verifies that your connection credentials are active and working correctly.

## 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

### Check available time slots
The MCP finds specific open times based on your working hours and calendar rules.

### Create or book new meetings
Your agent can schedule a meeting immediately, handling all the necessary details for booking confirmation.

### View full booking history
You retrieve a list of every meeting currently on your calendar.

### Modify or cancel existing meetings
The agent removes scheduled appointments or moves them to new times in real-time.

### Inspect booking templates and profiles
You access detailed information about your available meeting types, user settings, and active webhooks.

## Use Cases

### Handling an urgent rescheduled client.
A Project Manager needs to move a demo booked for next week. Instead of logging into Cal.com and manually finding the meeting, they tell their agent: 'Move my Strategy Session with John Doe to Friday at 10 AM.' The agent uses `reschedule_meeting` and handles all confirmations.

### Determining availability for a new team member.
A Team Lead needs to schedule an onboarding call involving three people. They ask their agent to 'Find the first open slot next week between 1 PM and 4 PM.' The agent uses `get_available_slots` to find the optimal time that works for everyone.

### Checking a client's booking status.
A Sales Rep needs confirmation on a meeting booked last week. They instruct their agent: 'What was the detail for my appointment with Acme Corp?' The agent uses `get_booking_details` to pull up the exact information instantly.

### Auditing all possible booking options.
An Operations Manager needs to see if they have enough standardized meeting types. They ask their agent to 'List all my current event templates.' The agent uses `list_event_types` so the manager can check for outdated or missing services.

## Benefits

- You eliminate the need for manual cross-referencing by letting your agent use `get_available_slots` to instantly find meeting times, regardless of how many different templates you run.
- Never miss a crucial detail again. Instead of opening multiple tabs, simply ask your AI client for `list_bookings`, and it summarizes every upcoming appointment's metadata instantly.
- Need to change plans? The agent handles the logistics using `reschedule_meeting` or `cancel_booking`. It’s like having an assistant who never needs a coffee break.
- Your workflow becomes self-contained. By checking your `get_my_profile` details, you can ensure the AI is operating with the correct organizational context for every interaction.
- It standardizes everything. You don't have to remember which template was used; running `list_event_types` gives a complete overview of all your professional scheduling options.

## How It Works

The bottom line is that instead of clicking through multiple web interfaces, you talk to your AI client, and it manages all your scheduling tasks for you.

1. First, you subscribe to this MCP on Vinkius and pull your Cal.com API Key from the dashboard settings.
2. Next, you direct any AI client—like Cursor or Claude—to use the available tools in conversation (e.g., 'Find slots for a call').
3. Finally, your agent uses the data to check availability, make changes, and confirm the booking directly without you lifting a finger.

## Frequently Asked Questions

**How do I use `create_new_booking` with this MCP?**
To book a slot, simply tell your agent to 'Schedule a call for next Thursday afternoon.' The agent handles the necessary parameters and calls `create_new_booking` using your default templates.

**Can I check my work hours with `list_availability_schedules`?**
Yes. Running `list_availability_schedules` pulls up your defined working hours and time limits, letting the agent know when it can't book you.

**`get_booking_details` is used for what?**
You use this to get a complete rundown on any single meeting. It pulls all metadata, like attendee names and associated templates, into your chat window.

**What if I need to move an appointment? Do I use `reschedule_meeting`?**
Correct. If a conflict pops up, instead of manually updating the calendar, you tell the agent to 'Reschedule my meeting with Bob.' It uses `reschedule_meeting` to update the time.

**Does this MCP help me find free slots using `get_available_slots`?**
Yes. This is its primary function for coordination. You ask it a date range, and it uses `get_available_slots` to find all open windows based on your rules.

**What details do I need to provide when using `cancel_booking`?**
You must provide a specific booking ID. The tool successfully removes the meeting from your calendar and automatically notifies all attendees that you cancelled.

**Can `list_bookings` show me more than just upcoming appointments?**
Yes, by specifying a date range, `list_bookings` retrieves a full history of meetings. This lets your agent give you complete visibility into past and future scheduled time.

**Why should I check the system using `list_event_types`?**
This tool lists every template type available in your account. Before scheduling, it ensures your AI client knows all possible meeting options so you pick the right one.

**How do I find my Cal.com API Key?**
Log in to your account, navigate to **Settings** > **Developer** > **API Keys**, and create a new key for your integration.

**Can I check for available slots via AI?**
Yes! The `get_available_slots` tool allows your agent to find open times for specific event types and date ranges programmatically.

**How do I reschedule a booking?**
Use the `reschedule_meeting` tool and provide the booking ID along with the new start and end times in JSON format.