Skip to main content
Glama

canvas_calendar_event

Read-onlyIdempotent

Retrieve full details for a single Canvas calendar event or appointment reservation—including time, location, description, and course—using an event ID from the events list.

Instructions

Read one calendar event or appointment reservation in full: time, place, description and the course it belongs to. Take event_id from canvas_calendar_events.

Input Schema

NameRequiredDescriptionDefault
rawNotrue: Canvas's unmodified JSON (UTC times, HTML).
pageNoPage to fetch: a number, or the next_page value returned by the previous call.
event_idYesCalendar event id, from canvas_calendar_events.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description. The description adds only that the fetch is "in full" with a specific field inventory, which is modest value beyond the annotations. It says nothing about pagination behavior despite the page parameter, nor about failure modes for a missing or foreign event_id.

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?

Two short sentences, zero filler. The core action and scope come first, and the id-sourcing instruction follows as an operational footnote, which is exactly the right ordering for an agent skimming definitions.

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 no output schema, the description compensates by enumerating the content returned (time, place, description, course), so an agent knows what a "full" fetch yields. Combined with annotations that already cover read-only and idempotency, and a fully documented schema, this is largely complete. The gap is the absence of any note on the page parameter's pagination semantics at the description level.

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 all three parameters carry their own descriptions, and the baseline would be 3. The description does reinforce the sourcing contract for event_id by pointing at canvas_calendar_events, which adds a light workflow cue about where a valid id originates rather than just describing the field type.

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

Purpose4/5

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

"Read one calendar event or appointment reservation in full" gives a specific verb, a singular resource, and a scope that distinguishes it from the plural listing tool canvas_calendar_events. It also names the fields surfaced (time, place, description, course). The differentiation from canvas_calendar_events is implied by the singular/full-detail framing rather than stated outright, and the overlap with canvas_appointment_group for reservations is left unaddressed.

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

Usage Guidelines3/5

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

"Take event_id from canvas_calendar_events" establishes the prerequisite workflow: list first, then fetch by id. That is useful implied guidance but the description never says when to prefer this over canvas_upcoming_events or canvas_appointment_group, nor does it state any conditions under which this tool is the wrong choice.

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