Skip to main content
Glama

Server Details

A MCP server that works with Google Calendar to manage event listing, reading, and updates.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mintmcp/servers
GitHub Stars
6

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

6 tools
create_eventInspect

Create a new calendar event. Use this to schedule meetings, appointments, or all-day events. For all-day events, only provide dates (end date is EXCLUSIVE - use '2024-01-16' for a single day event on Jan 15). For timed events, both start and end times are required. Can optionally invite attendees with email notifications. The created event ID can be used for future updates or deletion.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date YYYY-MM-DD. For all-day: next day. For timed: same or later day
endTimeNoEnd time HH:MM:SS (e.g., "15:00:00"). Required if startTime provided
summaryYesEvent title
locationNoEvent location (address or meeting room)
timeZoneYesTimezone (e.g., "America/Los_Angeles", "UTC", "Europe/London")
attendeesNoEmail addresses of attendees to invite
startDateYesStart date YYYY-MM-DD (e.g., "2024-01-15")
startTimeNoStart time HH:MM:SS (e.g., "14:00:00"). Omit for all-day events
calendarIdYesCalendar ID from list_calendars (required - get ID first using list_calendars)
descriptionNoEvent description. Supports markdown formatting
sendUpdatesNoall: notify everyone, externalOnly: only external users, none: no notificationsall

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
endYes
startYes
statusNo
summaryYes
htmlLinkNo
locationNo
attendeesNo
descriptionNo
delete_event
Destructive
Inspect

Permanently delete an event by eventId (no undo). Sends cancellation notifications to attendees by default (control with sendUpdates). Returns {success: true, eventId, message} on success.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventIdYesEvent ID to delete
calendarIdYesCalendar ID from list_calendars
sendUpdatesNoWhether to send cancellation notifications (all: notify all attendees, externalOnly: only non-Google Calendar users, none: no notifications)all

Output Schema

ParametersJSON Schema
NameRequiredDescription
eventIdYes
messageYes
successYes
get_calendar_events
Read-only
Inspect

Retrieve events from a specific calendar within a time range. Use this to view scheduled events, check availability, or find specific appointments. Times are interpreted in the provided timezone. Without dateMax, returns all future events from dateMin. IMPORTANT: For single day events, use next day as dateMax (e.g., dateMin='2024-01-15' and dateMax='2024-01-16'). Event IDs from this tool are required for update/delete operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateMaxNoEnd date YYYY-MM-DD. Events BEFORE this date. For single day, use next day
dateMinYesStart date YYYY-MM-DD (e.g., "2024-01-15"). Required
timeMaxNoEnd time HH:MM:SS. Only valid with dateMax
timeMinYesStart time HH:MM:SS (e.g., "09:00:00"). Required
timeZoneYesTimezone for interpreting dates/times (e.g., "America/Los_Angeles", "UTC")
pageTokenNoPagination token from previous response
calendarIdYesCalendar ID from list_calendars (required - get ID first using list_calendars)
maxResultsNoNumber of events to return (1-2500). Default: 10

Output Schema

ParametersJSON Schema
NameRequiredDescription
eventsYes
messageNo
calendarIdYes
nextPageTokenYes
get_next_availability
Read-only
Inspect

Find next 10 available time slots in a calendar. Searches up to 30 days ahead. Returns {availableSlots: [{start, end}...], searchedUntil} with times in the specified timezone. Use searchedUntil with new startFromDate/Time to paginate. Can restrict to specific hours/days. Slots align to startTimeIncrement boundaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
durationYesDuration of the meeting in minutes (e.g., 30, 60, 90)
timezoneYesTime zone for all operations (IANA format, e.g., "America/New_York")
calendarIdYesCalendar ID from list_calendars
includeDaysNoDays of the week to include in search (default: weekdays only)
startFromDateYesStart searching from this date in YYYY-MM-DD format (e.g., "2024-01-15")
startFromTimeYesStart searching from this time in HH:MM:SS format (e.g., "09:00:00")
searchHoursEndNoDaily search window end time in HH:MM:SS format (e.g., "17:00:00"). If not provided, searches all hours
searchHoursStartNoDaily search window start time in HH:MM:SS format (e.g., "09:00:00"). If not provided, searches all hours
startTimeIncrementNoIncrement between possible start times in minutes (e.g., 15 for every 15 minutes, 30 for every half-hour)

Output Schema

ParametersJSON Schema
NameRequiredDescription
searchedUntilYes
availableSlotsYes
list_calendars
Read-only
Inspect

List all calendars the user has access to. Use this to discover available calendars before performing calendar operations. The primary calendar (primary:true) is the user's main calendar. Other calendars may be shared, subscribed, or secondary calendars. The calendar ID is required for all other calendar operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageTokenNoPagination token from previous response to get next page
maxResultsNoNumber of calendars to return (1-250). Default: 100

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
calendarsYes
nextPageTokenYes
update_eventInspect

Update an existing event by eventId. Dates/times are interpreted in the provided timezone. Can update individual fields (summary, description, location) OR update times (must provide all: startDate, endDate, and optionally startTime, endTime). WARNING: Empty strings/arrays CLEAR fields. Cannot move between calendars. Returns updated event {id, summary, start, end, updated, ...}.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateNoEnd date in YYYY-MM-DD format (e.g., "2024-01-16" for all-day or "2024-01-15" for timed). Required if updating time
endTimeNoEnd time in HH:MM:SS format (e.g., "15:00:00"). Omit for all-day events
eventIdYesEvent ID to update
summaryNoEvent title/summary
locationNoEvent location
timeZoneYesTimezone for interpreting dates and times (e.g., "America/Los_Angeles", "UTC", "Europe/London")
attendeesNoArray of attendee email addresses (replaces existing attendees)
startDateNoStart date in YYYY-MM-DD format (e.g., "2024-01-15"). Required if updating time
startTimeNoStart time in HH:MM:SS format (e.g., "14:00:00"). Omit for all-day events
calendarIdYesCalendar ID from list_calendars
descriptionNoEvent description
sendUpdatesNoWhether to send update notifications (all: notify all attendees, externalOnly: only non-Google Calendar users, none: no notifications)all

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
endYes
startYes
statusNo
summaryYes
updatedNo
htmlLinkNo
locationNo
attendeesNo
descriptionNo

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.