Skip to main content
Glama

List calendars

list_calendars
Read-only

Lists the calendars shared with this access, each with the detail level the user allowed.

readable: false means this calendar cannot be read right now — its events are also missing from get_availability. Such calendars are deliberately listed rather than omitted.

writable: true means this access may create events there. When more than one calendar is writable, create_event requires the calendar_id of one of them.

notice, when present, describes something the USER can change — either about this access or about their Kalender Sync setup. Pass it on rather than concluding the product cannot do what was asked. When it reads as an offer rather than an answer to what was asked, use your judgement about whether it fits the moment.

sync_health describes Kalender Sync's OWN synchronisation of this calendar, if it takes part in one. It does not affect availability answers (those read the provider directly), but a broken sync is something the user can fix.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noticeNo
calendarsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / calendars / items / properties / manageable
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / calendars / items / required
      Previous value: -[
      -  "id",
      -  "name",
      -  "provider",
      -  "visibility",
      -  "readable",
      -  "writable",
      -  "sync_health"
      -]New value: +[
      +  "id",
      +  "name",
      +  "provider",
      +  "visibility",
      +  "readable",
      +  "writable",
      +  "manageable",
      +  "sync_health"
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties / notice
      Added value: +{
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • addedOutput schema / properties / calendars / items / properties / writable
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / calendars / items / required
      Previous value: -[
      -  "id",
      -  "name",
      -  "provider",
      -  "visibility",
      -  "readable",
      -  "sync_health"
      -]New value: +[
      +  "id",
      +  "name",
      +  "provider",
      +  "visibility",
      +  "readable",
      +  "writable",
      +  "sync_health"
      +]
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

The annotations already mark the tool as read-only and non-destructive, so the description does not need to restate that. It adds substantial non-obvious behavior: calendars with readable:false are deliberately listed rather than omitted, writable:true defines where create_event may act, notice must be passed to the user rather than treated as a product failure, and sync_health describes Kalender Sync's own state, not availability. This goes far beyond the structured fields.

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

Conciseness4/5

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

The description is longer than average but each paragraph earns its place by explaining a distinct field or behavioral implication. It is front-loaded with the core purpose, then organized by field name. The notice and sync_health paragraphs are dense but prevent real agent missteps, so the length is justified.

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 zero-parameter listing tool with an output schema and read-only annotations, the description is complete. It covers the meaning of readable, writable, notice, and sync_health, and it connects the results to get_availability and create_event. An agent has everything needed to call the tool and interpret its response correctly.

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?

The tool has zero parameters and the schema coverage is 100%, so there are no parameter gaps to compensate for. The description appropriately spends its effort explaining the output fields and their meanings, which is the only semantic content an agent needs.

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?

The description opens with a specific verb and resource: 'Lists the calendars shared with this access, each with the detail level the user allowed.' It clearly distinguishes this read/list operation from the event-mutating siblings like create_event and delete_event by focusing on the calendar collection and per-calendar access metadata.

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?

The description gives clear contextual guidance by linking list_calendars to related tools: readable:false calendars are missing from get_availability, and writable calendars are the ones create_event needs a calendar_id for. It does not explicitly say 'use this tool when you need to discover accessible calendars,' but the relationships and implications are strong enough that an agent can infer when to call it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources