Skip to main content
Glama
Home Assistant MCP Server

Home Assistant MCP Server

Official

Get Calendar Events

ha_config_get_calendar_events
Read-onlyIdempotent

Retrieve calendar events from a Home Assistant calendar entity within a specified time range, including summaries, start/end times, locations, and recurrence IDs.

Instructions

Get calendar events from a calendar entity within a time range.

Returns each event's summary, start, end, description and location, plus the uid, recurrence_id and rrule when the calendar provides them (the edit and remove tools use uid and recurrence_id). To find calendar entities, use ha_search(domain_filter='calendar').

EXAMPLES:

  • Next week (defaults): ha_config_get_calendar_events("calendar.family")

  • Date range: ha_config_get_calendar_events("calendar.work", start="2024-01-01T00:00:00", end="2024-01-31T23:59:59")

Input Schema

NameRequiredDescriptionDefault
endNoEnd datetime in ISO format (default: 7 days from now, not from start; pass end whenever you pass start)
startNoStart datetime in ISO format; omit it to start at the current time
entity_idYesCalendar entity ID (e.g., 'calendar.family')
max_resultsNoMaximum number of events to return

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv9.0.0
    • changedInput schema / properties / start / description
      Previous value: -"Start datetime in ISO format (default: now)"New value: +"Start datetime in ISO format; omit it to start at the current time"
  2. Changed1 schema field changedv8.6.0
    • changedInput schema / properties / end / description
      Previous value: -"End datetime in ISO format (default: 7 days from start)"New value: +"End datetime in ISO format (default: 7 days from now, not from start; pass end whenever you pass start)"
  3. First observedv7.14.2

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry the read-only/idempotent safety profile, and the description adds real context on top: which fields come back, that uid and recurrence_id are only present when the calendar supplies them, and that those two fields are what the edit/remove tools consume. It does not discuss pagination or truncation behavior when max_results is hit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and scope, followed by return fields, sibling linkage, and two compact examples. Every sentence and example carries information an agent would otherwise have to infer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter read tool with annotations and an output schema, nothing needed to invoke it correctly is missing: defaults, date-range convention, entity discovery path, and downstream use of uid are all covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the worked examples demonstrate the start/end pairing convention and the entity-only default call, which adds practical meaning beyond the field docs. max_results is left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get) and resource (calendar events) plus the scoping dimension (within a time range). It is clearly separable from the sibling tools ha_config_set_calendar_event and ha_config_remove_calendar_event, which it even references by their use of uid/recurrence_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the default window (next week) and explicitly routes entity discovery to ha_search(domain_filter='calendar'), plus points at the edit/remove siblings. It does not state any explicit exclusion (e.g., when to prefer ha_get_history or a service call over this), so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools