Skip to main content
Glama

Run snapshot now

canvas_run_snapshot
Read-only

Capture a read-only Canvas snapshot for one or all active courses and return the resulting change events, with an optional wait time and background continuation.

Instructions

Take a snapshot now (read-only GETs to Canvas) for one or all active courses and return the change events it produced. Waits up to wait_s seconds; if it takes longer it continues in the background — check canvas_snapshot_status / canvas_changes_since later.

Input Schema

NameRequiredDescriptionDefault
wait_sNoSeconds to wait for the result, default 25
course_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and destructiveHint=false, and the description is consistent with that by noting 'read-only GETs to Canvas.' Beyond annotations it discloses the genuinely important trait: the call blocks up to wait_s and then continues in the background, with a named recovery path. That async/partial-completion behavior is the main thing an agent could get wrong and it is stated plainly.

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 sentences, front-loaded with the action and scope, followed by the timeout/background caveat and the escape hatch. No filler, and the most failure-prone detail (background continuation) is placed before the alternative tools.

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?

No output schema exists, and the description does state the return ('the change events it produced'), which covers the main gap for a read tool with safe annotations. What remains thin is the shape and volume of those events and whether archived/inactive courses are silently skipped — minor for this tool class.

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 50%: wait_s is documented in the schema (default 25, max 90) and the description reinforces its semantics via the background-continuation rule. course_id is undocumented in the schema, but the description compensates by implying it is optional and must reference an 'active course,' with omission meaning all active courses. Not exhaustive (no format guidance for the id), but additive.

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?

Names a specific action and resource (take a snapshot), states scope explicitly (one course or all active courses), and states the return (change events produced). An agent can distinguish this from canvas_snapshot_status or canvas_changes_since purely from the wording, since those are named as follow-ups rather than duplicates.

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 trigger is clear enough: use this to run a snapshot immediately, and if the run exceeds wait_s, poll with canvas_snapshot_status / canvas_changes_since. No exclusions are given (e.g., when to prefer canvas_course_snapshot or when not to run this at all), so it stops short of a full when/when-not rubric.

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