d2l
MCP server from bencered/d2l-mcp-server
claude mcp add --transport stdio bencered-d2l-mcp-server d2l-mcp \ --env D2L_HOST="your Brightspace hostname (e.g., learn.yourdomain.edu)" \ --env D2L_COURSE_ID="default course ID (optional)"
How to use
This MCP server provides AI-assisted access to D2L Brightspace data and actions through a set of 12 tools. Once you authenticate, the server maintains a persistent browser session to handle SSO login and token management, so you can rely on it to fetch assignments, grades, course content, announcements, calendars, and more without repeatedly logging in. The tools are designed to let an agent retrieve structured information (for example, lists of assignments with due dates or the course syllabus) and to download files with content extraction when needed. You can configure Claude/your AI agent to point at this MCP server and use the tools through standardized prompts, e.g., asking for upcoming due dates, or requesting the details of a specific assignment or course module. The server also supports downloading course files and extracting text, making it useful for summarization or offline review.
How to install
Prerequisites:
- Node.js (recommended LTS) and npm installed on your system
- Administrative access if you want to install the MCP server globally
- Install the MCP server globally via npm:
npm install -g d2l-mcp-server
This installation will automatically download and install Chromium for browser automation used by the internal SSO flow.
- (Optional) Verify installation:
d2l-mcp-auth --help
- Prepare to run:
- Ensure you can access your Brightspace tenant and have an account to login via SSO.
- Optionally set environment variables for host and course when launching through your orchestration.
- Start the MCP server:
d2l-mcp
If you are integrating with Claude or another agent, configure the MCP as shown in the setup example to pass host and course information via environment variables.
Additional notes
Tips and notes:
- The server uses automated SSO via Playwright to authenticate and then stores the session locally for hours of use.
- You can customize the connected host and default course via environment variables (D2L_HOST and D2L_COURSE_ID).
- If your session expires, run d2l-mcp-auth to re-authenticate; the session is stored under ~/.d2l-session/.
- The available tools cover assignments, course content, grades, calendar events, announcements, enrolled courses, and file downloads with text extraction. Query formats and prompts should align with the tool names (e.g., get_assignments, get_my_grades, download_file).
- Ensure appropriate access rights to the Brightspace instance and that cross-origin/browser automation is permitted in your environment.
- If you encounter Chromium download issues, ensure your network permits download and consider running with a VPN or proxy if required by your environment.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud