# D2L Brightspace MCP for AI Agents MCP

> D2L Brightspace MCP connects your AI client directly to your learning management system (LMS). Manage everything from user accounts and class enrollments to grade updates and content creation—all through natural conversation, without clicking through complex menus.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** course-management, student-records, lms-integration, enrollment-management, academic-administration, learning-analytics

## Description

This connector lets you manage nearly every administrative task within your D2L Brightspace environment using only your agent's chat interface. Instead of logging in, navigating deep menu structures, and copy-pasting data, you simply ask what you need done. You can create entirely new course offerings or duplicate existing content between different units. Need to fix an enrollment issue? It handles that. Want to check a student’s progress on assignments or provide feedback directly? Your agent takes care of it. If you're using Vinkius, this MCP gives your client access to the entire Brightspace catalog through one connection point. You manage users by creating accounts and setting up permissions; you track grades by viewing assignment results or updating a score for an individual student. This means your AI workflow stays focused on teaching and research, not admin work.

## Tools

### copy_course
Starts a job to duplicate an entire existing course structure into a new one.

### create_course
Creates a brand-new, empty course offering within the Brightspace system.

### create_enrollment
Automatically signs a specific user into a designated organizational unit or class.

### create_lti_deployment
Sets up a new integration point for external educational tools using LTI Advantage standards.

### create_org_unit
Builds and names custom organizational units to categorize course materials or departments.

### create_post
Adds a new piece of content, like an announcement, into a discussion thread or topic.

### create_topic
Starts an entirely new conversation topic within a specific course forum.

### create_user
Generates and adds a completely new user account to the Brightspace system.

### delete_enrollment
Removes a specific user's access from an organizational unit or course class.

### get_course_template
Retrieves metadata about the standard template used for creating courses.

### get_course
Pulls all current details and settings for a specified course unit.

### get_org_unit
Retrieves the properties and structure of an organizational unit.

### get_user_grade
Fetches a user's specific grade result for one particular assignment object.

### list_assignment_folders
Lists all the folder locations where students submit their assignments (dropboxes).

### list_forums
Retrieves a list of active discussion forums available in a course.

### list_grades
Pulls a comprehensive list of all possible grade objects for the entire course.

### list_legacy_lti_links
Lists older, deprecated links used by external learning tools (LTI 1.1).

### list_lti_registrations
Retrieves a list of all modern LTI Advantage tool registrations.

### list_my_eportfolio_objects
Displays the current collection of artifacts and achievements stored in a user's digital portfolio.

### list_my_enrollments
Checks which courses or units a specific user is currently enrolled in.

### list_org_unit_children
Shows all the sub-units that belong beneath a main organizational unit.

### list_quiz_attempts
Retrieves the records of attempts made by users on a specific quiz.

### list_quizzes
Lists all quizzes that are part of a course module or unit.

### list_roles
Retrieves and lists every defined system role (e.g., Student, Instructor, Admin) available in Brightspace.

### list_root_modules
Shows the main, top-level content modules that organize course material.

### list_submissions
Pulls a list of all submitted student work for a particular assignment folder.

### list_surveys
Retrieves a list of any surveys or feedback forms attached to the course.

### list_users
Searches and pages through all registered user accounts in the system.

### provide_feedback
Adds specific, private feedback notes to a student's submitted assignment work.

### update_user_grade
Changes the recorded grade score for any user on a given assessment object.

### update_user
Modifies personal details, roles, or profile information for an existing user account.

### upload_eportfolio_artifact
Allows a user to upload a file artifact (like a paper or presentation) into their digital portfolio.

### get_whoami
Retrieves the identity and context details of the user currently making the request.

## Prompt Examples

**Prompt:** 
```
What is the full list of roles available to me in Brightspace?
```

**Response:** 
```
**System Roles Available:**

*   **Student:** View content, submit assignments.
*   **Instructor:** Grade submissions, create modules, manage discussions.
*   **Admin (Superuser):** Manage all users and system settings.
*   **TA:** Limited grading access, assist instructors.

Let me know if you need to check which roles are currently assigned to the History department.
```

**Prompt:** 
```
I need to add a new course for Fall 2025. Can you help with the setup?
```

**Response:** 
```
Sure thing. I've started the process:

1.  **Course Created:** 'History of Rome: Fall 2025'
2.  **Template Applied:** Used template ID 8821.
3.  **Next Steps:** Do you want me to copy content from last year, or should I wait for module details?

Please confirm if you want to run `copy_course` now.
```

**Prompt:** 
```
Can you enroll the new cohort of 20 students into my main unit?
```

**Response:** 
```
**Enrollment Status Report:**

*   ✅ Successfully enrolled: 18 users.
*   ⚠️ Pending enrollment (Needs manual review): 2 users (IDs 9001, 9002).
*   ❌ Failed to enroll: 0 users.

The two pending accounts might need their roles updated first. Let me know if you want to try updating them.
```

## Capabilities

### Manage Course Structure and Content
Create new course offerings, retrieve existing details, copy full courses between units, or list all root modules for a specific class.

### Handle User Accounts and Roles
Search the user directory to find accounts, create brand-new users, update their personal data, or manage system roles and permissions.

### Track and Update Student Grades
Access detailed grade lists for a course, check individual student scores for specific assignments, or directly input updated grades for a user.

### Control Enrollments and Organizational Units
Add users to courses (enrollment), remove them from classes, create new organizational units, or view the structure of your academic hierarchy.

### Engage with Course Communication Tools
List active discussion forums and modules, create a new topic for an announcement, or post content directly into an existing thread.

## Use Cases

### Updating Grades After Finals
The grading coordinator has a spreadsheet of final scores. Instead of logging in 50 times to update the grades, they prompt their agent: 'Update John Doe's grade on Assignment X to 92%.' The agent handles the `update_user_grade` call instantly.

### Onboarding a New Department
An administrator needs to set up an entirely new department. They ask their agent to 'Create a new organizational unit called History Dept' and then use it to `create_course` offerings for the first three classes, automating the setup.

### Investigating Student Progress
A professor notices a student is struggling. They ask their agent: 'Show me all of Sarah Smith's submissions and her grades on the last five modules.' The agent calls `list_submissions` and `get_user_grade`, giving an immediate performance snapshot.

### Course Refresh and Updates
It's time to update a course from last year. Instead of rebuilding everything, the instructor prompts: 'Copy the structure for CS 201 into the new Spring semester unit.' The agent uses `copy_course` immediately.

## Benefits

- Save time running reports. Instead of manually checking grade lists or listing submissions, you can ask your agent to compile a summary report on performance for a cohort.
- Maintain consistent content. Use the `copy_course` tool to duplicate entire course structures and then use your agent to update specific modules automatically, saving hours of setup time.
- Simplify user lifecycle management. You no longer need to jump between directories; you can create new users (`create_user`) or modify roles (`update_user`) directly through a single prompt.
- Improve communication flow. Need to make an announcement? Instead of finding the correct module, use your agent to `create_topic` or `create_post` right where it needs to go.
- Get data instantly for analysis. You can pull complex information, like all quiz attempts (`list_quiz_attempts`) and student grades (`get_user_grade`), without building custom database queries.

## How It Works

The bottom line is that you tell your AI client what administrative action to take, and it handles the connection details and API calls to Brightspace for you.

1. Subscribe to this MCP on Vinkius and provide your Brightspace Host URL and Access Token.
2. Connect the MCP to your preferred AI client (like Cursor or Claude).
3. Ask your agent natural language questions, such as 'What is John Doe's grade in Module 3?' The agent executes the necessary actions through the connector and provides the result.

## Frequently Asked Questions

**Does the D2L Brightspace MCP handle grade updates for large groups of students?**
Yes, it can efficiently manage grades for multiple users. You can ask your agent to check a list of student records and update their scores across several assignments using one prompt. This saves massive amounts of time compared to manual entry.

**How do I use the D2L Brightspace MCP to create new courses?**
You tell your agent what kind of course you need, and it handles the initial creation by calling the `create_course` tool. You can also have it copy an existing structure using `copy_course` if you're updating old material.

**Can I use this MCP to manage user accounts for my department?**
Absolutely. The Brightspace MCP lets you create brand-new users, check who is already registered, and even update their roles or personal details using tools like `create_user` and `update_user`. It's great for onboarding.

**What if I need to add a new discussion topic to a course forum?**
You can ask your agent directly. Just prompt it with the context, 'Create a new module on advanced topics.' The MCP handles creating the necessary structure or posting the content into an existing area.

**Is this D2L Brightspace MCP good for academic research data extraction?**
It's excellent. You can ask your agent to pull specific metrics, such as listing all quiz attempts (`list_quiz_attempts`) or retrieving a user’s full grade history across multiple assignments. This makes raw data accessible via chat.

**Does the D2L Brightspace MCP work with any AI client?**
Yes, this MCP is compatible with all major MCP-compatible clients, including Claude, Cursor, and Windsurf. You connect it once in your Vinkius catalog to give your agent access regardless of which tool you use next.