Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

Export Course Archive

export_course_archive

Export a complete Canvas course as an .imscc archive, wait for packaging, and save it locally to preserve access before a term ends; course content stays unchanged.

Instructions

Export a whole course, wait for Canvas to package it, then download the .imscc archive to local disk. Nothing in the course changes. Can take several minutes; use it before a term ends and access disappears.

Input Schema

NameRequiredDescriptionDefault
dest_dirNoLocal folder to save into. Defaults to the server's download folder (CANVAS_DOWNLOAD_DIR).
course_idYesCanvas course ID, a numeric string such as "12345". Get it from list_courses.
timeout_secondsNoDefault 300

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.1.3
    • changedInput schema / properties / course_id / description
      Previous value: -"Canvas course ID"New value: +"Canvas course ID, a numeric string such as \"12345\". Get it from list_courses."
    • addedInput schema / properties / dest_dir / description
      Added value: +"Local folder to save into. Defaults to the server's download folder (CANVAS_DOWNLOAD_DIR)."
  2. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Adds real context beyond the annotations: it blocks while Canvas packages, can take several minutes, and writes an .imscc to local disk. 'Nothing in the course changes' usefully clarifies the readOnlyHint=false / non-destructive profile (the write is local, not to Canvas). It does not mention what happens on timeout or partial failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action, followed by the safety clarification and the timing/duration caveat. No filler; the only mildly redundant piece is the generic 'use it before a term ends' wrapper.

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, but the description states the artifact produced (.imscc on local disk) and that the call can block for minutes, which is the critical expectation for an agent. Missing only failure/timeout behavior, which matters given the explicit timeout_seconds parameter.

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%: dest_dir default, course_id format and provenance, and timeout default are all documented in the schema. The description adds no parameter meaning beyond that, so the baseline 3 applies.

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?

Specific compound verb and resource: exports a whole course, waits for packaging, and downloads the .imscc archive to local disk. This makes it distinguishable in practice from create_content_export/get_content_export (which only kick off and poll an export) and from download_all_course_files. It never names those siblings explicitly, so the differentiation is inferred rather than stated.

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?

Gives a timing cue ('use it before a term ends and access disappears') but no conditions that select it over the closely related content-export tools or the bulk file downloader. There are no exclusions or prerequisites (e.g., whether an existing export suffices).

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