Cal.com MCP for AI. Manage complex team availability from chat.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Cal.com MCP manages all your team's scheduling through conversation. Connect this MCP to automate booking appointments, checking real-time availability, and updating event templates directly from your chat client.
Stop switching between calendar apps; manage complex calendars—for yourself or a whole department—in one place.
What your AI can do
Cancel booking
Cancels a previously scheduled meeting using its unique ID.
Charge credits
Manually charges API usage credits to the associated account.
Create booking
Schedules a brand new meeting, requiring details like the event type or specific user name.
Create new meetings for specific people or define organizational bookings.
Get real-time lists of open time slots, busy times, or overall team availability.
Define, list, and update the templates (event types) used for recurring meetings across your organization.
Create new teams or manage existing organizational memberships within Cal.com.
Ask an AI about this
Waiting for input…
Cal.com: 20 Tools for Calendar Automation
These tools give you granular control over every part of the scheduling lifecycle, allowing your agent to build sophisticated booking workflows through multiple API calls.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Cal.com on VinkiusCancel Booking
Cancels a previously scheduled meeting using its unique ID.
Charge Credits
Manually charges API usage credits to the associated account.
Create Booking
Schedules a brand new meeting, requiring details like the event type or specific...
Create Event Type
Establishes a new template for recurring meetings within your organization's booking...
Create Membership
Adds a user or group to an existing organizational team structure.
Create Schedule
Sets up a new, dedicated schedule for a specific user or department.
Create Team
Builds a new team container within the organization's structure to group users together.
Create Webhook
Generates a unique URL trigger that executes specific actions when an event occurs.
Get Booking
Retrieves the full details of one single meeting using its unique booking ID.
Get Busy Times
Checks when specific users are unavailable for meetings during a given period.
Get Credits
Pulls the current balance of API usage credits available on your account.
Get Me
Retrieves information about the user who is currently authenticated to the system.
Get Slots
Finds and lists all available time windows for a specified user or group.
List Bookings
Retrieves an extensive list of all bookings associated with the connected account.
List Event Types
Lists every predefined meeting template (event type) currently in use by the...
List Out Of Office
Shows all current out-of-office entries and blackout dates for team members.
List Schedules
Retrieves a list of all organizational schedules that have been created.
Reschedule Booking
Moves an existing meeting to a new date and time, updating all participants.
Update Event Type
Modifies the rules or duration of a previously created event template.
Update Schedule
Makes changes to an existing organizational schedule, such as adding new users or...
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Cal.com, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Cal.com. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 20 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Juggling calendars and time zones in a chat window is impossible.
Right now, if you need to book three people across two continents for a meeting, your process involves checking Outlook, logging into the shared calendar, opening Slack, finding the right person's direct line, and then sending an email chain just to nail down one time slot. It’s slow, it’s error-prone, and you spend more time coordinating than actually working.
With this MCP, your agent handles all that complexity in a single conversation. You tell it the parameters—the people, the duration, the goal—and it checks every calendar against every rule until it locks down the meeting for you. It's done.
Creating and Managing Meeting Templates with create_event_type
Without this tool, if your company decides all follow-up calls should be 45 minutes instead of 30, you have to manually go into every meeting request and change the duration. If a new team joins, you forget to update their default booking length.
Now, defining that standard happens once with create_event_type. You set the rule for all future meetings—the time, the description, even the required attendees—and every subsequent call created through this MCP automatically adheres to it. It's standardization on demand.
What your AI can actually do with this
Booking meetings used to mean juggling tabs: checking an employee's calendar on Google, opening the CRM for details, and then emailing back and forth just to find three time slots that worked. Now, your agent handles it all. You tell it what you need—say, a 30-minute chat next week with John Doe about Q4 planning—and it finds available times instantly.
It doesn't just check for open spots; it manages the entire structure of your organization’s time, including team memberships and who is out of office. Through Vinkius, this MCP lets you define custom meeting types or reschedule an executive's appointment using nothing but natural language. You manage complex schedules, cancellations, and even the underlying event definitions without ever seeing a calendar UI.
019ea5e3-a7d0-71f2-a2bc-c73b99a677d7 Here's how it actually works
The bottom line is you get hands-free scheduling. You tell your agent what to book, and it handles all the cross-system checks required to confirm time and place.
Subscribe to this MCP on Vinkius and enter your unique Cal.com API key.
Your AI client accesses the connector, allowing it to read your organization's current schedules and available time slots.
You issue a simple command like 'Book me 30 minutes with Sarah next Tuesday.' The MCP executes the necessary calls and confirms the booking.
Who is this actually for?
This MCP is for anyone whose job involves coordinating people's calendars—from sales reps who need instant meeting slots to executive assistants managing complex, multi-department schedules. If your workday requires more than three tabs open just to figure out a time, this is for you.
Needs to check availability and book discovery calls with new leads without leaving the CRM chat interface.
Manages executive schedules, handling rescheduling or canceling multiple complex appointments for different team members.
Integrates booking logic into custom automated workflows that need to create new event types and manage webhooks.
What Changes When You Connect
Stop guessing time slots. You can use get_slots to check a user's precise open times and then create_booking to lock it down, all in one conversation.
Need to update meeting rules? Use list_event_types first to see what templates exist, then update_event_type if you need to change the default length or description for that type.
Handling cancellations is easy. Instead of emailing confirmations, simply use cancel_booking with a unique ID and your agent notifies everyone involved.
Running into scheduling roadblocks? Use get_busy_times to check who's unavailable before attempting any booking, preventing frustrating back-and-forth emails.
The system supports full team governance. You can create new teams via create_team or set up complex departmental schedules using create_schedule.
See it in action
Setting up a new department kickoff call
The ops engineer needs to find a time for 15 people across three different departments. They ask their agent, which uses get_busy_times and list_out_of_office to check every calendar, then uses create_booking to lock in the first available slot.
Rescheduling an executive meeting
The EA knows the VP needs to move a client call. They use reschedule_booking with just the old booking ID and the new desired time, ensuring all attendees are updated instantly.
Creating standard follow-up meetings
A sales rep wants every demo meeting to be 45 minutes long. Instead of manually setting it each time, they use create_event_type to define the 'Demo Call' template once.
Tracking API usage and billing
The developer needs to ensure the automation agent stays within budget. They run get_credits first, and if needed, manually charge_credits to keep things running smoothly.
The honest tradeoffs
Trying to book without checking availability
The user runs create_booking immediately after a meeting is set up. The system fails because the required time slot was never confirmed as open.
Always check first. Run get_slots or get_busy_times to confirm available times, then use create_booking with those validated parameters.
Modifying a meeting without knowing its ID
The user asks the agent to reschedule 'the client call'. The agent fails because it needs a specific booking UID to interact with the record.
If you need to modify an existing appointment, first use list_bookings or get_booking to pull up the correct unique identifier.
Confusing team creation with membership
The user tries to add a new employee and just lists their name. The system rejects this because it needs both a team container AND a specific create_membership call.
First, ensure the group exists using create_team, then use create_membership to assign the individual to that newly created team.
When It Fits, When It Doesn't
Use this MCP if your primary challenge is coordinating time across multiple people or departments. If you need to define how meetings happen (e.g., 'a 30-minute initial chat'), use create_event_type. Use it if you need the agent to proactively find a slot, in which case get_slots and get_busy_times are key. Don't use this MCP if your only goal is listing user names or retrieving static organizational data; for that, simpler directory tools might suffice. If your workflow requires knowing who is available before booking, you absolutely must run get_busy_times first.
Questions you might have
How do I find out when people are free using get_slots? +
get_slots checks the connected users' calendars and returns a list of open time windows for a specific date range. You just need to provide the user ID or name and the desired dates.
Can I cancel an appointment using cancel_booking? +
Yes, you can cancel any booking if you pass its unique identifier (UID) into the tool. This ensures the right meeting is cancelled while notifying all attendees.
What does list_bookings do? +
list_bookings retrieves a complete record of every single scheduled appointment under your connected account, allowing you to review past and future meetings easily.
How does reschedule_booking work? +
reschedule_booking requires the original booking's ID and the new desired time/date. It handles updating all associated details for everyone involved in a single command.
How do I use `create_event_type` to set up new meeting templates? +
You define your organization's standard booking formats this way. First, run list_event_types to see existing options; then, using create_event_type, you establish a specific duration or template required for a certain type of client interaction.
If I need to check the availability across an entire department, how does `list_schedules` work? +
This tool aggregates complex scheduling data. It pulls together calendars from multiple team members and organizational units, letting you view conflicts or available time slots for a whole group at once.
What should I check first if my booking attempts fail, using the `get_credits` command? +
First, run get_credits. This immediately shows your current usage balance against your limit. If you're running low or over budget, you need to manage your API credits before attempting further bookings.
If I can't book a time because someone is marked unavailable, how does `get_busy_times` explain the conflict? +
This function pulls specific, detailed blocks of unavailability. It tells you exactly when a user is busy and often includes the associated event or reason for the block, so you know why they aren't free.
Can I check when a user is available for a specific meeting type? +
Yes! Use the get_slots tool by providing the username, event slug, and a time range. The agent will return all available time slots for that period.
Is it possible to reschedule an existing booking through the AI? +
Absolutely. Use the reschedule_booking tool with the Booking UID and the new start time. You can also optionally provide a reason for the change.
Can I manage my organization's event templates? +
Yes, you can use list_event_types to see all templates, create_event_type to add new ones, and update_event_type to modify existing durations or titles.
We've already built the connector for Cal.com. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 20 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.