Skip to main content
Glama
Canvas LMS MCP – Remote Edition

Canvas LMS MCP – Remote Edition

Update Notification Preference

update_notification_preference
Idempotent

Change how often Canvas emails or texts you about one event category—e.g., grading weekly or announcements immediately—for your own notification channels. Preview first, then confirm to apply.

Instructions

Change how often Canvas emails or texts you about one kind of event, e.g. "grading" only weekly, or "announcement" immediately. Only affects your own notifications. [IRREVERSIBLE: call without confirm=true first to preview, then re-call with confirm=true. Apps that can ask the user directly will show a confirmation instead.]

Input Schema

NameRequiredDescriptionDefault
confirmNoMust be true to actually execute. Omit or set false to get a dry-run preview first.
categoryYesCategory name from list_notification_categories, e.g. "due_date", "grading", "announcement", "conversation_message".
frequencyYes"immediately", "daily", "weekly" or "never".
channel_idYesCommunication channel ID (numeric string). Get it from get_communication_channels.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.3.0

TDQS

A4/5.0
Behavior4/5

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

The confirm/dry-run workflow and the note that client apps may prompt the user directly are real behavioral context the annotations do not convey. The 'IRREVERSIBLE' label sits in tension with destructiveHint=false (the change is an idempotent setting overwrite, and recoverable by setting it back), which slightly overstates risk, but it is not a direct contradiction of the hints.

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 sentences plus a bracketed safety clause, front-loaded with the purpose and the example before the confirm procedure. No wasted wording.

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 small four-parameter mutation with no output schema, the description covers purpose, scope, and the required two-step confirm flow. It could note that the dry-run preview returns the proposed change, but nothing essential to correct invocation is missing.

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 coverage is 100%, so all four parameters are already documented there, including enum values and the source tools for category and channel_id. The description only restates the category/frequency idea with an example, adding little beyond the schema; baseline 3 applies.

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 concrete verb and resource: changes how often Canvas emails/texts about one event category, with a worked example ('grading' weekly, 'announcement' immediately). That clearly separates it from the read-only sibling get_notification_preferences, though it never names that sibling explicitly.

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 clear context ('one kind of event') and a hard scope limit ('Only affects your own notifications'), plus an explicit call sequence for the confirm flow. It does not say to consult get_notification_preferences first to see current settings, so one routing hint is missing.

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