D2lbrightspace MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with D2lbrightspace MCP or direct API to fetch course rosters, send announcements, manage assignments, and automate grading through natural language.

D2lbrightspace logoD2lbrightspace
Oauth2

D2L Brightspace is a learning management system for delivering and managing online courses and assessments. It helps educators streamline digital teaching, assignments, and communication with students.

45 Tools

Try D2lbrightspace now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
D2lbrightspace
Try asking
TOOLS

Supported Tools

Every D2lbrightspace action and event your agent gets out of the box.

Copy Role

Creates a new role copied from an existing role in D2L Brightspace.

Create Course Offering

Creates a new course offering in D2L Brightspace.

Create Course Template

Creates a new course template in D2L Brightspace.

Create Grade Object

Creates a new grade object for a particular org unit.

Create Quiz

Creates a new quiz in D2L Brightspace.

Create Quiz Category

Creates a new quiz category in D2L Brightspace.

Create User

Creates a new user entity in D2L Brightspace.

Delete Course Template

Deletes a course template from D2L Brightspace.

Delete Course

Deletes a course offering from D2L Brightspace.

Delete Grade Object

Deletes a specific grade object from an org unit.

Delete Quiz

Deletes a quiz from D2L Brightspace.

Delete Quiz Category

Deletes a quiz category from D2L Brightspace.

Delete User

Deletes a user entity from D2L Brightspace.

Delete User Demographics

Deletes one or more of a particular user's associated demographics entries.

Get Course Offering

Retrieves a specific course offering from D2L Brightspace.

Get Course Template

Retrieves a course template from D2L Brightspace.

Get Course Schema

Retrieves the list of parent org unit type constraints for course offerings.

Get Course Template Schema

Retrieves the list of parent org unit type constraints for course offerings built on this template.

Get Current User Information

Retrieves the current user context's user information from D2L Brightspace.

Get Enrolled Roles

Retrieves a list of all enrolled user roles the calling user can view in an org unit.

Get Grade Access

Retrieves a list of users with access to a specified grade.

Get Grade Object

Retrieves a specific grade object for a particular org unit.

Get Grade Objects

Retrieves all current grade objects for a particular org unit.

Get Grade Setup

Retrieves the grades configuration for an org unit.

Get Grade Statistics

Retrieves statistics for a specified grade item.

Get Org Unit Demographics

Retrieves all demographics entries for users enrolled in a particular org unit.

Get Quiz

Retrieves a specific quiz from an org unit.

Get Quiz Access

Retrieves a list of users with access to a specified quiz.

Get Quiz Attempt

Retrieves a specific quiz attempt.

Get Quiz Attempts

Retrieves a list of attempts for a quiz.

Get Quiz Categories

Retrieves all quiz categories belonging to an org unit.

Get Quiz Category

Retrieves a specific quiz category from an org unit.

Get Quiz Questions

Retrieves all questions in a quiz.

Get Quizzes

Retrieves all quizzes belonging to an org unit.

Get Role by ID

Retrieves a particular user role from D2L Brightspace by its ID.

Get Roles

Retrieves a list of all known user roles in D2L Brightspace.

Get User by ID

Retrieves data for a particular user from D2L Brightspace.

Get Users

Retrieves data for one or more users from D2L Brightspace.

Update Course Offering

Updates an existing course offering in D2L Brightspace.

Update Course Template

Updates an existing course template in D2L Brightspace.

Update Grade Object

Updates a specific grade object.

Update Grade Setup

Updates the grades configuration for an org unit.

Update Quiz

Updates an existing quiz in D2L Brightspace.

Update Quiz Category

Updates an existing quiz category in D2L Brightspace.

Update User

Updates an existing user entity in D2L Brightspace.

SETUP GUIDE

Connect D2lbrightspace MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
Install the Composio SDK and Claude Agent SDK
2

Create Tool Router Session

typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
Initialize the Composio client and create a Tool Router session
3

Connect to AI Agent

typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'Create a new quiz in the Introduction to Python course' }],
  stopWhen: stepCountIs( 5 )
});

console.log(`Agent: ${text}`);
Use the MCP server with your AI agent
SETUP GUIDE

Connect D2lbrightspace API Tool with your Agent

1

Install Composio

typescript
npm install @composio/openai
Install the Composio SDK
2

Initialize Composio and Create Tool Router Session

typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
Import and initialize Composio client, then create a Tool Router session
3

Execute D2lbrightspace Tools via Tool Router with Your Agent

typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Create a new quiz for Introduction to Biology course'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
Get tools from Tool Router session and execute D2lbrightspace actions with your Agent

Why Use Composio?

AI Native D2lbrightspace Integration

  • Supports both D2lbrightspace MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your D2lbrightspace data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke D2lbrightspace access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access D2lbrightspace
  • Scoped, least privilege access to D2lbrightspace resources
  • Full audit trail of agent actions to support review and compliance
FAQ

Frequently asked questions

D2lbrightspace requires connections to go through your own OAuth app. You register it once with D2lbrightspace, add its client ID and secret in the Composio dashboard, and from then on everyone connects by signing in to D2lbrightspace as usual. Composio handles the rest of the flow and the token refresh.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your D2lbrightspace connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a D2lbrightspace account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in D2lbrightspace as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones D2lbrightspace lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your D2lbrightspace administrator may need to approve the app first, and you can revoke the access inside D2lbrightspace whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each D2lbrightspace connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes D2lbrightspace tokens automatically, so day to day you do nothing. If you revoke access inside D2lbrightspace, or D2lbrightspace invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free plan includes 100,000 tool calls per month with no credit card, which covers most personal D2lbrightspace use. Paid plans add higher limits and team features. Your D2lbrightspace plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple D2lbrightspace accounts).

With Composio, you connect D2lbrightspace once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with D2lbrightspace.It takes 30 seconds.

Managed auth, hosted MCP servers, and every D2lbrightspace tool your agent needs.Free to start.

Start building