home / mcp / d2l brightspace mcp server

D2L Brightspace MCP Server

Provides access to assignments, content, grades, calendar, announcements, and file downloads from Brightspace via MCP.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "bencered-d2l-mcp-server": {
      "command": "d2l-mcp",
      "args": [],
      "env": {
        "D2L_HOST": "learn.ul.ie",
        "D2L_COURSE_ID": "68929"
      }
    }
  }
}

This MCP server lets a conversational agent access D2L Brightspace classroom data and actions through a streamlined, scriptable interface. It enables automated authentication, persistent sessions, and a suite of tools to fetch assignments, course content, grades, calendars, announcements, and to download files for offline processing. Use it to empower your AI workflows with Brightspace insights while keeping your login state secure and reusable across long sessions.

How to use

You connect your agent to the D2L Brightspace MCP Server and then call its tools to retrieve course information, assignments, grades, and related data. Start by authenticating once; the server handles browser-based sign-in and stores your session locally. After authentication, your agent can perform actions like listing your courses, pulling upcoming due dates, or downloading course materials. You can combine multiple tool calls in a single session to build summaries, track deadlines, or generate reports for your courses.

How to install

Prerequisites: you need Node.js and npm installed on your system.

Step 1: Install the MCP server globally.

npm install -g d2l-mcp-server

Step 2: Perform first-time authentication to save your Brightspace session.

d2l-mcp-auth
```
This opens a browser window where you log in to Brightspace. Your session is saved locally at `~/.d2l-session/`.

Configuration and usage notes

After authentication, you configure your MCP client to connect to the local MCP server. A sample client setup is shown in the configuration snippet below. You can customize host and course context for your environment.

{
  "mcpServers": {
    "d2l": {
      "command": "d2l-mcp",
      "env": {
        "D2L_HOST": "learn.ul.ie",
        "D2L_COURSE_ID": "68929"
      }
    }
  }
}

Environment and session details

- Token expiry: Auth tokens refresh automatically using the saved browser session. - Session expiry: Browser sessions may expire after periods of inactivity; re-authenticate if needed by running the authentication command again.

Security and usage notes

Keep your session secure and avoid sharing your authentication flow. The server is designed to prevent academic misconduct and should be used to understand assignments and course materials for learning purposes.

Examples of typical prompts

- What assignments are due this week for my courses? - Show me my current grades and feedback - What announcements were posted by instructors? - Download the weekly course materials package and extract its contents - What is the syllabus for this course?

Available tools

get_assignments

List all assignments with due dates and instructions

get_assignment

Get full details for a specific assignment

get_assignment_submissions

Get your submissions, grades, and feedback

get_course_content

Get complete course syllabus/structure

get_course_topic

Get details for a specific topic or lecture

get_course_modules

Get main sections or modules of a course

get_course_module

Get contents within a specific module

get_my_grades

Get all your grades with scores and feedback

get_upcoming_due_dates

Get calendar events and deadlines

get_announcements

Get course announcements from instructors

get_my_courses

List all your enrolled courses

download_file

Download and extract content from course files