Cal.com MCP. Manage bookings and availability through natural conversation.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Cal.com connects your AI agent directly to your booking system. You can manage meetings, check real-time availability, create new bookings, or update team schedules—all without opening a web browser.
It gives your agent specific tools to handle calendar logic: listing all events, finding open slots, and managing organization memberships.
What your AI agents can do
Cancel booking
Deletes an existing booking using its unique ID (UID).
Charge credits
Checks and deducts credits for API usage.
Create booking
Schedules a brand new meeting, requiring either an event type ID or a specific user name.
Your agent can create new appointments or delete existing ones by calling create_booking or cancel_booking.
You check specific users for open time slots using get_slots to confirm if a meeting is possible.
Your agent can set up new standard meeting templates (event types) with defined durations using create_event_type.
The server handles complex organizational schedules, including listing and updating team calendars via list_schedules or update_schedule.
You retrieve a user's current profile or all out-of-office entries using get_me or list_out_of_office.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
Cal.com MCP Server: 21 Tools for Calendar Ops
These tools allow your AI client to read, write, and modify every aspect of your organization's scheduling system.
019ea5e3cancel booking
Deletes an existing booking using its unique ID (UID).
019ea5e3charge credits
Checks and deducts credits for API usage.
019ea5e3create booking
Schedules a brand new meeting, requiring either an event type ID or a specific user name.
019ea5e3create event type
Defines and sets up a new standard template for recurring meetings (an event type).
019ea5e3create membership
Establishes a new organization membership within Cal.com.
019ea5e3create schedule
Generates and saves an entire team's operational schedule.
019ea5e3create team
Creates a new group or department within the organization structure.
019ea5e3create webhook
Sets up an automated endpoint trigger for external services to listen for events.
019ea5e3get booking
Retrieves all details for a specific booking when you know its unique ID (UID).
019ea5e3get busy times
Finds out exactly which time blocks a user is already booked or unavailable.
019ea5e3get credits
Shows your current balance of available API credits.
019ea5e3get me
Retrieves the profile and basic details of the currently logged-in user.
019ea5e3get slots
Checks for available time slots for a specific user and meeting type on a given date.
019ea5e3list bookings
Retrieves a list of all bookings associated with the account or specified criteria.
019ea5e3list event types
Fetches a comprehensive list of all defined meeting templates (event types).
019ea5e3list out of office
Retrieves any out-of-office announcements or blocks set for users.
019ea5e3list schedules
Gets a list of all existing team schedules managed by the organization.
019ea5e3reschedule booking
Moves an existing booking from one time or date to another.
019ea5e3update event type
Modifies the parameters (like duration) of a pre-existing meeting template.
019ea5e3update schedule
Makes changes to an existing team schedule, updating its rules or members.
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 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ 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
What you can do with this MCP connector
This server connects your AI agent directly to Cal.com, letting it manage all scheduling and booking logic right from your chat interface. You don't need to open a web browser; your agent handles the complexity of calendars for you.
Managing Appointments: Creating and Changing Bookings
You can handle appointments end-to-end. To schedule something new, your agent uses create_booking, which takes either an event type ID or a user name to set up the meeting. Need to ditch a meeting? It executes cancel_booking using the unique booking ID. If plans change, you'll use reschedule_booking to move that existing appointment to a new date and time.
You can check every detail about a single event by calling get_booking with its UID, or if you just need a full rundown of what's scheduled, the list_bookings tool pulls it all for you.
Checking Availability: Finding Open Time Slots
Before booking anything, your agent needs to know when someone's free. You ask it to check available time slots using get_slots for a specific user and meeting type on any given date. It also checks exactly which times a person is already booked or unavailable by calling get_busy_times. To get basic info about who you're dealing with, your agent retrieves the current profile details via get_me, and it can check if anyone's set out-of-office announcements using list_out_of_office.
Defining Templates and Organization Structure
Your agent handles the structure of meetings themselves. You can define a new standard meeting format—what we call an event type—using create_event_type. This tool lets you set up templates with specific, recurring durations. If those rules change, you'll update them using update_event_type, and you can see every template that exists by running list_event_types.
Beyond meetings, the server manages your entire organization setup. Your agent can create a new department or group using create_team and then establish specific membership records with create_membership. To handle company-wide planning, it generates and saves an entire team's operational calendar through create_schedule, which you can view via list_schedules; if the rules change, use update_schedule to modify those existing parameters.
Advanced Utility and System Tools
It handles all the background processes too. If a team needs an automated notification when something happens (like a booking being made), you can set up an external trigger endpoint using create_webhook. You'll also need to manage usage credits; your agent checks your current balance with get_credits and deducts fees for API use by calling charge_credits.
For extra control, you can retrieve all existing team schedules via list_schedules, or if you ever need a list of every single membership record in the organization, that's available too. This server gives your agent everything it needs to manage complex corporate logistics without needing human intervention.
How Cal.com MCP Works
- 1 First, you connect your AI agent to the server and provide a valid Cal.com API key.
- 2 Next, you instruct your agent using natural language (e.g., 'Book me a 30-minute chat next Tuesday').
- 3 The agent executes the necessary tool calls—like checking
get_slotsfirst, then callingcreate_booking—and reports the outcome.
The bottom line is: your agent handles the back-and-forth of scheduling and resource checks automatically.
Who Is Cal.com MCP For?
This is for operational teams, sales reps, or developers who spend too much time switching between email, calendar apps, and booking pages. If your job involves coordinating multiple people's calendars—especially across different time zones—you need this to keep your agent focused on the conversation, not the clicks.
The SDR uses this to instantly check a prospect's availability and book a discovery call without ever leaving their CRM interface.
The assistant uses it to reschedule or cancel an executive's meeting simply by telling the agent, 'Cancel the 2 PM client call,' which triggers cancel_booking.
The developer builds automated back-end processes that require reliable calendar actions—like creating a scheduled team membership or running bulk bookings.
What Changes When You Connect
- Stop clicking between tabs. Your agent handles the entire scheduling flow—from checking
get_slotsto confirming a new appointment viacreate_booking—all inside your chat window. - It gives instant visibility into team capacity. Instead of guessing, you run
list_out_of_officeorget_busy_timesso the agent knows exactly when people are actually free. - You can build complex workflows by defining and updating meeting rules. Use
create_event_typeto standardize '30-minute sales calls' across your organization, ensuring consistency every time. - Manage team resources at scale. You use
list_schedulesorupdate_scheduleto enforce company-wide rules—like making sure no department schedules meetings on holidays. - The whole process is traceable. Every booking gets a unique ID (UID), allowing your agent to precisely manage it using tools like
get_booking, and later cancel it withcancel_booking.
Real-World Use Cases
Booking a meeting after an initial chat
A prospect says, 'I'm free next week.' Instead of asking them for dates, your agent calls get_slots with the required event type and checks availability for their calendar. The agent then uses create_booking to propose three specific times, solving the back-and-forth scheduling loop in one go.
Rescheduling a team appointment
A project lead has to move a meeting due to a conflict. They prompt their agent: 'Move the Q3 sync.' The agent executes reschedule_booking using the old booking's UID, updating both the calendar and notifying attendees automatically.
Onboarding new department rules
The operations team needs to standardize how all marketing calls are booked. They use create_event_type to define a 'Standard Marketing Call' (45 minutes). Now, every agent uses this template when creating bookings, guaranteeing the right duration and slug.
Handling complex organizational changes
A manager needs to reorganize department access. They use create_team to form a new 'Product Beta Team' and then call create_membership for every user, ensuring they all have the correct permissions and visibility across schedules.
The Tradeoffs
Assuming availability
The agent just calls create_booking because it's fast. This fails if the user is actually out of office or double-booked, leading to an immediate conflict and poor UX.
→
Always check status first. Before calling create_booking, use get_slots and confirm availability using get_busy_times. If you see a conflict, suggest alternative times rather than booking anyway.
Using the wrong ID
Trying to cancel a meeting by just naming the person ('cancel Bob's meeting'). Since scheduling systems need precision, this fails and requires manual cleanup.
→
Always use the unique booking identifier (UID) when calling cancel_booking. If you only have details, first call get_booking to retrieve the correct UID.
Ignoring resource limits
Trying to run a large automation that exceeds API capacity or runs out of funds. The process fails halfway through without warning.
→
Check your budget before running bulk actions. Call get_credits first, and if necessary, manage spending by calling charge_credits as part of the workflow.
When It Fits, When It Doesn't
Use this server when scheduling is a critical, multi-step process that needs to happen without human intervention or context switching. You need it if you have to: 1) Check availability (get_slots) AND 2) Create/Cancel the event (create_booking/cancel_booking).
Don't use this server if all you need is to view a simple, static list of events (use native calendar APIs instead). You must use it if your business logic requires defining and managing recurring templates via create_event_type or handling complex team roles using create_team. If the task only involves reading basic profile data, get_me is enough; you don't need the full scheduling suite.
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 server provides 20 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Coordinating a meeting shouldn't feel like running an API script.
Today, to book a simple call, you open your CRM. You check their website for availability (clicking through time zones and dates). Then, if that fails, you jump over to Outlook or Google Calendar to find the right slot, copy details, and send an invite. If they are out of office, you have to manually check a secondary page just to confirm it.
With this MCP server, your agent handles all that mess in one go. You simply ask, 'Schedule a 30-minute chat next week.' The agent runs `get_slots`, checks for OOO periods (`list_out_of_office`), and then uses `create_booking`—all without you ever seeing the underlying API calls.
Cal.com MCP Server: Manage bookings from chat.
The manual steps that disappear are checking multiple calendars, sending follow-up 'are you free?' emails, and manually creating event templates in different systems. You're done with the copy/paste loop between three separate apps just to schedule one meeting.
Now, scheduling becomes a single conversation turn. Your agent treats your calendar like another piece of data it can read, write, and modify instantly. It’s that simple.
Common Questions About Cal.com MCP
How do I check if someone is free using Cal.com MCP Server? +
You use the get_slots tool. This function checks for open timeslots based on a user ID and an event type, giving you real-time availability data.
Can I automate booking with create_booking using Cal.com MCP Server? +
Yes. The agent calls create_booking when instructed, which reserves the time slot and creates the event in your connected system. It requires either an event type ID or a user name.
What if I need to move an existing meeting? +
You use the reschedule_booking tool. You provide the original booking's UID and the new date/time, and the server updates the slot for you.
How do I see if my API usage is capped (Cal.com MCP Server)? +
Run get_credits. This tool checks your current balance of available credits, letting you know before a bulk action fails due to resource limits.
How do I use `create_membership` to manage organizational access? +
You must pass specific membership details, including the user's ID and desired permissions. This tool lets you onboard new users or adjust roles within your organization structure.
What if I need to change the duration of a template using `update_event_type`? +
Updating an event type is straightforward. Just send the existing Event Type ID and provide the new parameters, like updated time slots or descriptions. It keeps your booking templates current.
How can I check a whole team's absence using `list_out_of_office`? +
The tool pulls every active Out-Of-Office entry in the system. This list shows when any user is unavailable, so you don't schedule meetings during booked time off.
How do I retrieve the full details of a single meeting using `get_booking`? +
You send the unique Booking UID to the tool. It returns all associated data points, including attendee emails and the original booking parameters for audit purposes.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Critical Thinking Prover
AI agents accept premises without questioning, analyze from one perspective, cherry-pick evidence, ignore consequences, and present uncertainty as certainty. This tool forces rigor: surface assumptions, apply competing frameworks, weigh counterevidence, trace ripple effects, bound confidence.
Strava
Manage activities, athlete stats, and routes on Strava with AI agents.
RescueTime
Track productivity, manage Focus Sessions, and analyze time usage directly from your AI agent.
You might also like
Frontify
Manage digital assets and brand guidelines via Frontify — list workspace projects and assets, handle metadata, audit brand portals, and manage users directly from any AI agent.
Livepeer (Decentralized Video)
Manage decentralized video infrastructure via Livepeer — upload assets, manage live streams, create clips, and monitor viewership metrics directly from any AI agent.
Resend
Automate transactional and broadcast email delivery via Resend — send messages, manage domains, audiences, and contacts directly from any AI agent.