Руководитель отдела продукта, Blend-ed
Администраторы Open edX выполняют множество мелких и рутинных задач: зачисление учащихся, проверка номеров курсов, назначение ролей, обновление расписаний, запуск отчетов и управление учебным контентом.
Каждая из этих задач сама по себе не представляет сложность. Но при работе с большим количеством курсов и пользователей постоянные переключения между LMS, Studio, панелью администратора Django и инструментами отчетности отнимают много времени.
В Blend-ed мы хотели проверить, могут ли ИИ-ассистенты помочь с частью этой рутинной работы без обхода разрешений и средств контроля, уже встроенных в платформу Open edX.
Это привело нас к созданию Open edX MCP — проекта с открытым исходным кодом, который позволяет совместимым с MCP ИИ-ассистентам работать с определенным набором инструментов администрирования Open edX и создания курсов.
Почему именно MCP?
Model Context Protocol, или MCP, — это открытый стандарт, который позволяет ИИ-приложениям подключаться к внешним инструментам и системам.
Open edX MCP использует этот стандарт для предоставления совместимым ассистентам определенного набора операций Open edX.
Это делает возможными такие запросы:
Зачислить этих учащихся на вводный курс.
Показать количество зачислений для всех активных курсов.
Добавить новый раздел, содержащий три юнита, а затем показать предлагаемое изменение перед его публикацией.
Ассистент интерпретирует запрос и вызывает соответствующий инструмент.
Базовая операция по-прежнему выполняется через платформу Open edX. Ассистент может использовать только те операции, которые разрешены учетной записью, правами доступа и областями видимости (scopes), привязанными к MCP-подключению.
Платформа Open edX остается единым источником достоверных данных (source of truth).
Что умеет Open edX MCP?
Первый релиз поддерживает рабочие процессы в четырех основных областях.
Пользователи и доступ
Администраторы могут создавать пользователей, управлять индивидуальным или массовым зачислением, назначать роли на курсе, управлять доступом преподавателей, сбрасывать попытки учащихся и запускать процессы удаления учетных записей.
Курсы и создание контента
Ассистент может читать структуру курсов, создавать или обновлять деревья учебного контента в Studio, изменять выбранное расписание, настройки оценивания и расширенные настройки, а также публиковать блоки курса после проверки.
Это полезно, когда команде курса необходимо внести структурные изменения в несколько юнитов или подготовить первый черновик, который автор проверит перед публикацией.
Ассистент помогает с работой, в то время как команда курса сохраняет редакционный контроль.
Сертификаты и отчеты
Доступные инструменты могут создавать, пересоздавать или аннулировать сертификаты.
Они также могут запускать асинхронные отчеты по оценкам и зачислениям и возвращать ссылки, когда эти файлы будут готовы.
Платформенная аналитика
Операции чтения охватывают такую информацию, как списки курсов и пользователей, количество зачислений и оценки отдельных учащихся.
Как это работает с платформой Open edX?
Open edX MCP использует для предоставляемых операций стандартные Python API openedx-platform.
Ему не требуется форк ядра платформы, внешняя система идентификации или отдельная модель данных.
Проект состоит из двух пакетов с открытым исходным кодом:
- openedx-mcp — приложение Django, которое предоставляет поддерживаемые операции администрирования и создания контента внутри LMS и CMS
- tutor-contrib-openedxmcp — плагин для Tutor, который устанавливает приложение и запускает MCP-сервер
MCP-сервер действует как небольшой прокси-сервер без сохранения состояния (stateless) между MCP-клиентом и платформой Open edX.
LMS и CMS продолжают выполнять базовые операции.
Первоначальный релиз ориентирован на Open edX Ulmo и поддерживает локальные развертывания Tutor, а также развертывания в Kubernetes. Оба пакета доступны под лицензией AGPL-3.0.
Исходный код доступен в репозитории Open edX MCP на GitHub.
Права доступа и безопасность
Подключение ИИ-ассистента к инструментам администрирования требует четких ограничений на то, что ему разрешено делать.
Open edX MCP включает в себя несколько элементов управления для этого.
Проверка разрешений в реальном времени
Ключи связаны с существующим сотрудником или суперпользователем Open edX, и этот статус проверяется при каждом запросе. Если пользователь теряет необходимый доступ к платформе, его ключи перестают работать при следующем вызове.
Минимально необходимые права (Least-privilege scopes)
Операторы могут ограничить ключ возможностями, необходимыми для конкретного рабочего процесса, такими как права на чтение, управление зачислением или создание курсов. Административное повышение привилегий и деструктивные операции требуют дополнительных областей видимости.
Предпросмотр и подтверждение
Влиятельные и деструктивные действия сначала возвращают предварительный просмотр (сухой прогон). Изменение выполняется только с одноразовым токеном подтверждения, привязанным к этому конкретному полезному блоку данных.
Лимиты запросов (Rate limits)
Ограничения для каждого инструмента снижают влияние случайных циклов или вышедшей из-под контроля автоматизации.
Журналы аудита
Каждая запись записывается в журнал аудита только для добавления, обеспечивая учет действий, выполняемых через интеграцию.
Отзываемые ключи
Администраторы могут в любой момент отозвать MCP-ключ через панель администратора Django.
Эти средства управления также позволяют действовать с осторожностью. Организация может начать с ключа только для чтения, протестировать соединение и предоставить дополнительные права только тогда, когда этого потребует рабочий процесс.
Начало работы с Tutor
Для установки Open edX на базе Tutor первым шагом является установка и включение плагина Tutor:
pip install tutor-contrib-openedxmcp
tutor plugins enable openedxmcp
tutor images build openedx openedxmcp
tutor local launch
tutor local do init
После установки администратор создает MCP-ключ в панели администратора Django и подключает совместимый MCP-клиент к эндпоинту платформы.
Рекомендуемый подход — начать с ключа только для чтения и сначала вызвать инструмент whoami. Это позволяет проверить действующего пользователя Open edX и права, доступные для этого подключения, до того, как будут предоставлены более широкие разрешения.
Руководство по быстрому старту охватывает установку, создание ключей и подключение клиента. Документация также включает полную модель безопасности и прав и руководство по самостоятельному хостингу с Tutor и Kubernetes.
Что дальше?
Есть несколько областей, которые мы хотели бы изучить в дальнейшем.
Потенциальные будущие направления включают управление когортами, более развитые рабочие процессы для команд курсов, создание контента в библиотеках, настройку сертификатов, администрирование дискуссий и улучшенную наблюдаемость.
Мы бы хотели, чтобы эти приоритеты формировались на основе мнения людей, которые управляют платформой Open edX и расширяют ее.
Какие административные задачи отнимают больше всего времени сегодня?
Какие действия всегда должны требовать подтверждения человека?
Какие операции Open edX было бы полезно сделать доступными через MCP?
Если вы попробуете этот проект, вы можете поделиться отзывом или внести свой вклад через обсуждения в сообществе Open edX.
Администрирование с помощью ИИ должно облегчать рутинную работу, не обходя при этом разрешения, этапы проверки и ответственность, уже заложенные в платформу Open edX.









