Skip to main content
Glama

Course assignments

get_assignments
Read-only

Retrieve assignments for a Canvas course by ID or name, including due dates, points, and submission status. Filter by bucket such as overdue or upcoming.

Instructions

Assignments for one Canvas course. Pass course_id as the Canvas course ID or as the course name, for example "Networking 1", and get due dates, points and submission status: not submitted, submitted, graded, missing or excused. Set bucket to filter, for example overdue. Example: "Which Canvas assignments in Networking 1 are overdue?"

Input Schema

NameRequiredDescriptionDefault
bucketNoOptional filter, for example overdue or upcoming.
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already establish read-only and open-world behavior. The description adds useful behavioral context by enumerating the submission statuses returned and explaining that results can be filtered by bucket.

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 front-loaded and compact: it states the scope, return fields, filter behavior, and a concrete example without unnecessary text.

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 appropriately identifies the returned assignment data and status values. The main remaining gap is that it does not explain routing among similar assignment-related tools.

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%, so the schema already documents both parameters, including course name/ID and bucket filtering. The description mostly repeats those details rather than adding new constraints or format semantics.

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?

The description clearly states it returns assignments for one Canvas course and lists the key returned fields: due dates, points, and submission status. It does not explicitly distinguish itself from overlapping siblings such as get_missing_assignments or get_upcoming_due_dates.

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?

It gives context for per-course assignment lookup and shows how to filter with bucket, including an example question about overdue assignments. However, it does not state when to use this instead of narrowly scoped siblings like get_missing_assignments.

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