Skip to main content
Glama

Create New Quiz

create_new_quiz
Destructive

Create a New Quiz (LTI) in a Canvas course. New Quizzes is the modern quiz engine; for Classic quizzes use create_quiz.

Instructions

Create a New Quiz (LTI) in a Canvas course. New Quizzes is the modern quiz engine; for Classic quizzes use create_quiz.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesTitle of the quiz
due_atNoISO-8601 due date
lock_atNoISO-8601 lock time
course_idYesThe Canvas course ID
publishedNoWhether the quiz is visible to students
unlock_atNoISO-8601 unlock time
instructionsNoHTML instructions shown before the quiz starts
points_possibleNoTotal points; defaults to sum of item points

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.18.15
    • addedInput schema / properties / course_id / anyOf
      Added value: +[
      +  {
      +    "exclusiveMinimum": 0,
      +    "maximum": 9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "pattern": "^[1-9][0-9]{0,18}$",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / course_id / type
      Removed value: -"number"
  2. 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"
  3. Changed2 schema fields changedv1.18.8
    • removedInput schema / properties / instructions / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / instructions / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  4. First observedv1.18.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare openWorldHint=true and destructiveHint=true, so the agent knows this is a mutating, external-facing operation. The description adds the LTI/New Quizzes engine context but says nothing about side effects beyond the safety profile — e.g., whether the quiz is created unpublished, whether it starts empty and requires items, or what identifier is returned.

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?

Two short sentences, zero waste, with the core action stated first and the disambiguation second. Nothing is repeated from the title or schema.

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 an 8-parameter mutation tool with full schema coverage and annotations covering the safety profile, the description supplies adequate context: what it creates and which engine. It is slightly thin on lifecycle behavior (empty quiz needing create_new_quiz_item, publish state, return value), but no output schema exists so return details are not strictly required.

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 all 8 parameters (title, due_at, lock_at, unlock_at, published, instructions, points_possible, course_id) are already documented in the schema. The description adds no parameter-specific meaning, which is the expected baseline when the schema does the heavy lifting.

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 ('Create') plus the exact resource and engine variant ('a New Quiz (LTI) in a Canvas course'). The second sentence tells the agent precisely which quiz engine this tool targets, so it is not confusable with Classic quiz operations.

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?

Explicitly names the alternative route for Classic quizzes ('for Classic quizzes use create_quiz'), giving the agent a clear routing rule. However, that named alternative does not appear in the sibling tool list, and no other usage conditions (permissions, prerequisites, publish behavior) are given.

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