Skip to main content
Glama
AnonymousOnyx22

D2L BrightSpace MCP

Export Due Dates To Calendar

export_due_dates_calendar
Idempotent

Builds an iCalendar (.ics) file of upcoming assignments and quizzes that opens in Google Calendar, Apple Calendar and Outlook. Each event has a link back to Brightspace and a one day reminder. By default only unfinished work is included.

Instructions

Builds an iCalendar (.ics) file of upcoming assignments and quizzes that opens in Google Calendar, Apple Calendar and Outlook. Each event has a link back to Brightspace and a one day reminder. By default only unfinished work is included. Pass downloadPath (an absolute folder) to save the file, otherwise the calendar text is returned.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
courseIdNoOnly include this course
daysAheadNoHow many days ahead to include
downloadPathNoAbsolute path to a directory. When given, the .ics file is saved there instead of returned as text.
includeSubmittedNoAlso include work that is already submitted or graded. Default is only work still left to do.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing that events carry Brightspace links, include a one-day reminder, default to unfinished work, and that output is either a saved file or inline calendar text. This is meaningful behavioral context the agent would otherwise have to guess, though file overwrite behavior is not addressed.

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 sentences, front-loaded with the artifact produced, followed by behavioral defaults and the output-mode decision. No sentence is wasted.

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

Completeness5/5

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

For a self-contained export tool with no output schema and fully documented parameters, the description supplies the product format, compatibility, reminder/link behavior, default filtering, and output mode — everything needed to invoke it correctly.

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 100%, so every parameter is already documented. The description adds only the practical framing of downloadPath as an absolute folder versus inline return, which is a marginal supplement rather than new syntax or defaults.

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 artifact ('Builds an iCalendar (.ics) file') plus the content scope ('upcoming assignments and quizzes'), which clearly distinguishes it from read-only siblings like get_upcoming_due_dates and get_calendar_events.

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?

Explains the default behavior (only unfinished work) and the two output modes tied to downloadPath, giving clear operational context. It does not explicitly name when to prefer this over get_upcoming_due_dates or get_calendar_events, so it falls short of full alternative routing.

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