Skip to main content
Glama

Get Discussion Topic Details

get_discussion_topic_details
Read-only

Retrieve detailed information for a specific Canvas discussion topic using its course identifier and topic ID, with optional group context and raw date fields.

Instructions

Get detailed information about a specific discussion topic.

Input Schema

NameRequiredDescriptionDefault
group_idNoCanvas group ID, to read a discussion inside a group space instead of the course (default: None). Discussions that students start in a group exist only there. The group must belong to the course.
topic_idYesDiscussion topic ID
raw_datesNoAppend a JSON block with the topic's dates and, for a graded discussion, its assignment's due_at, unlock_at, lock_at, updated_at and checkpoint dates exactly as Canvas returns them (null stays null). Default False.
course_identifierYesCourse code or Canvas ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.15.0
    • addedInput schema / properties / group_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Canvas group ID, to read a discussion inside a group\nspace instead of the course (default: None). Discussions that\nstudents start in a group exist only there. The group must\nbelong to the course."
      +}
    • addedInput schema / properties / raw_dates
      Added value: +{
      +  "default": false,
      +  "description": "Append a JSON block with the topic's dates and, for a\ngraded discussion, its assignment's due_at, unlock_at, lock_at,\nupdated_at and checkpoint dates exactly as Canvas returns them\n(null stays null). Default False.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changedv1.10.0
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "type": "object",
      -  "x-fastmcp-wrap-result": true
      -}New value: +null
  3. Changed9 schema fields changedv1.8.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / course_identifier / description
      Added value: +"Course code or Canvas ID"
    • removedInput schema / properties / course_identifier / title
      Removed value: -"Course Identifier"
    • addedInput schema / properties / topic_id / description
      Added value: +"Discussion topic ID"
    • removedInput schema / properties / topic_id / title
      Removed value: -"Topic Id"
    • removedInput schema / title
      Removed value: -"get_discussion_topic_detailsArguments"
    • removedOutput schema / properties / result / title
      Removed value: -"Result"
    • removedOutput schema / title
      Removed value: -"get_discussion_topic_detailsOutput"
    • addedOutput schema / x-fastmcp-wrap-result
      Added value: +true
  4. Changed1 schema field changedv1.0.0
    • addedInput schema / title
      Added value: +"get_discussion_topic_detailsArguments"
  5. First observed

TDQS

C2.5/5.0
Behavior2/5

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

readOnlyHint=true already declares the safety profile, so the description's silence there is acceptable. However, it discloses nothing else: not that a group-scoped topic requires group_id, not what 'detailed' includes, and not that raw_dates affects the response. With annotations lowering the bar, the description still adds near-zero context.

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

Conciseness3/5

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

One short sentence, front-loaded, with no wasted words. But its brevity comes from under-specification rather than economy; there is nothing an agent can act on beyond the name.

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

Completeness2/5

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

There is no output schema, so the description carries the burden of explaining what comes back — yet it never says. For a detail-fetch tool with a 4-parameter schema and no return contract, an agent cannot know what 'detailed information' contains.

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%: group_id, raw_dates, topic_id, and course_identifier all have substantive schema descriptions. The tool description adds nothing beyond that, so the baseline 3 applies — the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a verb and resource ('Get detailed information about a specific discussion topic'), so an agent knows the general shape of the operation. But it essentially restates the name and title with no differentiation from close siblings such as get_discussion_with_replies, get_discussion_entry_details, or get_discussion_topic_details vs list_discussion_topics.

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

Usage Guidelines2/5

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

There is no guidance on when to use this instead of get_discussion_with_replies (which presumably fetches the topic plus replies) or list_discussion_topics. No prerequisites, no exclusions, no alternative named.

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