Skip to main content
Glama

Plan Course Download

plan_course_download

Preview download size, statuses, and local paths for a Canvas course to decide what to download. Plan your download without fetching files.

Instructions

Preview download size, statuses, and local paths without downloading files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
course_idYesCanvas course ID
output_dirNoOptional local output directory for generated indexes/downloads

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the key behavioral trait of not downloading files, which is critical for a safe preview operation. However, it does not explicitly state whether it is read-only, whether it requires authentication, or whether it has any side effects (e.g., creating temporary files). The description adds some value but misses potential side-effect disclosures.

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?

The description is a single, front-loaded sentence with no redundant words. It immediately conveys the core function (preview) and the key differentiator (without downloading). Excellent conciseness and structure.

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?

For a simple tool with two parameters and no output schema, the description gives a clear idea of what the tool returns (download size, statuses, local paths) and its non-destructive nature. It lacks details on return format or authentication, but given the tool's simplicity, it is fairly complete. The 'without downloading files' statement covers the main safety concern.

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 coverage is 100%, so the schema already documents both parameters. The description does not add any additional meaning to course_id or output_dir beyond what the schema provides. It mentions 'local paths' in the output, which could relate to output_dir, but does not elaborate. Baseline 3 is appropriate since the schema handles parameter documentation.

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 clearly states the tool's purpose: to preview download size, statuses, and local paths without actually downloading files. This distinguishes it from download_course_files and other download-related siblings by emphasizing the preview aspect. The verb 'preview' and resource 'course download' are specific and informative.

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?

The description implies usage for planning or checking before downloading, but does not explicitly name alternative tools or conditions for when not to use it. It says 'without downloading files', which hints at a dry-run, but lacks explicit routing like 'use download_course_files when you are ready to download'. This is adequate but not fully explicit.

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