# brightspace

MCP server connecting AI assistants to D2L Brightspace. Lets you inspect grades, deadlines, and course notices directly from chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 59
- Author: RohanMuppa
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/RohanMuppa/brightspace-mcp-server
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/brightspace

## What it does

This server bridges your AI assistant with your school's D2L Brightspace platform. The model gains read-only access to course contents, grade reports, teacher feedback, and pending quizzes. It never submits files, alters settings, or deletes student records.

Setup requires Node.js version 22 or higher. Credentials stay safe inside the local OS store, like macOS Keychain or Windows Credential Manager, instead of plain files. Initial login stalls unless you approve the prompt on your phone or device. Several universities offer dedicated flags like `--purdue` or `--suny` during onboarding to bypass manual URL entry.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `D2L_BASE_URL`, `D2L_SESSION_DIR`, `D2L_HEADLESS`, `D2L_TOKEN_TTL`, `D2L_INCLUDE_COURSES`, `D2L_EXCLUDE_COURSES`, `D2L_ACTIVE_ONLY`, `D2L_CURRENT_ONLY`, `D2L_DEV_MODE`, `D2L_NO_UPDATE_CHECK` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env D2L_BASE_URL=<D2L_BASE_URL> --env D2L_SESSION_DIR=<D2L_SESSION_DIR> --env D2L_HEADLESS=<D2L_HEADLESS> --env D2L_TOKEN_TTL=<D2L_TOKEN_TTL> --env D2L_INCLUDE_COURSES=<D2L_INCLUDE_COURSES> --transport stdio brightspace -- npx -y brightspace-mcp-server
```
Replace <…> with your own values. 5 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add brightspace --env D2L_BASE_URL=<D2L_BASE_URL> --env D2L_SESSION_DIR=<D2L_SESSION_DIR> --env D2L_HEADLESS=<D2L_HEADLESS> --env D2L_TOKEN_TTL=<D2L_TOKEN_TTL> --env D2L_INCLUDE_COURSES=<D2L_INCLUDE_COURSES> -- npx -y brightspace-mcp-server
```
Replace <…> with your own values. 5 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "brightspace": {
            "command": "npx",
            "args": [
                "-y",
                "brightspace-mcp-server"
            ],
            "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>"
            }
        }
    }
}
```
Replace <…> with your own values. 5 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "brightspace": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "brightspace-mcp-server"
            ],
            "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>"
            }
        }
    }
}
```
Replace <…> with your own values. 5 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -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> brightspace npx -y brightspace-mcp-server
```
Replace <…> with your own values. 5 more environment variables are in the server README

## When to use it
- track upcoming assignment due dates across enrolled subjects
- retrieve course grades and instructor feedback on submissions
- check test schedules and quiz availability windows
- review recent course announcements

## Example prompts
- What assignments are due over the next two days?
- Show my current grades and instructor feedback for class assignments.
- Summarize announcements posted this week across all my subjects.

## Similar
- [Reactive Resume](https://affpapa.org/en/nevibecode/mcp/reactive-resume.md) — MCP server · ★ 44874
- [screenpipe](https://affpapa.org/en/nevibecode/mcp/screenpipe.md) — MCP server · ★ 22053
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12791
- [kaneo](https://affpapa.org/en/nevibecode/mcp/kaneo.md) — MCP server · ★ 9602
- [Mindwtr](https://affpapa.org/en/nevibecode/mcp/mindwtr.md) — MCP server · ★ 2318
- [Azure DevOps (ADO)](https://affpapa.org/en/nevibecode/mcp/azure-devops-ado.md) — MCP server · ★ 2067

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
