Google Calendar MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_CALENDAR_ACCESS_TOKEN | Yes | Your Google OAuth access token for Calendar API. |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_calendarsB | List all calendars the user has access to. |
| get_calendarB | Get metadata for a specific calendar. |
| list_eventsC | List events from a calendar within a time range. |
| get_eventB | Get a single event by ID. |
| create_eventA | Create a new calendar event. For timed events, provide start_datetime and end_datetime (RFC3339). For all-day events, provide start_date and end_date (yyyy-mm-dd). |
| update_eventA | Update an existing calendar event. Only provided fields are changed. |
| delete_eventC | Delete a calendar event. |
| quick_add_eventB | Create an event from a natural language string. Examples: "Lunch with Bob tomorrow at noon", "Team standup every weekday 9am" |
| search_eventsB | Full-text search across event summaries, descriptions, and locations. |
| query_freebusyA | Check free/busy status for one or more calendars in a time range. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_skill | Tool selection guide and workflow patterns for this server. |
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose: listing calendars vs. getting metadata, listing vs. getting vs. searching events, and free/busy querying. The only potential overlap is between create_event and quick_add_event, but quick_add is explicitly for natural language input, making them distinct.
All tool names follow a consistent verb_noun pattern (list_calendars, get_event, create_event, etc.), with clear and predictable naming. The pattern is uniform across all tools.
10 tools is well-scoped for a Google Calendar integration, covering core operations without bloat. Each tool earns its place by addressing a specific need.
The toolset provides full CRUD for events (create, get, update, delete, list, search), plus calendar listing/metadata and free/busy querying. This covers the essential lifecycle for calendar management, with no obvious gaps.