Brightspace
D2L Brightspace MCP server: courses, grades, rubrics, feedback, course files, calendar.
Connector by JhostinAleck · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Brightspace?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/jhostinaleck-brightspace
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: education, scheduling
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 24 read · 3 write · 1 delete · 3 not yet classified
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 31
Read from the source code; the running server may list different tools.
Read 24 · Look things up without changing anything.
check_authget_announcementget_announcementsget_assignment_rubricget_assignmentsget_audit_logget_calendar_eventsget_classlist_emailsget_course_contentget_diagnosticsget_discussionsget_feedback
Show 12 more tools
get_moduleget_my_gradesget_my_groupsget_my_submissionsget_quiz_attemptsget_rosterget_syllabusget_upcoming_due_dateslist_my_courseslist_notificationslist_quizzessearch_course
Write 3 · Create, change, send or run things.
mark_announcement_readpost_discussion_replysubmit_assignment
Delete 1 · Delete, drop, revoke or wipe things.
clear_cache
Not yet classified 3 · We could not tell from the name and description.
get_assignment_filesget_course_fileget_topic_file
Secrets and settings it asks for
Other settings (environment variables or headers).
BRIGHTSPACE_CONFIG
Network hosts it talks to 8
d2l.invalid· found in codeecole.brightspace.com· found in codeescola.brightspace.com· found in codeescuela.brightspace.com· found in codegithub.com· found in codeplaceholder.invalid· found in coderelative.invalid· found in codeschool.brightspace.com· found in code
Files it touches
- Your home directory (~)
~/...
Tools (31)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
check_authCheck Authentication StatusVerify whether the server can talk to Brightspace on your behalf. Use when the user asks if they are logged in, or when other tools return auth errors.
clear_cacheClear CacheClear cached responses. Use when the user asks to refresh data, or when tools return stale values. Scope: "all" (default), "http", or "courses".
get_announcementGet AnnouncementReturn one announcement in full (body as text with links kept) and its attachments; with attachment_id, return that attachment's content (PDF/Office/text extracted), optionally saving it to save_to. Use after get_announcements when an excerpt is truncated or an announcement has attachments.
get_announcementsGet AnnouncementsReturn course announcements, pinned first then newest first, each with its id, date, author, a ~300 character excerpt and its attachments. Use when the user asks "what did the professor post" or wants recent news from a class. Read a truncated announcement in full with get_announcement.
get_assignment_filesGet Assignment FilesDownload and read the attachments (instructions, templates) posted on a Brightspace assignment. Returns the text content of DOCX files and file info for other formats. Pass save_to with a folder path (~/..., %VAR%\..., or absolute) to also save each binary to disk. Use when the user asks "what do I have to do", "download the assignment", or "read the instructions".
get_assignment_rubricGet Assignment RubricReturn the grading rubric of an assignment: criteria groups, criteria, levels, points and level descriptions. Use when the user asks how an assignment will be graded or what each criterion requires.
get_assignmentsGet AssignmentsList assignments (Brightspace Dropbox Folders) for a course. Use when the user asks what they need to turn in or for a specific class. Defaults to upcoming only; pass include_past=true to see everything.
get_audit_logGet Audit LogReturn the local audit history of write attempts (submit_assignment, post_discussion_reply, mark_announcement_read). Read-only — no writes-gate required. Optionally filter by tool name and/or `since` ISO timestamp. Use when the user asks "what did I submit today" or for compliance review.
get_calendar_eventsGet Calendar EventsReturn course calendar events within the next N days (default 30). Useful for seeing exams, lectures, or instructor-scheduled events. Use when the user asks about scheduled events, exam dates, or class meetings.
get_classlist_emailsGet Classlist EmailsReturn the email addresses for everyone enrolled in a course. Use when the user wants a mailing list or to contact the class.
get_course_contentGet Course ContentReturn the course module tree with topics (files, links, quizzes, LTI tools, etc.), plus a short excerpt of each module description and the file links it contains (some courses keep all their material in module descriptions). Use when the user asks what materials are posted or wants to navigate modules. Follow up with get_topic_file (topic id), get_module (module_id) or get_course_file (/content/enforced/... path).
get_course_fileGet Course FileDownload and read a file stored in the course content area (/content/enforced/{course}-.../file.pdf) — the PDFs, slides and documents linked or embedded inside HTML topics and module descriptions. Pass the path exactly as shown by get_course_content, get_module or get_topic_file. Only files of that same course are allowed. Same text extraction as get_topic_file; pass save_to to keep the raw file.
get_diagnosticsGet DiagnosticsReturn a JSON report of server state: profile, base URL, discovered D2L versions, cache hit/miss counters, and HTTP request timing stats. Use when the user reports slowness or the LLM detects stale data.
get_discussionsGet DiscussionsReturn the list of discussion forums and topics for a course, with post counts and last-post timestamps. Use when the user asks about class discussions or wants to see what conversations are happening.
get_feedbackGet FeedbackReturn the instructor feedback for a single assignment in a given course. Use when the user asks about comments, score, or grading on a specific submission.
Show 16 more tools
get_moduleGet ModuleReturn one content module in full: its complete description text, every link or embedded file it contains, its topics and submodules. Use when get_course_content shows a module_id with a truncated description, or the material lives in the module description.
get_my_gradesGet My GradesReturn grades for a specific course by numeric course id. Use when the user asks about their grade, score, or standing in a class. Defaults to compact format; pass format="detailed" for points breakdown.
get_my_groupsGet My GroupsList the groups you are enrolled in for a course (with member names). Useful for group projects: "who's in my group?" or finding the right grpid for a submission.
get_my_submissionsGet My SubmissionsList the files the user (or their group) submitted to an assignment, newest first — works for open and closed folders. With file_name, returns the content of that submitted file; with save_to, downloads the files to a local directory. Use when the user wants to check, re-read or recover something they already turned in.
get_quiz_attemptsGet Quiz AttemptsList your attempts on a single quiz with scores and submission status. Use when the user asks "what did I get on the X quiz" or "have I started Y yet".
get_rosterGet RosterList classmates, instructors, and TAs for a given course. Use when the user asks who is in a class or wants contact info. role_filter: "all" (default), "student", "instructor", "ta".
get_syllabusGet SyllabusReturn the course syllabus (overview page) as plain text. When the overview is not published, lists where the syllabus likely is in course content (ranked topics, modules, linked files) with the exact get_topic_file / get_course_file / get_module call to read it. Use when the user wants to know course expectations, grading scheme, or what the class covers.
get_topic_fileGet Topic FileDownload and read a content topic file from a Brightspace course. Use get_course_content first to find the topic id (shown as id=XXXX next to each topic). Use when the user wants to read a specific file posted in the course content (PDF, DOCX, XLSX/XLSM, PPTX, HTML pages, notebooks, CSV/text; images are returned as images). Link / quiz / LTI topics return their URL instead of a file. Pass save_to with an absolute or ~/... path to also save the raw file to disk (e.g. ~/Downloads/file.xlsx).
get_upcoming_due_datesGet Upcoming Due DatesReturn assignments and quizzes with due dates across all active courses within the next N days (default 14). Use when the user asks "what is due" or wants a cross-course overview.
list_my_coursesList My CoursesList enrolled courses. Use when the user asks about their classes, semester, or what they are taking. Defaults to current courses only (access window not yet ended, or undated but opened recently / same term code); pass active_only=false for the full history. Each course shows its id for use with other tools.
list_notificationsList NotificationsShow your Brightspace activity feed (announcements, due-date reminders, grade releases, etc.). Pass unread_only=true to filter. Defaults to last 25 notifications.
list_quizzesList QuizzesList quizzes for a course with attempt counts, time limits, and close dates. Read-only — no quiz answers or questions are exposed (intentionally). Use when the user asks "what quizzes do I have", "what's due in X class", or about attempt history.
mark_announcement_readMark Announcement ReadMark a Brightspace announcement as read. Writes: require --enable-writes + config writes.enabled: true.
post_discussion_replyPost Discussion ReplyReply to a Brightspace discussion topic. Writes: require --enable-writes + config writes.enabled: true.
search_courseSearch CourseFull-text search across course content, announcements, and discussion forums. Returns ranked snippets. Use when the user asks "where did the prof mention X" or "is there anything about Y in this class".
submit_assignmentSubmit 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`. Writes: require --enable-writes + config writes.enabled: true.
Signals
- Stars
- 13
- Forks
- 1
- Open issues
- 0
- Last commit
- Sep 28, 2026 (1 month ago)
- Last release
- Sep 28, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.JhostinAleck/brightspace- Version
- 1.2.0
- Auth
- No auth
- Packages
- npm brightspace-mcp
- License
- MIT
- Repository
- github.com/JhostinAleck/brightspace-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Brightspace running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Brightspace MCP server. Agent Mart. https://agentmart.dev/connectors/jhostinaleck-brightspace (last updated 2026-10-24)