Skip to main content

Google Workspace Calendar MCP Server

Create a powerful Model Context Protocol (MCP) server for Google Calendar in minutes with our AI Gateway. This guide walks you through setting up seamless calendar integration with enterprise-grade security and instant OAuth authentication.

About Google Calendar API

Google Calendar API enables applications to manage calendars and events programmatically. Part of Google Workspace, it provides comprehensive access to scheduling, event management, and calendar sharing capabilities used by millions of businesses worldwide.

Key Capabilities

  • Calendar Management: Create, update, and delete calendars
  • Event Operations: Schedule, modify, and track events
  • Recurring Events: Complex recurrence patterns and exceptions
  • Attendee Management: Invitations, RSVPs, and guest permissions
  • Resource Booking: Room and equipment scheduling
  • Reminders & Notifications: Email, popup, and SMS alerts
  • Free/Busy Information: Availability checking across calendars
  • Calendar Sharing: Granular permission controls

API Features

  • REST API: Modern RESTful interface
  • Real-time Updates: Push notifications for changes
  • Batch Operations: Efficient bulk modifications
  • Time Zone Support: Global scheduling capabilities
  • Extended Properties: Custom metadata storage
  • Calendar Lists: Manage multiple calendars
  • ACL Management: Access control lists
  • Colors & Themes: Visual customization

What You Can Do with Google Calendar MCP Server

The MCP server transforms Google Calendar API into a natural language interface, enabling AI agents to:

Calendar Management

  • Calendar Operations

    • "Create team calendar for engineering department"
    • "Share marketing calendar with external agency"
    • "Set up vacation calendar for PTO tracking"
    • "Import holidays for multiple countries"
  • Calendar Settings

    • "Change calendar time zone to PST"
    • "Update calendar description and color"
    • "Set default reminder for all events"
    • "Configure working hours and location"
  • Access Control

    • "Grant edit access to project manager"
    • "Share calendar as read-only with team"
    • "Remove user from calendar access"
    • "Make calendar publicly visible"

Event Management

  • Event Creation

    • "Schedule team meeting next Tuesday at 2 PM"
    • "Create all-day event for company holiday"
    • "Book recurring standup every weekday at 9 AM"
    • "Plan multi-day conference with sessions"
  • Event Updates

    • "Reschedule meeting to next week"
    • "Add zoom link to all meetings today"
    • "Change meeting duration to 45 minutes"
    • "Update event location to conference room B"
  • Attendee Management

    • "Invite team members to planning session"
    • "Check RSVP status for company event"
    • "Add optional attendees to meeting"
    • "Send update to all participants"

Recurring Events

  • Pattern Creation

    • "Schedule weekly 1-on-1 every Monday"
    • "Create monthly board meeting on first Tuesday"
    • "Set up quarterly reviews"
    • "Plan daily standup except weekends"
  • Exception Handling

    • "Cancel next occurrence of recurring meeting"
    • "Move this week's standup to Thursday"
    • "Change time for single instance"
    • "Skip meeting on public holiday"
  • Series Management

    • "Update all future occurrences"
    • "End recurring series after 10 meetings"
    • "Change recurrence from weekly to biweekly"
    • "Delete entire meeting series"

Resource Management

  • Room Booking

    • "Book conference room for presentation"
    • "Find available meeting rooms at 3 PM"
    • "Reserve auditorium for all-hands"
    • "Check room capacity and equipment"
  • Equipment Scheduling

    • "Reserve projector for training session"
    • "Book video conference setup"
    • "Schedule company car for client visit"
    • "Manage shared resource calendars"
  • Availability Checking

    • "Find time when all attendees are free"
    • "Check team availability next week"
    • "Show conflicts for proposed time"
    • "Suggest optimal meeting times"

Notifications & Reminders

  • Reminder Configuration

    • "Add 15-minute reminder to all meetings"
    • "Set email reminder 1 day before events"
    • "Create popup alert for important meetings"
    • "Configure SMS notifications"
  • Notification Management

    • "Disable notifications during vacation"
    • "Change reminder time for specific event"
    • "Set different alerts for different calendars"
    • "Manage notification preferences"

Analytics & Reporting

  • Time Analytics

    • "Show time spent in meetings this week"
    • "Calculate meeting hours by project"
    • "Track one-on-one frequency"
    • "Analyze meeting patterns"
  • Attendance Tracking

    • "Report meeting attendance rates"
    • "Find frequently declined meetings"
    • "Track no-show patterns"
    • "Monitor RSVP response times"
  • Calendar Insights

    • "Identify meeting-heavy days"
    • "Show calendar utilization"
    • "Find scheduling conflicts"
    • "Optimize meeting distribution"

Prerequisites

  • Access to Cequence AI Gateway
  • Google Workspace account
  • Google Cloud Console access
  • Calendar API enablement

Step 1: Enable Google Calendar API

1.1 Access Google Cloud Console

  1. Go to console.cloud.google.com
  2. Sign in with your Google Workspace admin account
  3. Select or create a project

1.2 Enable Calendar API

  1. Navigate to APIs & Services Library
  2. Search for "Google Calendar API"
  3. Click on the API and press Enable

1.3 Create OAuth Credentials

  1. Go to APIs & Services Credentials
  2. Click Create Credentials OAuth client ID
  3. Configure OAuth consent screen if needed
  4. Select Web application as type

1.4 Configure OAuth Client

  1. Set application name: "AI Gateway Calendar MCP"
  2. Add authorized redirect URI:
    https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback
  3. Save and note Client ID and Client Secret

Step 2: Access AI Gateway Apps

  1. Log in to your Cequence AI Gateway dashboard
  2. Navigate to Apps in the left sidebar

Step 3: Find and Select Google Calendar API

  1. Browse the Third-party category
  2. Look for Google Workspace Calendar
  3. Click on the API card

Step 4: Create MCP Server

Click Create MCP Server to start the wizard.

Step 5: Configure API Endpoints

  1. Base URL: https://www.googleapis.com/calendar/v3
  2. Select endpoints to expose
  3. Click Next

Step 6: MCP Server Basic Setup

  1. Name: "Google Calendar Scheduler"
  2. Description: "Calendar and event management"
  3. Configure production mode
  4. Click Next

Step 7: Configure Authentication

  1. Authentication Type: OAuth 2.0
  2. Authorization URL:
    https://accounts.google.com/o/oauth2/v2/auth
  3. Token URL:
    https://oauth2.googleapis.com/token
  4. Enter Client ID and Secret
  5. Select required scopes

Available Google Calendar OAuth Scopes

Calendar Access

  • https://www.googleapis.com/auth/calendar

    • Full calendar access
    • Create and modify events
    • Manage calendars
    • CRUD operations
  • https://www.googleapis.com/auth/calendar.readonly

    • View calendars and events
    • Read-only access
    • No modifications
    • Safe for reporting

Event Management

  • https://www.googleapis.com/auth/calendar.events

    • Manage events only
    • No calendar settings
    • Event CRUD operations
    • Attendee management
  • https://www.googleapis.com/auth/calendar.events.readonly

    • View events only
    • Read event details
    • Check availability
    • No modifications

Settings & Metadata

  • https://www.googleapis.com/auth/calendar.settings.readonly
    • Read calendar settings
    • View preferences
    • Access metadata
    • No changes allowed

For Full Calendar Management:

https://www.googleapis.com/auth/calendar

For Event Management Only:

https://www.googleapis.com/auth/calendar.events

For Read-Only Access:

https://www.googleapis.com/auth/calendar.readonly

Step 8-10: Complete Setup

Configure security, choose deployment, and deploy.

Using Your Google Calendar MCP Server

With Claude Desktop

{
"servers": {
"google-calendar": {
"url": "your-mcp-server-url",
"auth": {
"type": "oauth2",
"client_id": "your-client-id"
}
}
}
}

Natural Language Commands

  • "Schedule team meeting tomorrow at 2 PM"
  • "Find available time slots for all participants"
  • "Create recurring weekly standup"
  • "Show my meetings for next week"
  • "Book conference room for presentation"

API Integration Example

// Initialize MCP client
const mcpClient = new MCPClient({
serverUrl: 'your-mcp-server-url',
auth: {
type: 'oauth2',
token: 'access-token'
}
});

// Create event
const event = await mcpClient.google.calendar.events.create({
calendarId: 'primary',
resource: {
summary: 'Team Planning Meeting',
description: 'Quarterly planning session',
start: {
dateTime: '2025-02-15T14:00:00-05:00',
timeZone: 'America/New_York'
},
end: {
dateTime: '2025-02-15T15:30:00-05:00',
timeZone: 'America/New_York'
},
attendees: [
{ email: 'team.lead@company.com' },
{ email: 'product.manager@company.com' }
],
conferenceData: {
createRequest: {
requestId: 'unique-id',
conferenceSolutionKey: { type: 'hangoutsMeet' }
}
},
reminders: {
useDefault: false,
overrides: [
{ method: 'email', minutes: 24 * 60 },
{ method: 'popup', minutes: 15 }
]
}
},
conferenceDataVersion: 1
});

// Check availability
const freebusy = await mcpClient.google.calendar.freebusy.query({
resource: {
timeMin: '2025-02-15T09:00:00Z',
timeMax: '2025-02-15T18:00:00Z',
items: [
{ id: 'user1@company.com' },
{ id: 'user2@company.com' }
]
}
});

// Create recurring event
const recurringEvent = await mcpClient.google.calendar.events.create({
calendarId: 'primary',
resource: {
summary: 'Weekly Team Sync',
start: {
dateTime: '2025-02-10T10:00:00-05:00',
timeZone: 'America/New_York'
},
end: {
dateTime: '2025-02-10T10:30:00-05:00',
timeZone: 'America/New_York'
},
recurrence: [
'RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=52'
]
}
});

// List upcoming events
const events = await mcpClient.google.calendar.events.list({
calendarId: 'primary',
timeMin: new Date().toISOString(),
maxResults: 10,
singleEvents: true,
orderBy: 'startTime'
});

Common Use Cases

Meeting Management

  • Team meeting scheduling
  • One-on-one coordination
  • Interview scheduling
  • Client appointments

Resource Scheduling

  • Conference room booking
  • Equipment reservation
  • Facility management
  • Shared resource tracking

Time Management

  • Personal scheduling
  • Time blocking
  • Focus time protection
  • Work-life balance

Event Coordination

  • Company events
  • Training sessions
  • Webinar scheduling
  • Holiday planning

Security Best Practices

  1. OAuth Security:

    • Use minimal scopes
    • Implement token refresh
    • Secure credential storage
    • Monitor access logs
  2. Calendar Privacy:

    • Respect visibility settings
    • Handle sensitive events
    • Audit sharing permissions
    • Control external access
  3. Data Protection:

    • Encrypt sensitive data
    • Follow retention policies
    • Implement access controls
    • Log all operations

Troubleshooting

Common Issues

  1. Authentication Errors

    • Verify OAuth credentials
    • Check token expiration
    • Validate redirect URI
    • Review consent screen
  2. Permission Denied

    • Confirm calendar access
    • Check event permissions
    • Verify attendee rights
    • Review sharing settings
  3. Sync Issues

    • Check time zones
    • Validate recurrence rules
    • Handle conflicts properly
    • Monitor API quotas

Getting Help