Skip to main content
Glama

calendar.events.list

Fetch calendar events within a specified time window, optionally filtered by event type or entity. Detect scheduling conflicts in the same period by enabling conflict analysis, returning events, count, and conflict details.

Instructions

Read-only; no side effects, auth, or rate limits. List events overlapping a window (half-open — an event ending exactly at from is excluded), optionally filtered by entity/type. Set include_conflicts to also run conflict detection over the same window and attach it. Returns {events, count, conflicts?}. For conflicts alone, prefer calendar.events.conflicts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoWindow end, ISO 8601 with explicit timezone.
fromNoWindow start, ISO 8601 with explicit timezone.
typeNoFilter to an exact event type.
limitNoMax rows (default 500).
entityNoFilter to one entity — name or numeric id.
include_conflictsNoIf true, also compute conflicts for `from`..`to` (both required when set) and include them in the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv4.7.2

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries full responsibility. It explicitly declares read-only, no side effects, auth, or rate limits. It discloses the half-open window boundary condition and the behavior of include_conflicts. It also specifies the return shape. This is comprehensive transparency beyond typical descriptions.

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?

The description is concise, four sentences, with zero waste. It front-loads the safety guarantee, then states the core action, optional filters, conflict inclusion behavior, return shape, and alternative routing. Each sentence earns its place.

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

Completeness4/5

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

For a list operation with 6 parameters and no output schema, the description covers the essential return shape, window semantics, filtering, and conflict behavior. It does not mention pagination details beyond the limit parameter, but the schema covers that. The only minor gap is lack of explicit error/edge-case handling, but that is not critical for a read-only list tool.

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 baseline is 3. The description adds meaningful semantics: the half-open window definition (event ending exactly at 'from' is excluded) clarifies the from/to parameters. It also explains that include_conflicts requires both from and to and attaches conflicts to the response. This goes beyond the schema descriptions.

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 clearly states the verb (list) and resource (events) with a specific window definition. It distinguishes itself from sibling tools by explicitly naming the alternative for conflict-only queries. The half-open window semantics and optional filters make the purpose unambiguous.

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

Usage Guidelines5/5

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

Explicitly states when to use an alternative: 'For conflicts alone, prefer calendar.events.conflicts.' It also implies safe usage with 'Read-only; no side effects, auth, or rate limits.' The context of filtering and conflict inclusion is clearly scoped, leaving no ambiguity about when this tool is appropriate.

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