Skip to main content
Glama
AnonymousOnyx22

D2L BrightSpace MCP

Get Assignment Files

get_assignment_files
Read-only

Read the files an instructor attached to an assignment: the spec or instructions PDF, a starter workbook, a rubric document. Call it with just courseId to see which assignments have attachments, then with folderId and fileId to read one.

Instructions

Read the files an instructor attached to an assignment: the spec or instructions PDF, a starter workbook, a rubric document. Call it with just courseId to see which assignments have attachments, then with folderId and fileId to read one. Use this when the user asks what an assignment requires, what the instructions say, or to summarize a handout. Returns the text itself. Use download_file instead when the user wants the file saved to disk.

Input Schema

NameRequiredDescriptionDefault
fileIdNoAttachment file ID to read. Requires folderId. Omit to list the files without reading them.
courseIdYesCourse ID whose assignment attachments to look at.
folderIdNoAssignment (dropbox folder) ID. Omit to list every assignment in the course that has attachments.
maxCharsNoMaximum characters of extracted text to return. The response reports whether it was truncated.
extractTextNoExtract readable text from the file. Works for PDF, DOCX, XLSX, PPTX, and plain text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds non-obvious behavior: the two-phase invocation (list with courseId, then read with folderId+fileId) and that it returns extracted text rather than a file. It doesn't discuss auth scope or per-file size limits beyond what the schema states.

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?

Four sentences, front-loaded with purpose, then the call pattern, then triggers, then the alternative. No filler; each sentence either routes the agent or explains a mode.

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?

With no output schema, the description carries the return-value burden and does so ('Returns the text itself'), while truncation is handled by the schema's maxChars description. No output schema requirement is unmet, and no annotation gap remains for a read-only tool.

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?

Schema coverage is 100%, so each parameter is already documented, giving a baseline of 3. The description goes further by explaining how parameters combine into two distinct modes (courseId alone lists, folderId+fileId reads one), which is workflow meaning the schema describes only per-field.

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+resource ('Read the files an instructor attached to an assignment') and enumerates the concrete artifact types (spec PDF, starter workbook, rubric). It also explicitly distinguishes itself from the sibling download_file, so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use triggers ('what an assignment requires, what the instructions say, summarize a handout') and a named alternative with its selecting condition ('Use download_file instead when the user wants the file saved to disk'). It also prescribes the two-step call pattern.

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