Skip to main content
Glama

Create New Quiz Item

create_new_quiz_item
Destructive

Create an item (question) in a New Quiz (LTI). Supports 5 types: choice (MCQ), true-false, essay, matching, numeric. Canvas may rate-limit rapid sequential creates. Call serially (not in parallel).

Instructions

Create an item (question) in a New Quiz (LTI). Supports 5 types: choice (MCQ), true-false, essay, matching, numeric. Canvas may rate-limit rapid sequential creates. Call serially (not in parallel). For >50 items, chunk and pause between batches.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemYes
positionNo1-based position in the quiz; appended if omitted
course_idYesThe Canvas course ID
assignment_idYesThe assignment ID of the New Quiz
points_possibleYesPoints awarded for a fully correct answer

Schema Changelog

Changes observed during successful MCP inspections.

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

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag this as a mutating, open-world operation (destructiveHint=true, openWorldHint=true). The description adds genuinely new behavioral context beyond that: Canvas rate-limits rapid sequential creates, calls must be serial, and large batches need chunking with pauses. It does not state what a create destroys or what permissions are needed, keeping it below the top band.

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?

Three tight sentences, front-loaded with purpose and supported types before the concurrency/batching constraints. Every sentence carries distinct, actionable information with no padding or repetition of the title.

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 mutation tool with no output schema, the description covers purpose, supported item types, and the rate-limit/batching behavior that an agent must respect to succeed. It leaves out the return shape and whether providing position overwrites an existing item, but the safety profile is carried by the annotations, so the remaining gaps are minor.

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?

At 80% schema coverage the baseline is 3, and the description earns an extra point by spelling out the five interaction_type_slug variants (choice/MCQ, true-false, essay, matching, numeric), which maps each item shape to its schema branch. It does not add per-field detail beyond what the schema already documents for course_id, assignment_id, points_possible, and position.

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 ('Create an item (question) in a New Quiz (LTI)') and adds the '(question)' gloss plus the LTI scope, which cleanly separates it from create_new_quiz and the legacy quiz-question tools. It also enumerates the five supported interaction types, so an agent knows the shape of work it can do without opening the 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?

Gives concrete operational guidance: call serially, not in parallel, and chunk with pauses above 50 items. That is strong 'how to use' context, but it does not name an alternative tool or state when this tool is the wrong choice versus update_new_quiz_item or delete_new_quiz_item, so it stops short of full when/when-not guidance.

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