D2L Brightspace for AI agents
D2L Brightspace is a learning management system for building and delivering online courses, used by schools to run classes, quizzes, and grading. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in D2L Brightspace.
Create a new quiz
Create a new quiz within a course, with its category and questions attached.
Check a student's grade statistics
Check grade statistics for a course before deciding whether to curve an assessment.
Confirm before deleting a course
Confirm before deleting a course, since its grades and enrollments are removed with it.
45 D2L Brightspace actions, graded by risk.
Every D2L Brightspace action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
24Look things up. Allowed by default.
- d2l_brightspace.get_quizGet Quiz
- d2l_brightspace.get_rolesGet Roles
- d2l_brightspace.get_usersGet Users
- d2l_brightspace.get_quizzesGet Quizzes
- d2l_brightspace.get_role_by_idGet Role by ID
- d2l_brightspace.get_user_by_idGet User by ID
- d2l_brightspace.get_grade_setupGet Grade Setup
- d2l_brightspace.get_quiz_accessGet Quiz Access
- d2l_brightspace.get_current_userGet Current User Information
- d2l_brightspace.get_grade_accessGet Grade Access
- d2l_brightspace.get_grade_objectGet Grade Object
- d2l_brightspace.get_quiz_attemptGet Quiz Attempt
- d2l_brightspace.get_course_schemaGet Course Schema
- d2l_brightspace.get_grade_objectsGet Grade Objects
- d2l_brightspace.get_quiz_attemptsGet Quiz Attempts
- d2l_brightspace.get_quiz_categoryGet Quiz Category
write
14Create and change things. Allow, or ask the user first.
- d2l_brightspace.create_quizCreate Quiz
- d2l_brightspace.create_userCreate User
- d2l_brightspace.update_quizUpdate Quiz
- d2l_brightspace.update_userUpdate User
- d2l_brightspace.update_grade_setupUpdate Grade Setup
- d2l_brightspace.create_grade_objectCreate Grade Object
- d2l_brightspace.update_grade_objectUpdate Grade Object
- d2l_brightspace.create_quiz_categoryCreate Quiz Category
- d2l_brightspace.update_quiz_categoryUpdate Quiz Category
- d2l_brightspace.create_a_course_offeringCreate Course Offering
- d2l_brightspace.create_a_course_templateCreate Course Template
- d2l_brightspace.update_a_course_offeringUpdate Course Offering
- d2l_brightspace.update_a_course_templateUpdate Course Template
- d2l_brightspace.copy_roleCopy Role
destructive
7Delete, cancel or archive. Ask first, or deny outright.
- d2l_brightspace.delete_quizDelete Quiz
- d2l_brightspace.delete_userDelete User
- d2l_brightspace.delete_courseDelete Course
- d2l_brightspace.delete_grade_objectDelete Grade Object
- d2l_brightspace.delete_quiz_categoryDelete Quiz Category
- d2l_brightspace.delete_a_course_templateDelete Course Template
- d2l_brightspace.delete_user_demographicsDelete User Demographics
D2L Brightspace in three steps.
- 01Your users connect D2L BrightspaceThey sign in to D2L Brightspace on Arc0 Connect, under your brand, and approve the access you ask for.
- 02You set the rulesReads run, writes like “create Quiz” can wait for the user, and “delete Quiz” can be denied outright.
- 03Any agent can actYour agent calls D2L Brightspace through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('d2l_brightspace', { read: 'allow', write: 'ask', // create_quiz destructive: 'deny', // delete_quiz }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How D2L Brightspace connects.
Users sign in to D2L Brightspace on Arc0 Connect and approve the scopes you request. Build with Arc0’s D2L Brightspace OAuth app, or bring your own so the D2L Brightspace consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
The same D2L Brightspace connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- OAuth 2.0
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use D2L Brightspace from any agent.
D2L Brightspace and Arc0, answered.
Can I use D2L Brightspace with Claude, ChatGPT or Cursor?
Yes. Connect D2L Brightspace to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the D2L Brightspace actions you allow.
How do users connect D2L Brightspace?
Users sign in to D2L Brightspace on Arc0 Connect and approve the scopes you request. Build with Arc0’s D2L Brightspace OAuth app, or bring your own so the D2L Brightspace consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
Which D2L Brightspace actions can my agent take?
45 in total: 24 read, 14 write and 7 destructive, such as “create Quiz”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in D2L Brightspace?
Yes. Actions like “delete Quiz” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call D2L Brightspace too?
Yes. The same D2L Brightspace connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug D2L Brightspace into your agent.
Your users connect D2L Brightspace once, under your brand. Your agent gets 45 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan