Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

Download Media Captions

download_media_captions
Read-onlyIdempotent

Download a lecture’s caption track and save it as a local text transcript for offline reading or note-taking. Provide a media ID to get the saved file path.

Instructions

Download a lecture's caption track and save it as a text transcript on local disk. Returns the saved path. Get media_id from list_media_objects and track_id from get_media_captions.

Input Schema

NameRequiredDescriptionDefault
dest_dirNoLocal folder to save into. Defaults to the server's download folder (CANVAS_DOWNLOAD_DIR).
media_idYesMedia object ID, e.g. "m-abc123". Get it from list_media_objects.
track_idNoDefaults to the first English track

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.1.3
    • addedInput schema / properties / dest_dir / description
      Added value: +"Local folder to save into. Defaults to the server's download folder (CANVAS_DOWNLOAD_DIR)."
    • addedInput schema / properties / media_id / description
      Added value: +"Media object ID, e.g. \"m-abc123\". Get it from list_media_objects."
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint/idempotentHint/destructiveHint=false, but the description adds non-trivial context beyond them: this tool writes a file to local disk and returns the saved path, i.e., a filesystem side effect even though it is non-destructive to Canvas data. It does not cover overwrite behavior, filename conventions, or failure modes (e.g., no English track present), keeping it below 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 short sentences: what it does and where output lands first, then the return value, then how to obtain the IDs. The action and destination are front-loaded and every sentence carries information.

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 correctly states what is returned (the saved path), and annotations plus schema cover defaults, safety, and ID sourcing. Minor remaining gaps — behavior when no matching track exists, overwrite semantics — are not covered anywhere.

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%, and each parameter already documents itself, including dest_dir's CANVAS_DOWNLOAD_DIR default and track_id's first-English-track default. The description's mention of ID sources largely duplicates the schema text, so baseline 3 applies.

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 (download), a specific resource (a lecture's caption track), and the concrete outcome (a text transcript saved to local disk), plus declares the return value. This distinguishes it cleanly from the read-only metadata siblings list_media_objects and get_media_captions, which it explicitly references.

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?

It gives the concrete prerequisites for invoking the tool correctly — media_id from list_media_objects and track_id from get_media_captions — which is the main routing question an agent has here. It does not state when-not to use it (e.g., if you only need caption URLs or text without saving), so it falls short of a full 5.

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

Deploy Server

Other Tools