Skip to main content
Glama

List Submission Comments Needing Attention

list_submission_comments_needing_attention
Read-only

Find submissions where the latest comment is from a student and remains unanswered. Returns a triage list, oldest first, to help instructors address pending student comments.

Instructions

List submissions where the most recent comment is from the student and has not been addressed by grading or a reply — i.e. comments the instructor has likely not seen. Returns a triage list, oldest-unaddressed first. Requires instructor/TA permissions in the course.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
course_idYesThe Canvas course ID
unread_onlyNoWhen true, only return submissions where read_status is "unread". Default false.
assignment_idsNoScope the scan to specific assignment IDs (fetches all assignments when omitted)
Behavior4/5

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

Beyond the annotations (readOnlyHint=true, openWorldHint=true), the description discloses meaningful behavioral traits: the permission requirement (instructor/TA only) and the deterministic result ordering ('oldest-unaddressed first'). The plain-language gloss 'comments the instructor has likely not seen' adds interpretive value. However, it doesn't disclose potential full-course scan behavior when assignment_ids is omitted, nor does it address pagination or result limits for what could be a large triage list.

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 tight sentences with the purpose front-loaded: the first sentence states the core filter, the second describes return shape and ordering, and the third covers permissions. There's no fluff, and the em-dash gloss ('i.e. comments the instructor has likely not seen') serves a clarifying role rather than being redundant. Every sentence earns its place.

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?

Given there's no output schema, the description compensates reasonably well by specifying the return shape ('Returns a triage list') and its ordering, plus the permission precondition — combined with openWorldHint annotation, this covers the agent's needs for decision-making reasonably well. It could go further by noting the scale/performance implications of fetching all assignments when assignment_ids is omitted, and by clarifying whether the returned items are submissions, comments, or both.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is already 3; the description elevates this by clarifying the default/course_id-only invocation behavior (the base triage filter described in prose maps to the unfiltered call, plus ordering semantics). The description doesn't add per-parameter syntax but effectively frames what the base query returns so that unread_only and assignment_ids can be understood as refinements on the triage query.

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 uses a specific verb+resource construction ('List submissions where the most recent comment is from the student...') and precisely defines the otherwise-vague 'needing attention' with concrete criteria (most recent comment from student, unaddressed by grading or reply). It distinguishes itself from near-siblings like list_students_needing_attention and list_submissions_awaiting_grading by focusing on comment-thread state rather than grading state, and the 'oldest-unaddressed first' detail clarifies the triage semantics.

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 conveys clear when-to-use context: it identifies the exact filtering scenario (unaddressed student comments the instructor likely hasn't seen) and the permission precondition ('Requires instructor/TA permissions in the course'). However, it doesn't explicitly name alternative tools or state 'use X instead for Y' — the differentiation from sisters like list_submissions_awaiting_grading or list_students_needing_attention is implied through semantics rather than stated as guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bruchris/canvas-lms-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server