Skip to main content
Glama

Get discussion

canvas_get_discussion
Read-only

Reads a Canvas discussion or announcement thread with every reply's author, time and text without marking anything as read.

Instructions

Read a discussion topic (or announcement) with all replies as a thread: author, time and text of each entry. Doesn't mark anything as read. Ids come from canvas_list_discussions or canvas_list_announcements.

Input Schema

NameRequiredDescriptionDefault
topic_idYes
course_idYes
entry_charsNoMax chars per reply, default 4000

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, so safety is partly covered. The description still adds a non-obvious behavioral fact beyond the annotations: reading does not mark entries as read, which matters for unread-state workflows. It does not cover pagination or truncation behavior.

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 short sentences with zero filler; the core purpose and return shape are front-loaded, and the id-provenance hint comes last where it belongs.

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?

There is no output schema, yet the description enumerates the fields returned per entry, which is the right level of detail for this tool. The only gaps are truncation/pagination behavior for long threads, which is minor given the entry_chars parameter cap.

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 only 33% — entry_chars is documented in the schema, but course_id and topic_id have no descriptions. The sentence about ids coming from the list tools partially compensates by giving provenance for both required params, but there is no explanation of entry_chars truncation trade-offs in the description.

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 ('Read a discussion topic (or announcement)') plus the shape of what comes back ('all replies as a thread: author, time and text of each entry'). This makes it clearly distinct from the canvas_list_discussions / canvas_list_announcements siblings.

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?

Names the sibling tools that supply the required ids, which is a concrete use-path rather than vague guidance. It does not state explicit exclusions, but for a read-by-id tool the routing to the listing tools covers the main decision an agent faces.

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