mcpField
B
brightspace-d2l-mcp

brightspace-d2l-mcp

本地服务
brightspace-mcp.netlify.app科研与教育281 天前更新

关于 brightspace-d2l-mcp

brightspace-d2l-mcp 为使用 D2L Brightspace 的学生提供课程只读访问,可查看截止日期、真实提交状态、成绩、课程内容和公告。它通过浏览器完成学校登录,不保存密码。

主要功能

  1. 01汇总待办事项和截止日期
  2. 02核对作业提交状态
  3. 03查看成绩与目标分数
  4. 04读取课程资料和公告
  5. 05导出未完成任务日历

适用场景

  1. 01按课程整理尚未提交的作业
  2. 02查看期末达到目标成绩所需分数
  3. 03汇总考试安排和课程新动态

MCP 相关

该 MCP 服务向 AI 应用和 Agent 提供 D2L Brightspace 的只读工具,涵盖课程、作业、成绩、内容及日历。支持本地 stdio 和 streamable HTTP 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"anonymousonyx22-brightspace-d2l": {
"command": "npx",
"args": [
"-y",
"brightspace-d2l-mcp"
]
}
}
}
启动命令npx -y brightspace-d2l-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmbrightspace-d2l-mcp1.4.5

工具

13

收录的工具列表 · 更新于 1 天前

参数类型必填说明
daysAheadinteger否向前包含的天数
includeOverdueDaysinteger否同时包含逾期这么多天的未完成工作

详细介绍

Brightspace D2L MCP 服务

Brightspace D2L MCP 服务:询问 AI 哪些任务即将到期、哪些已经提交、成绩和课程文件

npm 版本 每月 npm 下载量 测试 Node 20+ MIT 许可证

Product Hunt 上的 Brightspace D2L MCP 服务

将 D2L Brightspace 连接到 Claude、ChatGPT、Cursor 和 Copilot。
它知道你已经提交了什么,因此只会显示真正还需要完成的内容。

一条命令。像往常一样登录。不存储密码。

brightspace-mcp.netlify.app


一个 MCP(模型上下文协议)服务,为 AI 助手和 Agent 提供对 Brightspace 课程的只读访问权限:包括截止日期和真实的提交状态、成绩、作业、评分标准、课程内容、公告、讨论和班级名单。凡是使用 D2L Brightspace 的学校都可以使用,包括采用 Microsoft、Duo、Okta 或 Shibboleth 单点登录的学校。

快速开始

你需要安装 Node.js 20 或更高版本以及 Google Chrome 或 Microsoft Edge。

npx brightspace-d2l-mcp setup

就这么简单。设置程序会询问你的学校,打开浏览器供你登录,并连接它找到的所有 AI 应用。 然后向 AI 提问:

“我现在应该做什么?”

询问 AI 现在该做什么,并获得一份跳过已提交作业的 Brightspace 待办清单(示例数据)

设置命令查找学校、登录并连接 AI 应用

刚开始使用?分步设置指南通过每一步的图片带你完成所有操作。 正在使用特定应用?请查看 Claude 和 ChatGPT 指南,或了解与其他 Brightspace MCP 服务的比较。

对比情况

大家通常会在选择 Brightspace MCP 服务前比较几个选项。以下是最常见的三项区别,其他区别请参阅完整对比:

服务提交状态登录(SSO)目标成绩
Brightspace MCP(本仓库,brightspace-d2l-mcp)每个截止日期都会说明你是否已提交作业,待办列表也会跳过已完成的事项打开真实浏览器窗口,由你自行登录,因此支持任何 SSO:Microsoft、Duo、Okta、Shibboleth。不存储密码get_grade_outlook 会显示你当前的百分比成绩、最终成绩的最高和最低可能值,以及要达到任意目标所需的剩余作业成绩
brightspace-mcp-server(由 RohanMuppa 开发)在其作业工具中显示自动登录,会将密码保存到 Keychain 或 Credential Manager,并提供九所学校的预设已发布的工具列表中没有目标成绩工具
brightspace-mcp(由 JhostinAleck 开发)列出你提交的文件可配置的自动化方式:HTTP 登录、带 Microsoft 预设的无头浏览器、Duo 推送通知或粘贴 Cookiegrade_audit 会回答“通过课程需要达到什么成绩”
@n35da/brightspace-mcp显示在每个 Dropbox 文件夹中打开真实浏览器窗口,让你使用学校的 SSO 登录已发布的工具列表中没有目标成绩工具
@exhabition/brightspace-mcp(Rust)提供作业和提交内容读取器打开可见的 Chromium 窗口,仅支持 Microsoft SSO已发布的工具列表中没有目标成绩工具

“已发布的工具列表中没有目标成绩工具”表示,截至 2026 年 10 月,我们在各项目公开的 README 和工具列表中都找不到此类工具,并不意味着以后永远不会添加。发现表格有误?请提交 issue,我们会修正。

从 brightspace-mcp-server 切换

如果你正在运行 RohanMuppa 开发的 brightspace-mcp-server,并想试试这个项目,只需更改包名,其他内容保持不变。

在 MCP 配置中,找到 mcpServers 里的 brightspace 条目并替换命令:

{
  "mcpServers": {
    "brightspace": {
      "command": "npx",
      "args": ["-y", "brightspace-d2l-mcp@latest"]
    }
  }
}

在 Windows 上,像现在一样使用 cmd /c 包装启动命令:

{
  "mcpServers": {
    "brightspace": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "brightspace-d2l-mcp@latest"]
    }
  }
}

然后重启应用。如果你不想编辑文件,可以运行 npx brightspace-d2l-mcp setup:它会询问你的学校,打开浏览器窗口供你登录,并为你写入此条目。你也可以运行 npx brightspace-d2l-mcp config,为任意应用输出准确的 JSON。

哪些内容会保留,哪些不会
状态
mcpServers 中的 brightspace 服务名称这里也使用相同名称,因此指向 brightspace 服务的配置项和已保存提示词仍然适用
工具名称名称不同。请查看上方 工具 表格,了解此服务提供的工具,并改用这些名称向 AI 提问
你的 Brightspace 账户和课程无需迁移。此服务会以你的身份登录,并查看你选修的课程,与之前相同
D2L_INCLUDE_COURSES 或 D2L_EXCLUDE_COURSES 设置这里也会读取这两个名称,因此环境变量块中的课程筛选设置仍然有效。D2L_ACTIVE_ONLY 的行为也相同,这里同样会读取
第一个服务保存在你电脑上的内容会原样保留。此服务会在 ~/.brightspace-d2l-mcp/ 中存储自己的设置和会话,因此除非你亲自删除,否则那里不会有任何变化

想要切换回去?把旧命令放回原处即可。你甚至可以使用两个不同的服务名称并排配置这两个服务,但一个 AI 应用同时连接两个 Brightspace 服务通常会让事情变得更复杂,得不偿失。

第一个服务具备的一些功能在这里没有:它可以将密码保存到电脑的凭据存储中,从而无需打开浏览器窗口即可登录;它还附带了几所指定学校的预设。此服务始终会打开一个普通的浏览器窗口,由你自行登录,这样才能使用单点登录;之后它只会保留你的浏览器会话。

你可以这样提问

试着问
✅ 待完成事项“我现在应该做什么?” · “我还有什么没提交?”
📅 截止日期“这周有哪些截止日期?” · “明天有截止的事项吗?”
📊 成绩“我的成绩怎么样?” · “我微积分及格了吗?”
📢 公告“今天有教授发布什么内容吗?”
📚 课程内容“查找期中复习课件” · “总结实验 3 的说明”
📎 作业文件“项目的评分标准有哪些要求?”
💬 讨论“大家在期末项目讨论串里都说了什么?”
👥 班级名单“我的网络课程助教是谁?”
🎯 目标成绩“期末考试要考多少才能拿到 80 分?” · “我还有机会及格吗?”
🗓️ 日历“把我的截止日期加到日历里”
📝 考试“我的期中考试是什么时候?” · “我这周的日程安排是什么?”
🔔 最新动态“告诉我最近的情况” · “有什么东西已经评分了吗?”
它知道你已经提交了什么

大多数工具只能查看截止日期,所以会一直提醒你做已经完成的作业。 此工具会检查每项作业的实际提交状态:

状态含义
submitted / graded已完成。绝不会将其列为待办事项。
not_submitted / draft仍需完成。
not_open_yet作业提交箱尚未开放;会显示开放时间。
closed / past_due你已无法提交。
unknown测验:Brightspace 不会向学生显示测验尝试记录,因此 AI 会询问你。

工具

提供 17 个用于 D2L Brightspace 的 MCP 工具。所有工具都只读取 Brightspace 中的信息,不会对其进行任何修改:

工具功能
get_todo汇总所有课程的待办事项,并按优先级排序:即将到期、已逾期、尚未开放和已完成的事项
get_upcoming_due_dates查看即将到来的截止日期,以及每项作业的实际提交状态
get_my_courses查看你选修的课程及其名称、代码和 ID
get_my_grades查看每门课程的成绩明细,包括分数、百分比和教师评语
get_assignments查看作业(投递箱)和测验,包括截止日期、状态和评分标准
get_assignment_files读取作业附带的说明、讲义和评分标准文件
get_course_content查看课程模块、讲课幻灯片、文件和链接
get_syllabus查看课程大纲和概述
get_announcements查看教师发布的近期公告(新闻)
get_discussions查看讨论论坛、主题和帖子
get_roster查看教师和助教的联系信息,也可选择查看完整班级名单
get_classlist_emails获取课程中所有人的电子邮件地址
download_file将课程文件或提交内容保存到你选择的文件夹
get_grade_outlook查看你目前的课程成绩,以及要达到目标成绩,剩余作业需要取得的分数
export_due_dates_calendar创建未完成事项截止日期的日历文件(.ics),供 Google Calendar、Apple Calendar 和 Outlook 使用
get_calendar_events查看课程日历中的考试、测验、实验课、课程和其他活动
get_whats_new汇总所有课程的最新动态:新公告、新标记的作业、未读讨论和未尝试的测验

提示词和示例问题

支持 MCP 提示词的应用会将它们显示为一键快捷方式或斜杠命令。你不必记住提示词名称:在普通聊天中输入示例问题也能使用,因为每个提示词只是告诉 AI 要调用哪些工具。

提示词示例问题使用的工具
what_should_i_do_now“我现在应该做什么?”get_todo
plan_my_week“我这周应该怎么安排?”get_todo
weekly_digest“能给我一份包含截止日期、活动和成绩的每周摘要吗?”get_todo、get_calendar_events、get_whats_new、get_my_grades
grade_target“期末考试需要考多少分才能拿到 80 分?”get_my_courses、get_grade_outlook、get_syllabus
exam_prep“能帮我准备下周五的网络考试吗?”get_my_courses、get_syllabus、get_course_content、get_announcements、get_todo
summarize_assignment“能总结一下实验 3 的说明和评分标准吗?”get_assignments、get_assignment_files
put_deadlines_in_my_calendar“能把我的截止日期添加到日历里吗?”export_due_dates_calendar
catch_me_up“有什么新消息吗?有作业评分了吗?”get_whats_new、get_my_grades
when_are_my_exams“我的考试都在什么时候?”get_calendar_events、get_announcements、get_syllabus

适用于任何 Brightspace 学校

每所学校的登录方式都不同:Microsoft、ADFS、Duo、Shibboleth、Okta、Google、校区选择器或 Brightspace 自带的表单。 无需猜测学校的登录方式,设置时会打开一个普通浏览器窗口,让你像平时一样登录,包括输入短信验证码和使用身份验证器应用。

你的 AI 应用会与电脑上的此服务交互;此服务使用你通过浏览器登录后获得的会话读取 Brightspace

登录后,它会在后台静静保持登录状态。如果学校要求你重新登录,浏览器窗口便会自动弹出,并在你完成登录后自行关闭。

我的学校能用吗?

如果你的学校使用 D2L Brightspace,就可以。设置时会打开一个普通浏览器窗口,因此支持任何登录方式,包括 Microsoft、Duo、Okta 和 Shibboleth。

学校状态
一所学院作者已测试
其他任何使用 D2L 的学校应该都能用。请提交一个包含你的学校的 issue,我会把它添加到这里

兼容你的 AI 应用或 Agent

设置后自动连接: Claude Desktop · Claude Code · Cursor · VS Code(GitHub Copilot)· Windsurf · OpenAI Codex · Gemini CLI · Cline · Roo Code · OpenCode · Zed · LM Studio · Kiro

只需复制粘贴即可使用: ChatGPT(开发者模式)· Continue · Goose · JetBrains AI Assistant · Warp · Amp · Msty · Jan · AnythingLLM

Agent 框架: OpenAI Agents SDK · Claude Agent SDK · LangChain / LangGraph · Vercel AI SDK · Mastra · CrewAI · Pydantic AI · LlamaIndex

本地应用通过 stdio 运行,ChatGPT 和托管 Agent 通过 streamable HTTP(serve --http)运行。 请参阅 docs/agents.md,了解这些应用各自的复制粘贴式设置方法。

使用你的 AI 安装

将以下内容粘贴到 Claude Code、Cursor、Windsurf、Copilot 或 Codex 中,它会为你完成所有设置。

Install brightspace-d2l-mcp for me by following
https://github.com/AnonymousOnyx22/brightspace-d2l-mcp/blob/main/llms.txt

命令

命令功能
npx brightspace-d2l-mcp setup选择学校、登录并连接你的 AI 应用。在 Windows 上,完成后窗口会自动关闭(使用 --keep-open 可阻止窗口关闭)
npx brightspace-d2l-mcp login重新登录
npx brightspace-d2l-mcp status显示你的学校、登录状态和已连接的应用
npx brightspace-d2l-mcp doctor检查 Node、学校、登录状态和已连接的应用,并说明如何修复问题
npx brightspace-d2l-mcp logout删除已保存的会话
npx brightspace-d2l-mcp uninstall从所有 AI 应用中移除,并删除所有本地数据
npx brightspace-d2l-mcp serve --http通过 HTTP 运行,以供 ChatGPT 和基于 HTTP 的 Agent 使用
npx brightspace-d2l-mcp config输出适用于其他应用的 MCP 配置 JSON

有新版本时,命令会先询问是否更新。设置 BRIGHTSPACE_NO_UPDATE_CHECK=1 可关闭此功能。

设置选项
npx brightspace-d2l-mcp setup --school yourschool.brightspace.com   # skip the school question
npx brightspace-d2l-mcp setup --apps claude-desktop,cursor          # only connect these apps
npx brightspace-d2l-mcp setup --skip-login                          # sign in later, on first use
npx brightspace-d2l-mcp setup --yes                                 # accept every default

应用 ID:claude-desktop、claude-code、cursor、vscode、windsurf、codex、gemini-cli、cline、roo-code、opencode、zed、lm-studio、kiro。

隐私与安全

  • 绝不会获取或存储你的密码。 你会在真实浏览器中,输入学校自己的登录页面。
  • 只读。 它无法在 Brightspace 中提交、发布或更改任何内容。所有工具只会发送 GET 请求,API 客户端完全没有写入方法;如果将来添加了此类方法,测试会导致构建失败。请参阅如何强制执行只读限制。
  • 仅在本地运行。 所有操作都在你的电脑上运行,并且只与学校的 Brightspace 通信。中间没有服务器,也不会收集分析数据。
  • 使用官方 Brightspace API,权限与您在浏览器中的权限相同。
  • 你的会话保存在 ~/.brightspace-d2l-mcp/ 中,只有你的用户帐户可以读取。logout 会删除该会话;uninstall 会删除所有内容。

故障排除

遇到问题了?docs/troubleshooting.md 会介绍如何解决应用中没有显示 Brightspace 工具、设置窗口始终不打开,以及单点登录一直失败的问题,并列出每种情况打印的具体消息。首先运行 npx brightspace-d2l-mcp doctor。

“未找到受支持的浏览器”

安装 Google Chrome,或使用 Microsoft Edge(Windows 已预装)。 也可以通过 npx playwright install chromium 安装一份独立的 Chromium。

无法接受我的学校地址

先在浏览器中登录 Brightspace,然后从地址栏复制地址(任何页面都可以)。 如果页面显示你们学校“运行 Blackboard”或“运行 Canvas”,说明学校没有使用 Brightspace。

Claude Desktop 中没有显示 Brightspace

完全退出 Claude Desktop(点击系统托盘图标 → 退出,不要只关闭窗口),然后再次运行 setup。 Claude Desktop 在运行期间会重写设置,因此 setup 会提示你重新启动它。

它一直要求我登录

有些学校每隔几小时就会结束会话。发生这种情况时,浏览器窗口会打开,让你重新登录。 运行 npx brightspace-d2l-mcp doctor 查找问题,运行 status 快速查看状态,或运行 login 立即登录。 如果你不希望它自动打开窗口,可将 "autoLogin": false 添加到 ~/.brightspace-d2l-mcp/config.json。

我想过滤掉旧课程

将课程 ID 添加到 ~/.brightspace-d2l-mcp/config.json:

{ "excludeCourses": [123456, 789012] }

也可以使用 "includeCourses" 仅保留指定课程。向 AI 提问“列出我的课程及其 ID”即可查找课程。

## 常见问题
如何将 D2L Brightspace 连接到 Claude?

运行 npx brightspace-d2l-mcp setup。它会自动连接 Claude Desktop 和 Claude Code。然后就可以向 Claude 询问课程相关问题。

有没有适用于 D2L Brightspace 的 AI 助手?

有。它可以将 Brightspace 连接到你已经在使用的 AI 应用(Claude、ChatGPT、Cursor、GitHub Copilot、Gemini 等),这样你就可以用日常英语询问截止日期、成绩和课程文件,而不必逐个点击查看课程。

如何在 Brightspace 中使用 ChatGPT?

运行 npx brightspace-d2l-mcp serve --http,通过隧道公开它,然后在 ChatGPT 开发者模式中将 URL 添加为连接器。docs/agents.md 逐步介绍了每个步骤。

如何将 Brightspace 连接到 Cursor、VS Code Copilot 或 Windsurf?

运行 npx brightspace-d2l-mcp setup。它会找到 Cursor、VS Code、Windsurf 和另外 10 个应用,并为你完成连接。

可以将它与 ChatGPT、自定义 Agent 或 Claude Agent SDK 一起使用吗?

可以。本地 Agent 和 SDK 使用 npx -y brightspace-d2l-mcp@latest 启动它;ChatGPT 或基于 HTTP 的 Agent 则使用 npx brightspace-d2l-mcp serve --http。docs/agents.md 提供了适用于 ChatGPT、OpenAI Agents SDK、Claude Agent SDK、LangChain、Vercel AI SDK 等的复制粘贴式配置说明。

需要 API 密钥或学校管理员权限吗?

不需要。Brightspace API 密钥通常需要管理员提供。此工具改用你自己的学生账号登录,因此它看到的内容与你在 Brightspace 中看到的完全一致,也不需要学校里的任何人进行设置。

如何从 brightspace-mcp-server 切换到这个工具?

在 MCP 配置中更改包名:在同一个 brightspace 条目中,将 brightspace-mcp-server 替换为 brightspace-d2l-mcp,然后重启应用。或者运行 npx brightspace-d2l-mcp setup,让它为你写入该条目。从 brightspace-mcp-server 切换介绍了哪些内容会保留,哪些不会。

它支持 Duo、Microsoft Authenticator 或短信验证码吗?

支持。你会在真实的浏览器窗口中自行登录,因此学校使用的任何登录方式都适用。

它能告诉我期末考试需要考多少分才能达到目标成绩吗?

可以。询问“我需要在期末考试中考多少分,才能让微积分成绩达到 80 分?”get_grade_outlook 就会根据 Brightspace 报告的权重,提供你当前的百分比、期末总评的最高和最低可能分数,以及剩余所有作业所需的平均分。

我可以将 Brightspace 的截止日期添加到 Google Calendar、Apple Calendar 或 Outlook 吗?

可以。让 AI 将截止日期添加到你的日历中。export_due_dates_calendar 会生成一个 .ics 文件,其中包含指向 Brightspace 的链接,并为每个日历事件设置提前一天的提醒;文件只包含你尚未提交的作业。

它适用于哪些学校?

任何使用 D2L Brightspace 的学校都适用,无论地址是 yourschool.brightspace.com、yourschool.desire2learn.com,还是 learn.yourschool.edu 这样的自定义域名。

它能替我提交作业或发帖吗?

不能。它是专为只读而设计的。

这是 D2L 开发的吗?

不是。这是一个独立的开源项目,通过你的账号使用官方 Brightspace API。它与 D2L 无关,也未获得 D2L 背书。

开发

git clone https://github.com/AnonymousOnyx22/brightspace-d2l-mcp.git
cd brightspace-d2l-mcp
npm install
npm run build
npm test
node build/index.js setup     # connects your AI apps to this local build

工具位于 src/tools/,登录功能位于 src/auth/,配置功能位于 src/cli/。 欢迎提交问题和拉取请求。

更多免费的学生 MCP 服务

全部免费、开源;涉及你的账户时均为只读。访问 brightspacemcp.com/more-mcps 查看完整列表。

服务功能
Canvas MCP面向 AI 的 Canvas LMS,只读。查看截止日期、缺交作业、成绩和公告。
Moodle MCP面向 AI 的 Moodle,只读。查看截止日期、逾期作业、成绩和公告。
Google Classroom MCP面向 AI 的 Google Classroom,只读。查看待办事项、截止日期、缺交作业和成绩。
GPA Calculator MCP面向 AI 的 GPA、成绩换算,以及期末考试所需分数计算。可离线使用,无需账户。
Citations MCP根据 DOI、ISBN 或手动输入的详细信息生成 APA、MLA 和 Chicago 引用。无需账户。
Study Planner MCP制定考试学习计划、间隔重复日期、番茄钟计划和作业里程碑。可离线使用。
Paper Finder MCP通过 OpenAlex 搜索学术论文、查找开放获取版本和相关研究。无需密钥。

许可证

MIT © AnonymousOnyx22

D2L 和 Brightspace 是 D2L Corporation 的商标。本项目与 D2L 无关。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。