Skip to main content
Glama

canvas_create_discussion

Create a Canvas course discussion topic, optionally unpublished for review or published to notify students. Set prompts, threading, pinning, and initial-post requirements.

Instructions

Create a discussion topic. MUTATES the course.

Defaults to UNPUBLISHED so you can review it before students see it. Publishing a discussion notifies students who have announcements and discussions turned on.

Args: title: topic title. message: prompt body (HTML allowed). published: visible to students immediately (default False). require_initial_post: students must post before seeing replies. threaded: allow nested replies (default True). pinned: pin to the top of the discussions list. course_id: numeric course id; defaults to CANVAS_DEFAULT_COURSE_ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
pinnedNo
messageYes
threadedNo
course_idNo
publishedNo
require_initial_postNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it declares the write/mutation nature, the unpublished default, the notification side effect of publishing, and defaults for threaded/pinned. It omits permission requirements and whether an existing topic can be overwritten, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the mutation warning are front-loaded in the first two lines, and the args list is compact with no filler sentences. The bulleted arg block is a little listy, but every entry adds meaning rather than repeating the schema titles.

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 7-parameter mutating tool with an output schema already covering returns, the description supplies the missing pieces an agent needs: default publish state, notification side effect, and per-parameter semantics. Only auth/permission expectations and failure behavior are absent, which is a minor gap given the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: all seven parameters are explained with semantics beyond the schema, including 'message: prompt body (HTML allowed)', the default-off published flag, and 'course_id: numeric course id; defaults to CANVAS_DEFAULT_COURSE_ID'. Defaults and behavioral effects of each toggle (require_initial_post, threaded, pinned) are clarified.

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 specific verb and resource ('Create a discussion topic') and immediately flags the mutation with 'MUTATES the course', which is more than a restatement of the name. It does not explicitly contrast itself with neighbors like canvas_create_page or canvas_post_announcement, so sibling differentiation is only implied by the resource noun.

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?

The description explains the intended workflow context clearly: 'Defaults to UNPUBLISHED so you can review it before students see it' tells the agent this is the draft-then-publish path, and it warns that publishing notifies students. It gives no explicit when-not or named alternative tool, so it lands at clear-context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.