Token导航 LogoToken导航TokenDH.com
d2l MCP logo
AI代理未说明官方级别未说明来源级核验

d2l MCP

MCP Server

一个用于与D2L Brightspace学习管理系统交互的AI助手服务器,提供自动化认证、课程内容访问和文件下载等功能。

工具数

0

提示词数

0

GitHub Stars

10

资源数

0
教育技术TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

joshuasoup

提供方

joshuasoup

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

D2L Brightspace MCP服务器

MCP(模型上下文协议)服务器,为AI助手提供与D2L Brightspace LMS交互的工具。

我不宽恕在任何违反用户大学学术行为准则的活动中使用此服务器。

特性

  • 自动身份验证 -使用 D2L_USERNAMED2L_PASSWORD 用于自动登录或基于浏览器的SSO的env变量
  • 持久会话存储 -登录一次,使用数小时
  • 12工具 用于访问作业、成绩、日历、公告、课程内容
  • 文件下载 具有自动文本提取功能(docx、txt等)
  • LLM优化响应 -干净、令牌高效的输出
  • 多种运输方式 -HTTP/SSE(默认)或stdio用于远程访问

安装

1.克隆存储库

git clone https://github.com/joshuasoup/d2l-mcp.git
cd d2l-mcp

2.安装依赖项并构建

npm install
npm run build

这将自动安装Chromium以实现浏览器自动化并构建项目。

设置

1.配置环境变量

复制示例环境文件并添加您的凭据:

cp .env.example .env

然后编辑 .env 并添加您的D2L凭据:

D2L_HOST=learn.ul.ie
D2L_USERNAME=your-username
D2L_PASSWORD=your-password
D2L_COURSE_ID=your-course-id

2.首次认证

您可以通过两种方式进行身份验证:

选项A:使用环境变量(自动)

如果您已添加 D2L_USERNAMED2L_PASSWORD 你的 .env 文件,服务器将使用这些凭据自动登录。

选项B:使用浏览器(交互式)

npm run auth
# or
d2l-mcp-auth

这将打开一个浏览器窗口,您可以在其中登录Brightspace。您的会话已保存到 ~/.d2l-session/.

如果两者都有 D2L_USERNAMED2L_PASSWORD 设置在您的 .env 文件,服务器将使用这些凭据自动登录。否则,它将使用保存的浏览器会话或提示进行交互式登录。

3.配置poke mcp

首选https://poke.com/settings/connections/integrations/new并输入您的服务器URL(如果您在本地执行此操作,请将localhost:3000端口转发)

4.运行服务器

默认情况下,服务器在端口3000上以HTTP模式运行:

d2l-mcp
# or
npm start

服务器将于启动 http://localhost:3000/mcp。客户端可以通过以下方式连接:

  • 发布 /mcp -发送JSON-RPC消息
  • 获取 /mcp -为服务器到客户端的消息建立SSE流
  • 删除 /mcp -终止会话

HTTP模式支持多个并发客户端,每个客户端都有自己的会话ID。

要使用stdio传输(用于Claude Desktop),请设置环境变量:

MCP_TRANSPORT=stdio d2l-mcp

可用工具

作业

工具说明
get_assignments列出所有作业,并注明截止日期和说明
get_assignment获取特定任务的完整详细信息
get_assignment_submissions获取您的提交、成绩和反馈

课程内容

工具说明
get_course_content获取完整的课程大纲/结构
get_course_topic获取特定主题/讲座的详细信息
get_course_modules获取课程的主要部分/模块
get_course_module获取特定模块中的内容

成绩和日历

工具说明
get_my_grades通过分数和反馈获得所有成绩
get_upcoming_due_dates获取日历事件和截止日期

其他

工具说明
get_announcements从讲师那里获取课程公告
get_my_courses列出您注册的所有课程
download_file从课程文件中下载和提取内容

示例提示

一旦连接到Poke,你可以问这样的问题:

  • “本周有什么作业要交?”
  • “显示我的成绩”
  • “发布了哪些公告?”
  • “下载周报模板”
  • “这门课的教学大纲是什么?”

环境变量

变量描述默认值
D2L_HOST您的Brightspace主机名brightspace.carleton.ca
D2L_USERNAME您用于自动登录的D2L用户名(可选)
D2L_PASSWORD您用于自动登录的D2L密码(可选)
D2L_COURSE_ID默认课程ID(可选)
MCP_TRANSPORT运输方式: stdio, http,或 httpshttp
MCP_PORTHTTP服务器端口(仅在以下情况下使用 MCP_TRANSPORT=http)3000

设置 D2L_COURSE_ID 允许您在工具调用中省略课程ID。

运输方式

  • 超文本传输协议超文本传输安全协议 (默认):用于web客户端或远程访问的HTTP/SSE传输。使用MCP SDK中的StreamableHTTPServerTransport。
  • 标准:标准输入/输出传输,由Claude Desktop和其他MCP客户端使用。集 MCP_TRANSPORT=stdio 使用此模式。

会话管理

  • 令牌到期:身份验证令牌将在约1小时后过期,但会使用保存的浏览器会话自动刷新
  • 会话到期:浏览器会话在大约24小时不活动后过期
  • 重新验证:运行 d2l-mcp-auth 如果您的会话到期
  • 自动身份验证 将d2l用户名和密码添加到.env以进行自动身份验证

发展

# Run tests
npm test

# Run integration tests (requires auth)
npm run test:integration

# Watch mode
npm run test:watch

许可证

麻省理工学院

鸣谢

本项目基于以下原创作品 穆奇普将军. 此版本包括其他功能和修改。

目录标签

目录标签

教育技术TypeScriptClaude学习管理系统本地部署AI助手自动化工具课程管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP