## Tool: `list_calendars`

> [!WARNING]
> **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features.

Returns the calendars this user has access to (their calendar list). Use this tool to resolve calendar identifying data (for example, 'my family calendar') into its corresponding `calendar_id` (email identifier)

The following sample demonstrate how to use `curl` to invoke the `list_calendars` MCP tool.

| Curl Request |
|---|
| ```bash curl --location 'https://calendarmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_calendars", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' ``` |

## Input Schema

### ListCalendarsRequest

| JSON representation |
|---|
| ``` { "pageSize": integer "pageToken": string } ``` |

| Fields ||
|---|---|
| Union field `_page_size`. `_page_size` can be only one of the following: ||
| `pageSize` | `integer` Optional. Max results per page. Default `100`, max `250`. |
| Union field `_page_token`. `_page_token` can be only one of the following: ||
| `pageToken` | `string` Optional. Token specifying which result page to return. |

## Output Schema

### ListCalendarsResponse

| JSON representation |
|---|
| ``` { "calendars": [ { object (`https://developers.google.com/workspace/calendar/api/v3/reference/mcp/tools_list/list_calendars#Output.Schema.CalendarListItem`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `calendars[]` | ``object (`https://developers.google.com/workspace/calendar/api/v3/reference/mcp/tools_list/list_calendars#Output.Schema.CalendarListItem`)`` List of calendars. |
| Union field `_next_page_token`. `_next_page_token` can be only one of the following: ||
| `nextPageToken` | `string` Next page token. Omitted if no next page exists. |

### CalendarListItem

| JSON representation |
|---|
| ``` { "id": string, "summary": string, "description": string, "timeZone": string } ``` |

| Fields ||
|---|---|
| `id` | `string` Identifier. Email address of the calendar. |
| `summary` | `string` Output only. Title. |
| `description` | `string` Output only. Description. |
| `timeZone` | `string` Output only. Time zone. |

### Tool Annotations

Destructive Hint: ❌ \| Idempotent Hint: ✅ \| Read Only Hint: ✅ \| Open World Hint: ❌

## Authorization Scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.googleapis.com/auth/calendar.calendarlist`
- `https://www.googleapis.com/auth/calendar.calendarlist.readonly`