# Google Calendar MCP

> Google Calendar MCP lets your AI client read, write, and manage your entire schedule directly through chat. Scan for conflicts, book new appointments with specific invites, or adjust details like attendees and locations without logging into the web app. It treats your calendar as an actionable data stream, letting your agent handle complex scheduling tasks automatically.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** time-management, meeting-scheduling, event-coordination, availability-tracking, agenda-management

## Description

Stop juggling multiple apps just to coordinate a meeting time. This MCP connects your entire Google Calendar network to any AI client, turning scheduling friction into simple conversation. You can ask your agent to find open blocks of time for a project team or book an event instantly with all the necessary details baked in—like adding a Meet link automatically.

Need to reschedule? Just tell it to move the 'Q3 Board Review' to next week and update the description, and it handles it. You can even cancel old appointments using a single command block. Because this MCP is hosted on Vinkius, your agent gets access to Google Calendar alongside thousands of other services in the catalog, keeping all your workflows centralized.

## Tools

### list_events
Lists upcoming meetings from one specific calendar view.

### list_event_instances
Retrieves all occurrences of a recurring meeting over time.

### move_event
Moves an existing scheduled event to a different calendar account.

### check_free_busy
Checks if a specific time range works for one or more people.

### create_event
Schedules and adds a brand new event to your calendar.

### delete_event
Removes an existing scheduled meeting from the calendar.

### get_calendar_metadata
Retrieves general information about a specific calendar account.

### get_event
Fetches all details for one particular scheduled event.

### get_settings
Shows the configuration settings for your user calendar.

### list_acl
Lists who has access to view or edit a specific calendar.

### list_calendars
Shows all the different calendars linked to your account.

### patch_event
Makes small changes to an event, like updating just the status or attendees list.

### quick_add_event
Creates a simple new event using basic text instructions.

### search_events
Searches for meetings across your calendar based on keywords or topics.

### update_event
Modifies all details of an existing scheduled event.

## Prompt Examples

**Prompt:** 
```
Check my schedule for tomorrow and list the upcoming overlapping events.
```

**Response:** 
```
Scanning the timeline for tomorrow... Between 14:00 and 15:00 UTC I detected two conflicting bookings: 'Q3 Board Review' and 'Design Synchronization Session'. Should I cancel the Design sync?
```

**Prompt:** 
```
Book a 30-minute sync session with marketing@domain.com for next Tuesday at 10 AM.
```

**Response:** 
```
Request finalized. Event 'Marketing Sync Session' successfully placed on the calendar for next Tuesday at 10:00 (Duration: 30m). An invite payload including Meet details was beamed to marketing@domain.com.
```

**Prompt:** 
```
Modify the location of the event titled 'Team Dinner' to 'The Grand Plaza Downtown'.
```

**Response:** 
```
Search pinpointed the item ('Team Dinner' // ID: c18ba29d). Location parameter swapped securely to 'The Grand Plaza Downtown'. Updates have been cascaded down successfully.
```

## Capabilities

### Check team availability
It scans multiple people's schedules to find open time slots that work for everyone involved.

### Book new appointments
You can schedule a brand-new event and send out the invitations directly from your chat client.

### Cancel old meetings
It deletes specific events or entire recurring series from your calendar.

### Find event details
The MCP pulls up all the specifics of an existing meeting, including links and attendees.

### Modify event parameters
You can change locations, update descriptions, or shift attendees for any booked meeting.

## Use Cases

### The board meeting needs a slot, but nobody is free.
A founder asks: 'When can we meet next month?' The agent uses `check_free_busy` across 10 executive calendars. It reports back three optimal time slots that work for everyone, letting the founder pick one to schedule immediately using `create_event`.

### Need to move a client meeting because of travel.
An assistant tells their agent: 'Move the Tuesday 2 PM call.' The MCP identifies the meeting and uses `move_event` to place it on the team's international calendar instead.

### I need to know what happened last week.
Instead of scrolling through emails, an agent uses `search_events` with keywords like 'Q3 budget' and pulls up all relevant meetings from the past month.

### The location for a team dinner changed.
A manager instructs their agent to update the details: 'Change the location of 'Team Dinner' to The Grand Plaza Downtown.' The MCP uses `update_event` and cascades the new location to all attendees.

## Benefits

- Saves time coordinating schedules. Instead of checking availability manually, the `check_free_busy` tool finds open slots for your whole team in one go.
- Never forget details again. Use `get_event` to pull up every piece of information—who was invited, where it is, what the subject line was—without clicking anything.
- Manage conflicts instantly. If you have overlapping meetings, the agent can use `update_event` or even suggest a better time slot using your conversation context.
- Simplify booking complex invites. The MCP handles creating new events and inviting specific contacts automatically when you run the `create_event` tool.
- Control your data flow. You can list all linked calendars with `list_calendars`, making sure your agent is looking at the right time source.

## How It Works

The bottom line is your AI client manages the back-and-forth of scheduling so you don't have to.

1. Connect your Google Workspace credentials to the MCP and grant it necessary access permissions.
2. Tell your AI client what you need. For example: 'Find a 60-minute slot for me and John next Thursday.'
3. The agent uses the available tools, finds the open time, and confirms if you want to book or modify an event.

## Frequently Asked Questions

**How do I check my availability with the Google Calendar MCP using check_free_busy?**
Just tell your agent to `check_free_busy` for a specific date range. You don't need to manually format complex time zones; just give it the times you want to review.

**Can I add an event using the Google Calendar MCP if I don't know the ID?**
Yes, use `quick_add_event`. You simply provide a plain text string—like 'Meet with John next Monday at 2 PM.'—and it handles the rest.

**What if I need to change an event's location?**
You use `update_event` and give the agent the name or ID of the meeting. It will update all associated details, including the new address or meeting link.

**Does the Google Calendar MCP only work for my personal calendar?**
No. You can use `list_calendars` to show your agent every linked account, and it will operate on any of those calendars as needed.

**How do I check which users have access to my calendar using the `list_acl` tool?**
The `list_acl` tool reveals all current access control rules for a given calendar. This is key for security audits; you can verify exactly which users or groups hold read, write, or delete permissions on that specific calendar ID.

**What happens if I need to modify only one date in a recurring series using `list_event_instances`?**
You first use `list_event_instances` to retrieve all relevant occurrences. After that, the system allows you to target a specific instance or range of dates for updates, preventing accidental changes across the entire event series.

**How can I search for an old meeting or historical appointment using `search_events`?**
`search_events` lets your agent query your calendar history based on keywords. Just provide a text string, like 'Q4 budget review', and the MCP returns all matching details from that term across any time frame.

**How do I get an inventory of all available calendars in my account using `list_calendars`?**
The `list_calendars` tool provides a full manifest of every calendar linked to your account. This is necessary if you plan on moving an event or need the correct ID for scheduling across different organizational boards.

**Can it automatically generate meet links when booking?**
Yes. When building the `create_event` request, the agent can structure event metadata that explicitly flags conferencing generation. You get a Google Meet URL seamlessly inside the payload.

**How does the tool handle multiple calendars (e.g. personal and work)?**
It requires querying the primary or specified secondary calendar IDs. By default, it operates on 'primary'. You can command the agent to use `list_calendars` to pick and choose exactly which specific agenda it targets.

**Will the AI delete historical meetings completely if I ask it?**
While specific `delete_event` tools track individual IDs, bulk deletions and catastrophic operations are architecturally suppressed for safety. Removing isolated tasks works strictly one-by-one by direct matching.