> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langmail.me/llms.txt
> Use this file to discover all available pages before exploring further.

# list_calendar_events

> List events in a calendar, optionally bounded by a start/end time window.

Lists events with their title, time, location, repeat rule, and `uid`. The `uid` is what [`update_calendar_event`](/reference/mcp/update-calendar-event), [`delete_calendar_event`](/reference/mcp/delete-calendar-event), and [`respond_to_event`](/reference/mcp/respond-to-event) take.

## Parameters

<ParamField body="calendarUrl" type="string">
  A CalDAV URL from [`list_calendars`](/reference/mcp/list-calendars). Defaults to the user's default calendar.
</ParamField>

<ParamField body="start" type="string">
  Window start, ISO 8601 with offset. Must be paired with `end`.
</ParamField>

<ParamField body="end" type="string">
  Window end, ISO 8601 with offset. Must be paired with `start`. Omit both to list everything.
</ParamField>

## Example

```json Call theme={null}
{
  "start": "2026-07-06T00:00:00+02:00",
  "end": "2026-07-13T00:00:00+02:00"
}
```

```text Result theme={null}
2 event(s):

1. Team standup
   when: 2026-07-06T09:00:00+02:00 → 2026-07-06T09:15:00+02:00
   repeats: FREQ=WEEKLY;BYDAY=MO
   uid: 3c1e9b2a-77aa-4d55-8a10-2f9d1c0e6b21@langmail.me

2. Review
   when: 2026-07-08T10:00:00+02:00 → 2026-07-08T10:45:00+02:00
   location: Zoom
   uid: 9b1de2a4-6f0e-4c8b-a1d2-3e4f5a6b7c8d@langmail.me
```

`location:` appears only when set; `repeats:` only for recurring events. An empty calendar or window returns `No events found.`

## Errors

* `Provide both start and end, or neither.` — only one side of the window was given.
* `No calendar available to list events from.` — the user has no calendar and none was specified.
* `Calendar not found: <url>` — the `calendarUrl` didn't resolve.
