Purdue Brightspace MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个完整的 MCP 服务器,能够向 LLM 客户端提供对 Purdue Brightspace(D2L)数据的上下文信息与外部工具接口。服务器通过 MCP 标准注册多组工具,处理请求、执行外部 API 调用、并渲染提示内容,支持会话管理与多种传输通道。
-
主要功能点
- MCP 服务器核心:基于 @modelcontextprotocol/sdk 构建,注册并暴露多种工具,按 JSON-RPC 风格与客户端通信。
- 工具集合:实现了获取课程、即将到期作业、成绩、公告、课程内容、下载文件、班级名单、电邮等多项工具;每个工具带输入校验、结果包装及错误处理。
- Brightspace API 集成:内置 D2L API 客户端,具备版本发现、缓存 TTL、速率限制、错误封装与自动重认证等能力。
- 认证与会话管理:包含浏览器认证流程、令牌管理、会话存储(对称加密存储令牌)等,确保长期可用的上下文服务。
- 安全与鲁棒性:错误统一包装,提供可读的反馈信息,同时保护敏感数据不在日志中暴露;支持对网络、速率、权限等场景的错误处理。
- 传输与部署:通过 STDIO(标准输入输出)传输与 MCP 客户端对接,便于在 Claude、Cursor、ChatGPT Desktop 等环境中使用。
-
安装步骤
- 克隆仓库并安装依赖
- 安装依赖后构建类型Script 项目(npm run build)
- 根据需求配置环境变量(如 D2L_BASE_URL、D2L_USERNAME、D2L_PASSWORD、D2L_SESSION_DIR、D2L_TOKEN_TTL 等),并可选启用 headless、Totp 等
- 使用 MCP 客户端配置将服务器加入(详见下方服务器配置示例)
- 启动服务器后,客户端即可通过 MCP 机制调用已注册的工具
-
服务器配置(MCP 客户端需要的最小信息)
- 说明:MCP 客户端需要一个启动命令和参数来启动 MCP 服务器进程,示例配置如下(请将路径替换为实际机器上的绝对路径)。
- 服务器名称:purdue-brightspace
- 启动命令:node
- 启动参数示例:/absolute/path/to/purdue-brightspace-mcp/build/index.js
- 注释:上述配置指定了在本地执行 node 并运行服务器打包后的入口文件。实际路径需替换为你在机器上的真实路径。配置文件仅用于 MCP 客户端引用服务器入口,客户端不需要包含凭证信息在此处。
-
基本使用方法
- 启动后,MCP 客户端即可向服务器发起请求(读取资源、执行工具、获取提示等)。
- 根据需要在客户端配置中按工具名称调用相应工具,例如获取课程、作业、成绩等信息。
- 如需重新认证或更新凭证,请使用仓库中的 purdue-brightspace-auth 工具或对应的自动重认证机制。
-
关键词 Brightspace, D2L API, LLM 集成工具, JSON-RPC, 浏览器认证
-
分类 6