Skip to main content
Glama

Create Assignment

create_assignment
Destructive

Create a new assignment in a Canvas course by providing course ID, name, due date, points possible, and allowed submission types.

Instructions

Create a new assignment in a course.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesAssignment name
due_atNoDue date in ISO 8601 format (e.g. 2026-05-01T23:59:00Z)
course_idYesThe Canvas course ID
descriptionNoAssignment description (HTML supported)
points_possibleNoMaximum points for this assignment
submission_typesNoAllowed submission types (e.g. ["online_upload", "online_text_entry", "none"])
assignment_group_idNoID of the assignment group to place this assignment in

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.18.11
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv1.18.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare openWorldHint and destructiveHint, but the description adds no side-effect context. It does not mention that creates may be irreversible, may become visible to students, or what happens on failure. No contradiction, but valuable context beyond the annotation is missing.

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?

One short sentence with zero wasted words; it is front-loaded and easy to parse. While it is minimal, there is no fluff or repetition, so it earns a high mark for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation with 7 parameters and no output schema, the description far too little. It provides no hint about return values, validation, side effects on students/enrollments, or how to verify the assignment. Both this and behavioral/usage gaps make it under-specified for an agent to reliably use.

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 structured schema already documents all parameters. The description text adds no extra meaning about nuances like how assignment_group_id or submission_types interact, so it default to the baseline 3.

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?

States a specific verb (create) and resource (assignment) with a scope (course), which distinguishes it from update/delete/list tools. It does not explicitly name a sibling, but the resource name is precise enough that an agent can tell it apart from create_course or create_new_quiz.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, when not to use it, orientation, or prerequisites (e.g., course must exist). An agent cannot decide between this and update_assignment/delete_assignment or between creating an assignment vs a new quiz based on the description.

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