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

服务器信息