Skip to content

Open edX Admin MCP

Give an AI agent safe, scoped control of your Open edX platform — courses, people, roles, enrollment, certificates, reports and authoring — over the Model Context Protocol. Pure Open edX, no forks.
Connect in one command
claude mcp add --transport http openedx https://mcp.<LMS_HOST>/mcp \
--header "Authorization: Bearer <YOUR_MCP_KEY>"

People & access

Create users, enroll (single + bulk), grant course/instructor roles, gate admin escalation, reset attempts, retire accounts.

Courses & authoring

Read outlines, build section→component trees, edit blocks, update schedule / grading / advanced settings, publish — straight into the CMS modulestore.

Certificates & reports

Generate / regenerate / invalidate certificates; kick off async grade and roster exports and fetch their download links.

Analytics

Enrollment counts, course + user listings, per-learner grades — cheap cached reads, no heavy queries.

is_staff / superuser — live

One authority: the platform’s own flags, re-checked every request. Demote a user and every key they hold dies on the next call.

Least-privilege scopes

Nine scopes narrow each key. destructive is additive; granting admin needs a dedicated grant:admin scope.

Dry-run + confirm

High-impact and destructive tools preview first and return a single-use, payload-bound confirm token before anything is written.

Rate-limited + audited

Per-tool fixed-window limits stop runaway agents; every write is recorded in an append-only audit log before it happens.

Every operation calls native openedx-platform Python APIs — no core fork, no Hasura, no external identity, no multi-tenant model. Ships as two standard Open edX djangoapp plugins (LMS + CMS) plus a thin MCP proxy. Ulmo release.