PlugWiki
Brightspace MCP Server logo

Brightspace MCP Server: Setup for Claude, Cursor and Other Apps

CommunityLocal
Getnpmbrightspace-mcp-serverrohanmuppa/brightspace-mcp-server

Lets Claude and other assistants read your Brightspace courses: grades, due dates, announcements, course files and discussions.

Brightspace MCP Server is a community server that signs in to your school's Brightspace (D2L) account and lets the assistant read your courses. You can ask what is due this week, how your grades look, what an assignment asks for, or what a lecture video said. It is made by Rohan Muppa, a student, and is not from D2L.

It runs on your computer. A setup command asks for your school address, your username and password, and how you approve sign-ins, then connects itself to the AI apps it finds. Your password goes into your computer's password store, and the README says the server only reads your courses.

Good for

  • Students at any D2L Brightspace school who want a study plan and grade check
  • Students who want slides, specs and lecture transcripts turned into summaries or flashcards
  • Instructors and TAs who want to see who has not submitted an assignment

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Brightspace MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the Brightspace MCP server to Claude Code. Run this command:
    
    claude mcp add brightspace -- npx -y brightspace-mcp-server@latest
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js, Run setup once: npx -y brightspace-mcp-server@latest setup.

Run npx -y brightspace-mcp-server@latest setup once in a terminal first. It asks for your school address, username and password, and how you approve sign-ins, and it can connect itself to Claude Desktop, Cursor, Antigravity, Codex and Claude Code. Use a school flag such as --purdue to skip typing the address. On Windows, use cmd as the command with /c npx -y brightspace-mcp-server@latest as the arguments. Restart the app, then ask a question and approve the sign-in on your phone if asked.

Built from the package data we hold. Not yet tested by us.

Tools

  • Lists what is due soon across all your courses

    Pulls due dates from assignments, quizzes, graded discussions and calendar events such as exams and labs. Use it for "what is due this week" questions.

    Try: “What is due in the next 48 hours?”

    Network · get_upcoming_due_dates

  • Shows your grades and comments for one course or all of them

    Returns each grade item with points, percentage and any comment for the course you name, or for every course you are enrolled in.

    Try: “Am I passing all my classes?”

    Network · get_my_grades

  • Lists the courses you are enrolled in with their IDs

    Returns course names, codes and IDs. Other tools need the course ID from here.

    Try: “Which courses am I taking this term?”

    Network · get_my_courses

  • Lists assignments and quizzes with status and due dates

    Covers dropbox assignments and quizzes for one course or all. It reports whether each item was turned in, and says "unknown" when the school hides submission data from students.

    Try: “Did I turn in HW 3 for ECE 264?”

    Network · get_assignments

  • Reads announcements from one course or all courses

    Returns announcements newest first with the full text, 1 to 50 per page, and supports paging through older ones.

    Try: “Summarize today's announcements.”

    Network · get_announcements

  • Shows exams, labs and other calendar events in a date range

    Reads course calendar entries across all courses or one course. The default window is the next 7 days.

    Try: “When is my midterm?”

    Network · get_calendar_events

  • Shows the grading rubric for an assignment

    Returns every criterion and level with points, plus your own graded outcome per criterion once it is released.

    Try: “Why did I lose points on the analysis criterion?”

    Network · get_assignment_rubric

  • Reads the files your instructor attached to an assignment

    Lists assignments that have attachments, then returns the text of one file, such as the spec PDF or a handout.

    Try: “What does the lab 4 spec actually ask for?”

    Network · get_assignment_files

  • Reads files attached to an announcement

    Lists which announcements have attachments and returns the text of a chosen file, such as slides or an updated schedule.

    Try: “Read the file attached to today's announcement.”

    Network · get_announcement_files

  • Shows a course's modules, topics, files and links

    Returns the content tree, and can filter by module title or limit depth. It flags modules that are not available yet and says why.

    Try: “Show me the Module 5 materials for ECE 264.”

    Network · get_course_content

  • Searches one course for a keyword

    Searches module and topic titles, file names, announcements and discussion forums in one call and ranks matches by how many terms hit. Sources it cannot read are named in a note.

    Try: “Find the midterm review slides in ECE 264.”

    Network · search_course

  • Reads a course's syllabus text

    Returns the course overview as text. It links external syllabus tools it cannot read, and can save the attached syllabus file if you give it a folder.

    Try: “What is the late policy in the syllabus?”

    Write · get_syllabus

Read from the source code

Permissions

medium risk · 9 things to watch

Medium risk

The assistant can read your grades, files and class emails from your school account, and your login stays saved on your computer. Use it only on a computer you do not share.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It holds your school login and a saved session

    Setup saves your password in your computer's password store and a sign-in session on disk. Anyone using your computer account could reach your courses, so do not use it on a shared computer. github.com

  • It can list every classmate's email address

    The class list tool returns emails for instructors, TAs and students, and the roster tool can include students. Ask only for what you need. registry.npmjs.org

  • Setup edits your AI app configs

    Setup offers to add itself to Claude Desktop, Cursor, Antigravity, Codex and Claude Code, and asks before replacing an existing brightspace entry. Review what it changed. github.com

  • Install downloads a Chromium browser

    The package runs a post-install script that downloads Chromium through Playwright, which it uses to sign in. Expect a large download. registry.npmjs.org

  • Skipping 2FA prompts weakens your login

    Optional settings can remember this computer for Microsoft or let it answer code requests with an authenticator key. The README says they are off by default and not for shared computers. github.com

  • Download tools write files to your disk

    download_file, get_syllabus and the instructor download tool can save files to a folder you choose. By default download_file returns the text in the chat instead. registry.npmjs.org

  • Sign out deletes your saved session

    The sign out tool removes the saved session on this computer and signs other Brightspace apps here out too. Your saved password stays. registry.npmjs.org

  • Optional shared server on your computer

    Chats share one background server on 127.0.0.1 behind a random token. A server you start yourself with the http command uses 127.0.0.1 and a token you set. github.com

  • npm package is newer than the GitHub release

    npx installs npm version 5.1.33, but the newest GitHub release is v3.9.7 (2 Oct 2026) and the repo tags stop at v3.9.7. Release notes on GitHub do not describe what npx runs, so we read the tool list from the 5.1.33 package. registry.npmjs.org

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyNo switch is documented. The Brightspace API calls are read requests, and the local write and delete actions are file downloads and sign-out.
Talks toYour school's Brightspace site. Your school's sign-in provider (for example Microsoft). Kaltura and YouTube for video transcripts. The npm registry for a version check (turn off with D2L_NO_UPDATE_CHECK)
Sign-in and keysYour school username and password are saved in the Keychain on Mac or Credential Manager on Windows. The encrypted sign-in session and browser state are kept in ~/.d2l-session by default.

Questions

Is it official?

No. It is a community server by Rohan Muppa, a student, and is not made by D2L, the company behind Brightspace.

Will it work at my school?

Yes, for any school that runs D2L Brightspace. Nine schools have automatic sign-in built in, including Purdue, SUNY, TU Delft and McGill, and other schools sign in by pasting their Brightspace address.

Does it need an API key?

No. Setup asks for your school address, your username and password, and how you approve sign-ins. The password is stored in your computer's password store.

Can it submit or change anything in Brightspace?

No. The README says it only reads your courses, and the tool code shows only read requests to Brightspace. It can save files to your computer and delete its own saved sign-in session.

Why does it ask me to approve a sign-in on my phone?

Your school's sign-in asks for two-factor approval, and the server shows the number to approve in the chat. How often this happens is up to your school.

How do I add it to Claude?

Run the setup command in the install box once. It connects itself to Claude Desktop and Claude Code if it finds them, then you restart the app.

Does it work for instructors and TAs?

Yes. Six tools list submissions, feedback and rubrics for instructors and TAs, and students get a clear "instructor access required" note. Some of those tools also work for students.

Does it have a read-only mode?

No. It has no switch, but the Brightspace requests are reads. The only write actions save files to your disk or clear its own session.

Information

updated Nov 2, 2026

Publisher
Community
Package
brightspace-mcp-server
Registry
npm
Transport
stdio
Version
5.1.30
License
MIT
Last commit
Oct 30, 2026
Listed in
Official MCP registry

GitHubnpmOfficial MCP RegistryChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. Brightspace MCP Server README · github.com
  2. brightspace-mcp-server 5.1.33 published package (build/server.js, build/tools) · registry.npmjs.org
  3. Sign-in docs · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.