Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

Send Message

send_message
Destructive

Send a new Canvas Inbox message to professors or classmates, with a dry-run preview before confirming the irreversible send.

Instructions

Send a new Canvas Inbox message, e.g. to a professor or classmate. Recipients get it immediately. Get recipient IDs from find_recipients; to answer an existing thread, use reply_to_conversation. [IRREVERSIBLE: call without confirm=true first to preview, then re-call with confirm=true.]

Input Schema

NameRequiredDescriptionDefault
bodyYesMessage body text. Plain text or simple HTML.
confirmNoMust be true to actually execute. Omit or set false to get a dry-run preview first.
subjectYesMessage subject line.
course_idNoCourse context, recommended
recipientsYesCanvas user IDs from find_recipients
separate_threadsNoSend individually rather than as a group thread

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.1.3
    • addedInput schema / properties / body / description
      Added value: +"Message body text. Plain text or simple HTML."
    • addedInput schema / properties / subject / description
      Added value: +"Message subject line."
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already signal destructiveness, but the description adds critical behavioral details: messages are delivered immediately and the operation is irreversible, requiring a dry-run preview before execution. This preview mechanism is not captured in the annotations and directly informs safe invocation.

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 front-loaded with purpose, then recipient source, alternative tool, and finally the irreversible warning. Each sentence is necessary and efficiently conveys the most important information for correct invocation.

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

Completeness5/5

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

Given the mutation nature, six parameters, and no output schema, the description covers all essential context: how to preview, where to source recipients, and when to use an alternative. Nothing critical for an agent to call the tool correctly 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?

With 100% schema description coverage, the schema already documents every parameter thoroughly. The description only restates that recipient IDs come from find_recipients and the confirm behavior, both of which are already described in the schema, so it adds little beyond the structured data.

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?

The description states a specific verb and resource ('Send a new Canvas Inbox message'), gives an example ('to a professor or classmate'), and explicitly distinguishes from the sibling reply_to_conversation. An agent can immediately understand what the tool does and when it applies.

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

Usage Guidelines5/5

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

It explicitly names find_recipients for obtaining recipient IDs, directs users to reply_to_conversation for existing threads, and prescribes the two-step confirmation flow (preview then re-call with confirm=true). This leaves no ambiguity about when and how to use the tool versus alternatives.

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