Skip to main content
Glama

List upcoming events

list_upcoming_events
Read-onlyIdempotent

The studio's scheduled events from now through the next days_ahead days (default 30), soonest first, each with its id, start time, capacity, seats booked and fill percent. Use it to see what is on the schedule or to find an event_id for get_event. To find only the classes that need seats sold, use list_underfilled_events. Returns at most 50 events per call; when has_more is true, raise offset for the next page.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_upcoming_events"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNomaximum events to return; defaults to and is capped at 50
offsetNohow many events to skip, for paging through a long schedule
days_aheadNohow many days ahead to look; defaults to 30

Output Schema

NameRequiredDescriptionDefault
toYes
fromYes
eventsYes
has_moreYestrue when more events matched than were returned; raise offset to see them
returnedYes
timezoneYes
total_foundYesevents in the window before limit and offset were applied

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety needs no restating. The description adds genuinely non-structured behavior: a 30-day default window, soonest-first ordering, a hard 50-per-call ceiling, and the has_more/offset paging protocol. The enumeration of returned fields is partly redundant with the output schema, which keeps it off a 5.

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?

Three sentences, no padding, and the scope/default is front-loaded before the sibling routing and the paging note. Each sentence carries either scope, an alternative, or a constraint, so nothing is wasted.

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?

With an output schema and full annotation coverage present, the description only needs to supply scope, ordering, and paging, which it does. An agent has everything required to call it correctly and iterate pages; only minor edge behavior (e.g. what happens if days_ahead is 0 or negative) is absent.

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

Parameters3/5

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

Schema description coverage is 100%, so limit, offset and days_ahead are already documented at the parameter level and the baseline of 3 applies. The description reinforces the defaults and, usefully, explains the offset/has_more relationship operationally, but adds little syntax or edge-case semantics beyond 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?

The description names a specific verb and resource (list scheduled events) and pins down scope precisely: from now through days_ahead days, soonest first, with the returned fields enumerated. It also distinguishes itself from two siblings by naming get_event and list_underfilled_events, so an agent can separate it from them without opening any schema.

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?

It gives two concrete use cases (viewing the schedule, obtaining an event_id to pass to get_event) and an explicit when-not with the named alternative: 'To find only the classes that need seats sold, use list_underfilled_events.' The routing decision is fully determined by the description.

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