home / mcp / d2l brightspace mcp server
Provides access to assignments, content, grades, calendar, announcements, and file downloads from Brightspace via MCP.
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.
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.
Prerequisites: you need Node.js and npm installed on your system.
Step 1: Install the MCP server globally.
npm install -g d2l-mcp-serverStep 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/`.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"
}
}
}
}- 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.
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.
- 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?
List all assignments with due dates and instructions
Get full details for a specific assignment
Get your submissions, grades, and feedback
Get complete course syllabus/structure
Get details for a specific topic or lecture
Get main sections or modules of a course
Get contents within a specific module
Get all your grades with scores and feedback
Get calendar events and deadlines
Get course announcements from instructors
List all your enrolled courses
Download and extract content from course files