Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

Select Mastery Path

select_mastery_path
Destructive

Select a mastery path branch in a Canvas module to unlock its assignments; preview before confirming irreversible changes.

Instructions

Choose which branch to follow at a mastery path (conditional release) point in a module. Unlocks that branch's assignments and may not be reversible. [IRREVERSIBLE: call without confirm=true first to preview, then re-call with confirm=true.]

Input Schema

NameRequiredDescriptionDefault
confirmNoMust be true to actually execute. Omit or set false to get a dry-run preview first.
item_idYesModule item ID (numeric string). Get it from list_module_items.
course_idYesCanvas course ID, a numeric string such as "12345". Get it from list_courses.
module_idYesModule ID (numeric string). Get it from list_modules.
assignment_set_idYesID of the mastery path option to choose, from get_module_item.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.1.3
    • changedInput schema / properties / assignment_set_id / description
      Previous value: -"Canvas ID (numeric string)"New value: +"ID of the mastery path option to choose, from get_module_item."
    • changedInput schema / properties / course_id / description
      Previous value: -"Canvas course ID"New value: +"Canvas course ID, a numeric string such as \"12345\". Get it from list_courses."
    • changedInput schema / properties / item_id / description
      Previous value: -"Canvas ID (numeric string)"New value: +"Module item ID (numeric string). Get it from list_module_items."
    • changedInput schema / properties / module_id / description
      Previous value: -"Canvas ID (numeric string)"New value: +"Module ID (numeric string). Get it from list_modules."
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true. The description adds meaningful context beyond those annotations by disclosing that the chosen branch's assignments are unlocked, that the action may not be reversible, and that a dry-run preview should precede execution. It still does not describe permissions, side effects on other branches, or the response format.

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 two sentences with zero waste. The purpose is front-loaded, and the irreversible-operation warning with the confirm protocol is clearly bracketed for attention.

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?

Given the tool's complexity, destructive annotation profile, and fully documented schema, the description covers the essential behavior: selecting a mastery path branch, unlocking assignments, irreversibility, and the preview-then-confirm pattern. It could be more complete by explaining the effect on unchosen branches or permission requirements, but no output schema exists and the core call guidance is present.

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 five parameters are already documented in the schema. The description reinforces the confirm workflow but does not add further meaning to course_id, module_id, item_id, or assignment_set_id beyond what the schema already explains.

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 ('Choose') and resource ('which branch to follow at a mastery path'), and clarifies the concrete effect ('Unlocks that branch's assignments'). This is specific enough to distinguish it from all sibling tools.

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?

Provides a clear procedural guideline for the destructive operation: first call without confirm=true for a preview, then re-call with confirm=true. It does not explicitly state when not to use the tool or name alternatives, but the operation is narrow enough that no direct alternative exists.

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