Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

List Blackout Dates

list_blackout_dates
Read-onlyIdempotent

Retrieve a course's blackout dates (no-work days) used by course pacing. Read-only; returns an empty list when pacing is not used.

Instructions

List no-work days (blackout dates) in a course used by course pacing. Read-only. Returns an empty list when pacing is not used.

Input Schema

NameRequiredDescriptionDefault
course_idYesCanvas course ID, a numeric string such as "12345". Get it from list_courses.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.3
    • changedInput schema / properties / course_id / description
      Previous value: -"Canvas course ID"New value: +"Canvas course ID, a numeric string such as \"12345\". Get it from list_courses."
  2. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, so the description's 'Read-only' line is redundant. It still adds useful behavioral context by stating that the result is an empty list when pacing is not used, which helps the agent interpret edge-case responses.

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 two tight sentences, front-loads the core purpose, and includes only relevant context. No sentence is wasted.

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 simple read-only, single-parameter tool with full schema coverage and comprehensive annotations, the description is nearly complete. It documents the only meaningful edge case, though it does not describe the return shape beyond the empty-list case; no output schema exists, so this is a small gap.

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?

There is only one parameter, and the schema fully documents course_id including its format and how to obtain it from list_courses. The description adds no parameter-level detail beyond what the schema already provides, so the baseline score of 3 is appropriate.

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?

The description gives a specific verb and resource: 'List no-work days (blackout dates) in a course'. It adds the pacing context, making the purpose clear. It does not explicitly differentiate from sibling tools such as get_course_pace, but the resource itself is distinct enough for an agent to identify.

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

Usage Guidelines3/5

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

The description implies usage by connecting blackout dates to course pacing and notes that an empty list is returned when pacing is not used. However, it gives no explicit instruction about when to prefer this tool over related course-pacing tools.

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