{"name":"io.github.JhostinAleck/brightspace","slug":"jhostinaleck-brightspace","title":null,"description":"MCP server for D2L Brightspace. Multi-auth, 26+ tools, MCP Resources, Prompts, and web dashboard.","url":"https://mcp.market/server/jhostinaleck-brightspace","rating":null,"grade":"C","score":69,"certified":false,"status":"active","category":"security","tags":["security"],"presence":{"score":31,"stars":12,"forks":1,"downloads_week":95,"last_push_at":"2026-08-03T11:07:36.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/JhostinAleck/brightspace-mcp","website":null,"version":"1.1.1","remotes":[],"packages":[{"registryType":"npm","identifier":"brightspace-mcp","version":"1.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Path to config.yaml. Default: ~/.brightspace-mcp/config.yaml","format":"string","name":"BRIGHTSPACE_CONFIG"}]}],"tools":[{"name":"check_auth","description":"Verify whether the server can talk to Brightspace on your behalf.","write_action":false,"price_micros":0,"input_schema":null},{"name":"clear_cache","description":"Clear cached responses. Use when the user asks to refresh data, or when tools return stale values.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_announcements","description":"Return recent course announcements in reverse chronological order.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_assignment_files","description":"Download and read the attachments (instructions, templates) posted on a Brightspace assignment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_assignments","description":"List assignments (Brightspace Dropbox Folders) for a course.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_audit_log","description":"Return the local audit history of write attempts (submit_assignment, post_discussion_reply, mark_announcement_read).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_calendar_events","description":"Return course calendar events within the next N days (default 30). Useful for seeing exams, lectures, or instructor-scheduled events.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_classlist_emails","description":"Return the email addresses for everyone enrolled in a course.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_course_content","description":"Return the course module tree with topics (files, quizzes, discussions, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_diagnostics","description":"Return a JSON report of server state: profile, base URL, discovered D2L versions, cache hit/miss counters, and HTTP request timing stats.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_discussions","description":"Return the list of discussion forums and topics for a course, with post counts and last-post timestamps.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_feedback","description":"Return the instructor feedback for a single assignment in a given course.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_my_grades","description":"Return grades for a specific course by numeric course id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_my_groups","description":"List the groups you are enrolled in for a course (with member names).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_quiz_attempts","description":"List your attempts on a single quiz with scores and submission status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_roster","description":"List classmates, instructors, and TAs for a given course.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_syllabus","description":"Return the course syllabus (overview page) as plain text.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_topic_file","description":"Download and read a content topic file from a Brightspace course.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_upcoming_due_dates","description":"Return assignments with due dates across all active courses within the next N days (default 14).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_my_courses","description":"List enrolled courses.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_notifications","description":"Show your Brightspace activity feed (announcements, due-date reminders, grade releases, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_quizzes","description":"List quizzes for a course with attempt counts, time limits, and close dates.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_announcement_read","description":"Mark a Brightspace announcement as read. Writes: require --enable-writes + config writes.enabled: true.","write_action":false,"price_micros":0,"input_schema":null},{"name":"post_discussion_reply","description":"Reply to a Brightspace discussion topic. Writes: require --enable-writes + config writes.enabled: true.","write_action":true,"price_micros":0,"input_schema":null},{"name":"search_course","description":"Full-text search across course content, announcements, and discussion forums.","write_action":false,"price_micros":0,"input_schema":null},{"name":"submit_assignment","description":"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`.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":69,"grade":"C","scanned_at":"2026-09-27T21:30:20.354Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:30:20.362Z","components":{"code":{"score":13,"max":25,"notes":["215 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 55 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"build/cli/commands/ui.js: …port('node:child_process'); exec(`${process.platform === 'darwin' ? 'open' : process.platform === 'win32' ? 'start' : 'xdg-open'} ${url}`); } catch { /* ign…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"brightspace-mcp","version":"1.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":7,"publishedAt":"2026-05-12T02:19:01.947Z","repositoryUrl":"git+https://github.com/JhostinAleck/brightspace-mcp.git","weeklyDownloads":95}],"repo":{"found":true,"owner":"JhostinAleck","repo":"brightspace-mcp","archived":false,"pushedAt":"2026-08-03T11:07:36Z","stars":12,"forks":1,"openIssues":8,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/111006576?v=4","ownerCreatedAt":"2022-08-10T17:36:51Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":12,"forks":1,"downloadsWeek":95,"license":"MIT","lastPushAt":"2026-08-03T11:07:36.000Z","score":31}}}},"grade_history":[],"reviews":[]}