By Zameel Hassan
Head of Product, Blend-ed
Open edX administrators handle a lot of small, repetitive tasks: enrolling learners, checking course numbers, assigning roles, updating schedules, starting reports and managing course content.
None of these tasks is difficult on its own. But across many courses and users, the repeated navigation between the LMS, Studio, Django administration and reporting tools adds up.
At Blend-ed, we wanted to see whether AI assistants could help with some of this routine work without bypassing the permissions and controls already built into the Open edX® platform.
That led us to build Open edX MCP, an open-source project that allows MCP-compatible AI assistants to work with a defined set of Open edX administration and course-authoring tools.
Why MCP?
The Model Context Protocol, or MCP, is an open standard that allows AI applications to connect to external tools and systems.
Open edX MCP uses that standard to expose a defined set of Open edX operations to compatible assistants.
This makes requests such as these possible:
Enrol these learners in the onboarding course.
Show me the enrolment numbers for all active courses.
Add a new section containing three units, then show me the proposed change before publishing it.
The assistant interprets the request and calls the appropriate tool.
The underlying operation still happens through the Open edX platform. The assistant can only use the operations allowed by the identity, permissions and scopes attached to the MCP connection.
The Open edX platform remains the source of truth.
What can Open edX MCP do?
The first release supports workflows across four main areas.
People and access
Administrators can create users, manage individual or bulk enrolments, assign course roles, manage instructor access, reset learner attempts and initiate account-retirement workflows.
Courses and authoring
An assistant can read course outlines, create or update course content trees in Studio, change selected schedule, grading and advanced settings, and publish course blocks after review.
This is useful when a course team needs to make a structured change across several units or prepare a first draft that an author will inspect before publication.
The assistant helps with the work, while the course team retains editorial control.
Certificates and reports
Available tools can generate, regenerate or invalidate certificates.
They can also start asynchronous grade and enrolment reports and return the links when those files are ready.
Platform analytics
Read operations cover information such as course and user lists, enrolment counts and individual learner grades.
How does it work with the Open edX Platform?
Open edX MCP uses native openedx-platform Python APIs for the operations it exposes.
It does not require a core platform fork, an external identity system or a separate data model.
The project is made up of two open-source packages:
- openedx-mcp, a Django application that exposes supported administration and authoring operations inside the LMS and CMS
- tutor-contrib-openedxmcp, a Tutor plugin that installs the application and runs the MCP server
The MCP server acts as a small, stateless proxy between the MCP client and Open edX platform.
The LMS and CMS continue to perform the underlying operations.
The initial release targets Open edX Ulmo and supports Tutor local and Kubernetes deployments. Both packages are available under the AGPL-3.0 licence.
The source code is available in the Open edX MCP GitHub repository.
Permissions and safety
Connecting an AI assistant to administration tools requires clear limits on what the assistant is allowed to do.
Open edX MCP includes several controls for this.
Live permission checks
Keys are associated with an existing Open edX staff user or superuser, and that status is checked on every request. If the user loses the required platform access, their keys stop working on the next call.
Least-privilege scopes
Operators can limit a key to the capabilities needed for a particular workflow, such as read access, enrolment management or course authoring. Administrative escalation and destructive operations require additional scopes.
Preview and confirmation
High-impact and destructive actions first return a dry-run preview. The change proceeds only with a single-use confirmation token tied to that specific payload.
Rate limits
Per-tool limits reduce the impact of accidental loops or runaway automation.
Audit logs
Every write is recorded in an append-only audit log, providing a record of actions performed through the integration.
Revocable keys
Administrators can revoke an MCP key through Django administration at any time.
These controls also make it possible to start conservatively. An organisation can begin with a read-only key, test the connection and grant additional scopes only when a workflow requires them.
Getting started with Tutor
For a Tutor-based Open edX installation, the first step is to install and enable the Tutor plugin:
pip install tutor-contrib-openedxmcp
tutor plugins enable openedxmcp
tutor images build openedx openedxmcp
tutor local launch
tutor local do init
After installation, an administrator creates an MCP key in Django administration and connects a compatible MCP client to the platform endpoint.
The recommended approach is to begin with a read-only key and call the whoami tool first. This verifies the acting Open edX user and the scopes available to the connection before any broader permissions are granted.
The quickstart guide covers installation, key creation and client connection. The documentation also includes the full security and scopes model and guidance for self-hosting with Tutor and Kubernetes.
What comes next?
There are several areas we would like to explore next.
Potential next areas include cohort management, richer course-team workflows, content-library authoring, certificate configuration, discussion administration and improved observability.
We would like those priorities to be informed by people operating and extending the Open edX platform.
Which administrative tasks take the most time today?
Which actions should always require human confirmation?
Which Open edX operations would be useful to expose through MCP?
If you try the project, you can share feedback or contribute through the Open edX community discussion.
AI-assisted administration should make routine work easier without bypassing the permissions, review steps and accountability already built into the Open edX platform.
