D2L Brightspace MCP server: grades, due dates, assignments, announcements and files. Any school.
Connect Runs on your machine
claude mcp add brightspace -e D2L_BASE_URL=<D2L_BASE_URL> -e D2L_SESSION_DIR=<D2L_SESSION_DIR> -e D2L_HEADLESS=<D2L_HEADLESS> -e D2L_TOKEN_TTL=<D2L_TOKEN_TTL> -e D2L_INCLUDE_COURSES=<D2L_INCLUDE_COURSES> -e D2L_EXCLUDE_COURSES=<D2L_EXCLUDE_COURSES> -e D2L_ACTIVE_ONLY=<D2L_ACTIVE_ONLY> -e D2L_CURRENT_ONLY=<D2L_CURRENT_ONLY> -e D2L_DEV_MODE=<D2L_DEV_MODE> -e D2L_NO_UPDATE_CHECK=<D2L_NO_UPDATE_CHECK> -- npx -y [email protected]
{
"mcpServers": {
"brightspace": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"D2L_BASE_URL": "<D2L_BASE_URL>",
"D2L_SESSION_DIR": "<D2L_SESSION_DIR>",
"D2L_HEADLESS": "<D2L_HEADLESS>",
"D2L_TOKEN_TTL": "<D2L_TOKEN_TTL>",
"D2L_INCLUDE_COURSES": "<D2L_INCLUDE_COURSES>",
"D2L_EXCLUDE_COURSES": "<D2L_EXCLUDE_COURSES>",
"D2L_ACTIVE_ONLY": "<D2L_ACTIVE_ONLY>",
"D2L_CURRENT_ONLY": "<D2L_CURRENT_ONLY>",
"D2L_DEV_MODE": "<D2L_DEV_MODE>",
"D2L_NO_UPDATE_CHECK": "<D2L_NO_UPDATE_CHECK>"
}
}
}
}
{
"mcpServers": {
"brightspace": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"D2L_BASE_URL": "<D2L_BASE_URL>",
"D2L_SESSION_DIR": "<D2L_SESSION_DIR>",
"D2L_HEADLESS": "<D2L_HEADLESS>",
"D2L_TOKEN_TTL": "<D2L_TOKEN_TTL>",
"D2L_INCLUDE_COURSES": "<D2L_INCLUDE_COURSES>",
"D2L_EXCLUDE_COURSES": "<D2L_EXCLUDE_COURSES>",
"D2L_ACTIVE_ONLY": "<D2L_ACTIVE_ONLY>",
"D2L_CURRENT_ONLY": "<D2L_CURRENT_ONLY>",
"D2L_DEV_MODE": "<D2L_DEV_MODE>",
"D2L_NO_UPDATE_CHECK": "<D2L_NO_UPDATE_CHECK>"
}
}
}
}
{
"servers": {
"brightspace": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"D2L_BASE_URL": "<D2L_BASE_URL>",
"D2L_SESSION_DIR": "<D2L_SESSION_DIR>",
"D2L_HEADLESS": "<D2L_HEADLESS>",
"D2L_TOKEN_TTL": "<D2L_TOKEN_TTL>",
"D2L_INCLUDE_COURSES": "<D2L_INCLUDE_COURSES>",
"D2L_EXCLUDE_COURSES": "<D2L_EXCLUDE_COURSES>",
"D2L_ACTIVE_ONLY": "<D2L_ACTIVE_ONLY>",
"D2L_CURRENT_ONLY": "<D2L_CURRENT_ONLY>",
"D2L_DEV_MODE": "<D2L_DEV_MODE>",
"D2L_NO_UPDATE_CHECK": "<D2L_NO_UPDATE_CHECK>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
D2L_BASE_URLOptional | Your school's Brightspace URL. Default: https://purdue.brightspace.com. Normally set by the setup wizard in ~/.brightspace-mcp/config.json instead. |
D2L_SESSION_DIROptional | Local root for separate per-school/account directories containing encrypted tokens and browser storage. Encryption keys are kept in the native credential store. Default: ~/.d2l-session |
D2L_HEADLESSOptional | Run browser authentication without a visible window. Set false only for MFA methods that require browser interaction. Default: true |
D2L_TOKEN_TTLOptional | Seconds an access token is used before it is re-minted from the session cookie. Default: 3600 |
D2L_INCLUDE_COURSESOptional | Comma separated course (org unit) ids to include. Default: all enrolled courses. |
D2L_EXCLUDE_COURSESOptional | Comma separated course (org unit) ids to exclude. |
D2L_ACTIVE_ONLYOptional | Only return courses whose enrollment is active. Default: true |
D2L_CURRENT_ONLYOptional | Only return courses whose Access.StartDate to Access.EndDate window contains now, matching Brightspace's "Current Courses" widget. Default: false |
D2L_DEV_MODEOptional | Set to true to record local tool timestamps and safe authentication outcomes in the account session directory. No arguments, results or credentials are logged. Default: false. |
D2L_NO_UPDATE_CHECKOptional | Set to any value to disable the startup check against the npm registry for a newer version. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 11 Nov 2026 |
| Last updated | 11 Nov 2026 |
| Registry name | io.github.RohanMuppa/brightspace |
More files and documents servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
