Google Calendar MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_CLIENT_ID | Yes | Google OAuth 2.0 Client ID from the Google Cloud Console | |
| GOOGLE_CLIENT_SECRET | Yes | Google OAuth 2.0 Client Secret from the Google Cloud Console |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| calendar_get_current_timeA | Get the current date and time in the user's timezone. Use this tool to understand what 'today', 'tomorrow', 'this week' means before making calendar queries. Returns current time, date, and reference dates for the week. |
| calendar_list_eventsA | List upcoming calendar events within a date range. Returns events from a specific calendar with details including title, time, location, and meeting links. Use days_ahead to control how far into the future to search. |
| calendar_searchB | Search calendar events by text query. Searches event titles, descriptions, and locations for matching text. Can search both past and future events by specifying days_back and days_ahead. |
| calendar_get_eventA | Get detailed information about a specific calendar event. Returns full event details including title, description, start/end times, location, attendees, and meeting links. Requires the event ID. |
| calendar_create_eventA | Create a new calendar event. Creates an event with the specified details. At minimum, requires a title and start time. End time defaults to one hour after start if not provided. |
| calendar_update_eventB | Update an existing calendar event. Modifies one or more fields of an existing event. Only provide the fields you want to change; unspecified fields remain unchanged. |
| calendar_delete_eventB | Delete a calendar event. Permanently removes an event from the calendar. Optionally notifies attendees about the cancellation. |
| calendar_daily_agendaA | Get the agenda for a specific day with all events. Returns a formatted summary of all events for the specified date, organized by all-day events and timed events. Useful for daily briefings. |
| calendar_weekly_summaryA | Get a summary of events for the upcoming 7 days. Returns a week overview with events organized by day, total event count, and busiest day indicator. Useful for weekly planning. |
| calendar_list_calendarsB | List all available calendars. Returns a list of all calendars accessible to the authenticated user, including their IDs, names, and whether they are the primary calendar. |
| calendar_free_busyB | Check free/busy status for a time range. Returns busy time slots within the specified range for one or more calendars. Useful for finding available meeting times. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Every tool has a clearly distinct purpose with no ambiguity. For example, calendar_create_event, calendar_get_event, calendar_update_event, and calendar_delete_event form a complete CRUD set for events, while calendar_daily_agenda, calendar_weekly_summary, calendar_list_events, and calendar_search provide different querying perspectives. Tools like calendar_free_busy and calendar_get_current_time serve unique utility functions that don't overlap with others.
All tool names follow a consistent verb_noun pattern with the 'calendar_' prefix, such as calendar_create_event, calendar_list_events, and calendar_update_event. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions across all 11 tools.
With 11 tools, the server is well-scoped for Google Calendar operations. Each tool earns its place by covering essential aspects like event management (create, get, update, delete), querying (list, search, agenda, summary), and utilities (free/busy, current time, list calendars), avoiding both bloat and gaps.
The tool surface provides complete coverage for the Google Calendar domain. It includes full CRUD operations for events, comprehensive querying tools (daily agenda, weekly summary, list events, search), and supporting utilities (free/busy checks, current time reference, calendar listing). There are no obvious gaps, ensuring agents can handle all common calendar workflows without dead ends.