Skip to main content
Glama

Assignment files

get_assignment_files
Read-only

Lists the files attached to a Canvas assignment’s instructions—including name, type, size, and link—so students can find handouts and rubrics without downloading them.

Instructions

List the files linked in one Canvas assignment's instructions, such as a handout or a rubric, with the file name, type, size and a link. Pass course_id as the Canvas course ID or as the course name and assignment as the assignment ID or its name. It does not download or open the files. Example: "What files come with the Lab 4 assignment in Networking 1?"

Input Schema

NameRequiredDescriptionDefault
course_idYesCanvas course ID, the number Canvas shows for the course, or the course name such as "Networking 1". Ask get_my_courses for the list of IDs and names.
assignmentYesThe assignment ID or the assignment name, for example Lab 4. Ask get_assignments for the list.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.9

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds real behavioral context beyond that: the shape of the returned data (name, type, size, link) and the explicit limitation that it does not download or open files. It omits whether files can belong to modules/pages or how inaccessible files appear, which keeps it from a 5.

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?

Front-loaded with the core action, followed by parameter guidance and a single illustrative example. Each sentence earns its place; the only minor redundancy is restating the ID-or-name flexibility already visible in the schema types.

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 two-parameter read tool with a fully documented schema, the description covers purpose, input forms, output fields, and a key negative constraint. Absent an output schema, it does list the returned fields, so nothing critical is missing; additional detail on empty results or permissions would push it higher.

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 the baseline is 3, but the description adds value by clarifying that both course_id and assignment accept either a numeric ID or a human-readable name, reinforcing the dual type in the schema. The worked example ('Lab 4 assignment in Networking 1') anchors the format usefully, though it does not mention failure behavior for ambiguous names.

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?

States a specific verb and resource: 'List the files linked in one Canvas assignment's instructions', and immediately scopes it with examples like handout/rubric. An agent can distinguish this from get_assignments (assignment metadata) and get_course_content (course-level materials) without opening any schema.

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 description gives a concrete usage scenario via the example question and explicitly bounds the tool's scope with 'It does not download or open the files', which pre-empts the most likely mis-invocation. It does not name a sibling alternative (e.g., 'for files at the course level, use get_course_content'), so it falls short of a 5.

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