brightspace-mcp

MCPattested
v1.2.0io.github.JhostinAleckUnknownUpdated 1d agonpmGitHub

D2L Brightspace MCP server: courses, grades, rubrics, feedback, course files, calendar. Multi-auth.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
12GitHub stars
1Forks
1d agoLast update
Package
Authorio.github.JhostinAleck
LicenseUnknown
Version1.2.0
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · 1b85c44
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface31 tools · none privileged
Security scan✓ Cleanv1.3.1 · todayHow well does this scan work?
EvalsNone
IndexedSep 28, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

31 tools · none privileged
Statically extracted from the published packagev1.3.1 · 15h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

check_authVerify whether the server can talk to Brightspace on your behalf.

Verify whether the server can talk to Brightspace on your behalf.

No input schema was published for this tool.

list_my_coursesList enrolled courses.

List enrolled courses.

No input schema was published for this tool.

clear_cacheClear cached responses. Use when the user asks to refresh data, or when tools return stale values.

Clear cached responses. Use when the user asks to refresh data, or when tools return stale values.

No input schema was published for this tool.

get_diagnosticsReturn a JSON report of server state: profile, base URL, discovered D2L versions, cache hit/miss counters, and HTTP request timing stats.

Return a JSON report of server state: profile, base URL, discovered D2L versions, cache hit/miss counters, and HTTP request timing stats.

No input schema was published for this tool.

get_my_gradesReturn grades for a specific course by numeric course id.

Return grades for a specific course by numeric course id.

No input schema was published for this tool.

get_assignmentsList assignments (Brightspace Dropbox Folders) for a course.

List assignments (Brightspace Dropbox Folders) for a course.

No input schema was published for this tool.

get_upcoming_due_datesReturn assignments and quizzes with due dates across all active courses within the next N days (default 14).

Return assignments and quizzes with due dates across all active courses within the next N days (default 14).

No input schema was published for this tool.

get_feedbackReturn the instructor feedback for a single assignment in a given course.

Return the instructor feedback for a single assignment in a given course.

No input schema was published for this tool.

get_assignment_rubricReturn the grading rubric of an assignment: criteria groups, criteria, levels, points and level descriptions.

Return the grading rubric of an assignment: criteria groups, criteria, levels, points and level descriptions.

No input schema was published for this tool.

get_my_submissionsList the files the user (or their group) submitted to an assignment, newest first — works for open and closed folders.

List the files the user (or their group) submitted to an assignment, newest first — works for open and closed folders.

No input schema was published for this tool.

get_rosterList classmates, instructors, and TAs for a given course.

List classmates, instructors, and TAs for a given course.

No input schema was published for this tool.

get_classlist_emailsReturn the email addresses for everyone enrolled in a course.

Return the email addresses for everyone enrolled in a course.

No input schema was published for this tool.

get_syllabusReturn the course syllabus (overview page) as plain text.

Return the course syllabus (overview page) as plain text.

No input schema was published for this tool.

get_course_contentReturn the course module tree with topics (files, links, quizzes, LTI tools, etc.),

Return the course module tree with topics (files, links, quizzes, LTI tools, etc.),

No input schema was published for this tool.

get_announcementsReturn course announcements, pinned first then newest first, each with its id, date, author,

Return course announcements, pinned first then newest first, each with its id, date, author,

No input schema was published for this tool.

get_announcementReturn one announcement in full (body as text with links kept) and its attachments;

Return one announcement in full (body as text with links kept) and its attachments;

No input schema was published for this tool.

get_discussionsReturn the list of discussion forums and topics for a course, with post counts and last-post timestamps.

Return the list of discussion forums and topics for a course, with post counts and last-post timestamps.

No input schema was published for this tool.

get_calendar_eventsReturn course calendar events within the next N days (default 30). Useful for seeing exams, lectures, or instructor-scheduled events.

Return course calendar events within the next N days (default 30). Useful for seeing exams, lectures, or instructor-scheduled events.

No input schema was published for this tool.

get_assignment_filesDownload and read the attachments (instructions, templates) posted on a Brightspace assignment.

Download and read the attachments (instructions, templates) posted on a Brightspace assignment.

No input schema was published for this tool.

get_topic_fileDownload and read a content topic file from a Brightspace course.

Download and read a content topic file from a Brightspace course.

No input schema was published for this tool.

get_moduleReturn one content module in full: its complete description text, every link or embedded file it contains,

Return one content module in full: its complete description text, every link or embedded file it contains,

No input schema was published for this tool.

get_course_fileDownload and read a file stored in the course content area (/content/enforced/{course}-.../file.pdf) —

Download and read a file stored in the course content area (/content/enforced/{course}-.../file.pdf) —

No input schema was published for this tool.

list_quizzesList quizzes for a course with attempt counts, time limits, and close dates.

List quizzes for a course with attempt counts, time limits, and close dates.

No input schema was published for this tool.

get_quiz_attemptsList your attempts on a single quiz with scores and submission status.

List your attempts on a single quiz with scores and submission status.

No input schema was published for this tool.

list_notificationsShow your Brightspace activity feed (announcements, due-date reminders, grade releases, etc.).

Show your Brightspace activity feed (announcements, due-date reminders, grade releases, etc.).

No input schema was published for this tool.

search_courseFull-text search across course content, announcements, and discussion forums.

Full-text search across course content, announcements, and discussion forums.

No input schema was published for this tool.

get_my_groupsList the groups you are enrolled in for a course (with member names).

List the groups you are enrolled in for a course (with member names).

No input schema was published for this tool.

get_audit_logReturn the local audit history of write attempts (submit_assignment, post_discussion_reply, mark_announcement_read).

Return the local audit history of write attempts (submit_assignment, post_discussion_reply, mark_announcement_read).

No input schema was published for this tool.

submit_assignmentUpload a file to a Brightspace Dropbox Folder. Pass either `file_path` (recommended for files >1 MB — read server-side, saves tokens) or `content_base64`.

Upload a file to a Brightspace Dropbox Folder. Pass either `file_path` (recommended for files >1 MB — read server-side, saves tokens) or `content_base64`.

No input schema was published for this tool.

post_discussion_replyReply to a Brightspace discussion topic. Writes: require --enable-writes + config writes.enabled: true.

Reply to a Brightspace discussion topic. Writes: require --enable-writes + config writes.enabled: true.

No input schema was published for this tool.

mark_announcement_readMark a Brightspace announcement as read. Writes: require --enable-writes + config writes.enabled: true.

Mark a Brightspace announcement as read. Writes: require --enable-writes + config writes.enabled: true.

No input schema was published for this tool.

31 of 31 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

D2L Brightspace MCP server: courses, grades, rubrics, feedback, course files, calendar. Multi-auth.

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-28 — observed resolution, not a publisher declaration.

60 packages resolved · 6 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

57 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+45 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies, optionalDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.