EduBase

официальный

Взаимодействуйте с EduBase — комплексной платформой электронного обучения с расширенными возможностями тестирования, управления экзаменами и организации контента.

Что можно делать с EduBase MCP?

  • Создавать и публиковать вопросы — Попросите ассистента написать новый вопрос и опубликовать его в вашей QuestionBase с помощью edubase_prompt_create_question.
  • Превращать документы в вопросы — Преобразуйте прикреплённый документ, путь к файлу или URL в вопросы после утверждения плана, при желании добавив их в набор Quiz.
  • Создавать экзамены по теме — Сгенерируйте вопросы по теме, соберите их в набор Quiz и создайте экзамен по расписанию с помощью edubase_prompt_create_exam.
  • Подводить итоги результатов экзамена — Проанализируйте результаты экзамена и при желании сохраните сводку в экзамене с помощью edubase_prompt_summarize_exam_results.
  • Назначать классы на экзамены — Назначьте активных участников класса на экзамен с помощью edubase_prompt_assign_class_to_exam.
  • Проверять прогресс прохождения экзамена — Узнайте, как пользователи продвигаются по экзаменационному маршруту и кто застрял, с помощью edubase_prompt_exam_journey_status.

Документация

EduBase logo

MCP-сервер EduBase

pre-commit.ci status Publish

Этот репозиторий содержит реализацию сервера Model Context Protocol (MCP) для платформы EduBase. Он позволяет MCP-клиентам (например, Claude Desktop) и LLM взаимодействовать с вашей учетной записью EduBase и выполнять задачи от вашего имени. Поддерживаются протоколы передачи данных stdio, SSE и streamable HTTP.

EduBase MCP demo GIF: Claude uploads math questions

Что такое EduBase?

EduBase — это инновационная модульная онлайн-платформа для обучения, которая делает учебный процесс более увлекательным, простым и интерактивным и подходит для образовательных учреждений и предприятий.

Почему стоит выбрать EduBase?

EduBase меняет подход к цифровому обучению благодаря уникальному сочетанию возможностей:

  • Продвинутая система тестирования с параметризацией, позволяющей создавать бесконечное количество вариантов одного вопроса, обнаружением списывания в реальном времени, красивым набором формул LaTeX, расширенной поддержкой STEM и автоматической проверкой
  • Единая среда обучения, объединяющая весь ваш учебный контент — видео, экзамены, документы и модули SCORM — в одной интуитивно понятной системе
  • Безопасность корпоративного уровня с такими возможностями, как интеграция SSO, детализированное управление доступом, комплексный аудит и соответствие GDPR
  • Интеграция с существующими системами через LTI, полноценный API и пользовательские варианты интеграции
  • Инструменты с поддержкой ИИ, например EduBase Assistant, которые могут мгновенно преобразовать имеющиеся материалы в интерактивные тесты и задания или перевести их с одного языка на другой

EduBase подходит как для высших учебных заведений, так и для корпоративных отделов обучения, масштабируясь под ваши конкретные потребности и сохраняя интуитивно понятный интерфейс на всех устройствах.

Демонстрационное видео

Совместное создание и загрузка вопросов, планирование экзаменов и анализ результатов пользователей с помощью Claude:

Demonstrating EduBase's MCP server to collaboratively create and upload questions, schedule exams and analyze results.

Получение учетных данных API

После входа в систему на панели управления найдите меню Integrations, нажмите «add integration» и выберите тип «EduBase API».

Если вы не видите этот вариант, введите код активации MCPGITHUB или свяжитесь с нами, чтобы запросить доступ: info@edubase.net.

EduBase API credentials page

Инструменты

Каждая документированная конечная точка API доступна как инструмент с именем edubase_<method>_<endpoint>. Например, инструмент для конечной точки GET /user:me называется edubase_get_user_me. Конечные точки тегов, разрешений и передачи работают одинаково для всех типов контента, поэтому для каждого метода предусмотрен один общий инструмент с аргументом type (например, edubase_post_content_tag для POST /exam:tag, POST /quiz:tag и т. д.). Подробнее см. в нашей документации для разработчиков.

Наборы инструментов

Инструменты сгруппированы в наборы, поэтому можно предоставить доступ только к нужным инструментам. Чем меньше инструментов, тем меньше контекста использует модель и тем проще ей выбрать подходящий инструмент. По умолчанию включены все наборы инструментов.

Набор инструментовИнструменты для
filesВременная загрузка файлов (всегда включено)
questionsВопросы
quizzesНаборы тестов, вопросы в них, настройки и шаблоны оценивания
examsЭкзамены, их настройки, пользователи, сертификаты, оформление и учебные маршруты
resultsРезультаты тестов и экзаменов, загрузка сертификатов
usersПользователи, их имена, группы и ссылки для входа
classesКлассы и участники классов
organizationsОрганизации, участники, отделы, должности, компетенции и вебхуки
integrationsИнтеграции и их ключи
tagsТеги и привязка тегов к контенту
permissionsРазрешения пользователей на контент и передача прав владения
metricsПользовательские метрики

Выберите наборы инструментов, указав их через запятую в EDUBASE_TOOLSETS (например, questions,quizzes,exams). Установите EDUBASE_READONLY=true, чтобы предоставить доступ только к инструментам чтения данных (инструментам get и инструментам, которые только создают ссылки для скачивания, например edubase_post_question_export).

Установите EDUBASE_DYNAMIC_TOOLSETS=true, чтобы включить наборы инструментов по запросу: сеансы начинаются только с критически важных инструментов, а модель включает нужные ей наборы с помощью инструмента edubase_enable_toolsets (указанного вместе с edubase_list_toolsets). Это позволяет сохранить небольшой начальный список инструментов для клиентов, загружающих все инструменты заранее, но требует клиента, который обновляет список инструментов при получении уведомления об изменениях.

При использовании транспорта HTTP клиенты могут дополнительно сузить конфигурацию для своего сеанса с помощью заголовков EduBase-Mcp-Toolsets, EduBase-Mcp-ReadOnly и EduBase-Mcp-Dynamic или параметров запроса toolsets, read_only и dynamic_toolsets (например, https://domain.edubase.net/mcp?toolsets=exams&read_only=true). Сеанс не может включить наборы инструментов или инструменты записи, отключенные конфигурацией сервера.

Промпты

Промпты — это готовые сценарии, которые можно запустить из MCP-клиента (например, из меню + или /). Клиенты с поддержкой автодополнения предлагают значения аргументов по мере ввода: типы вопросов, а также ваши экзамены, наборы тестов и классы.

ПромптНазначениеАргументы
Создать вопрос (edubase_prompt_create_question)Создает новый вопрос и публикует его в вашей QuestionBasetype, subject, необязательные difficulty и language
Создать вопросы из документа (edubase_prompt_questions_from_document)Преобразует прикрепленный документ (или путь к файлу либо URL) в вопросы после утверждения плана; при необходимости добавляет их в набор тестовdocument, необязательный questions (количество), types, quiz и language
Создать экзамен (edubase_prompt_create_exam)Создает вопросы по заданной теме, собирает их в новый набор тестов и создает на его основе экзаменtopic, questions (количество), необязательный types (через запятую), language и schedule
Создать экзамен с учебным маршрутом (edubase_prompt_create_exam_journey)Создает экзамен, как описано выше, затем формирует и публикует небольшой учебный маршрут на его основе, повторно используя связанные экзамены вашей учетной записи и при необходимости создавая тренировочный набор тестов и последующий экзаменте же, что и для Создать экзамен
Скопировать экзамен (edubase_prompt_copy_exam)Создает новый экзамен с тем же набором тестов и настройками для нового временного интервалаexam, schedule, необязательный title
Назначить класс экзамену (edubase_prompt_assign_class_to_exam)Назначает экзамен активным участникам классаexam, class
Составить сводку результатов экзамена (edubase_prompt_summarize_exam_results)Анализирует результаты экзамена и при необходимости сохраняет сводку в экзаменеexam, необязательные focus и save (ask, yes или no)
Проверить учебный маршрут экзамена (edubase_prompt_exam_journey_status)Показывает прогресс пользователей в учебном маршруте экзамена и тех, кто отстаетexam

Промпты доступны только при включенных наборах инструментов; в режиме только для чтения доступны лишь два последних промпта.

Если типы вопросов для экзамена не указаны, клиенты с поддержкой elicitation предложат выбрать их с помощью флажков. Такие клиенты также запрашивают подтверждение перед выполнением необратимых действий (удаление экзаменов, наборов тестов, вопросов, пользователей, организаций и интеграций, передача прав владения, начало нового раунда экзамена и смена ключей интеграции). Установите EDUBASE_ELICITATION=false, чтобы отключить эти запросы.

Ресурсы

Справочные документы доступны как ресурсы, а также через инструмент edubase_mcp_reference для моделей, которые не могут читать ресурсы: edubase://reference/questions (поля и типы вопросов) и edubase://reference/exam-journeys (переносимый формат учебных маршрутов экзаменов). Они содержат сведения, описанные в навыках EduBase, для клиентов без этих навыков. Экзамены и наборы тестов также можно прикреплять как ресурсы (edubase://exam/{exam} и edubase://quiz/{quiz}); содержимое вашей учетной записи отображается в списке и предлагается на выбор. Отключите их с помощью EDUBASE_CONTENT_RESOURCES=false или для отдельного сеанса — с помощью заголовка EduBase-Mcp-Content-Resources: false, параметра запроса content_resources=false или настройки Smithery edubaseContentResources.

Инструменты для создания или изменения экзаменов, наборов тестов и учебных маршрутов содержат ссылки на соответствующие страницы в EduBase.

Конфигурация

MCP-сервер можно настроить с помощью переменных окружения. Доступны следующие переменные:

ПеременнаяОписаниеОбязательнаяЗначение по умолчанию
EDUBASE_API_URLБазовый URL API EduBase, скорее всего https://subdomain.edubase.net/api.Даhttps://www.edubase.net/api
EDUBASE_API_APPID приложения вашей интеграции в EduBase, app в API EduBase. Найдите его в окне сведений об интеграции в EduBase.Не требуется при использовании HTTP-транспорта с аутентификацией, в противном случае да-
EDUBASE_API_KEYСекретный ключ приложения вашей интеграции в EduBase, secret в API EduBase. Найдите его рядом с ID приложения в окне сведений об интеграции в EduBase.Не требуется при использовании HTTP-транспорта с аутентификацией, в противном случае да-
EDUBASE_SSE_MODEЗапустить MCP-сервер в режиме HTTP с транспортом SSE. Значение должно быть true.Нетfalse
EDUBASE_STREAMABLE_HTTP_MODEЗапустить MCP-сервер в режиме HTTP с потоковым HTTP-транспортом. Значение должно быть true.Нетfalse
EDUBASE_TOOLSETSСписок включённых наборов инструментов, разделённых запятыми, или all.Нетall
EDUBASE_READONLYПредоставлять только инструменты для чтения данных. Значение должно быть true.Нетfalse
EDUBASE_OUTPUT_SCHEMASВыходные схемы инструментов и структурированные результаты: off перечисляет инструменты без выходных схем и возвращает результаты только в виде текста JSON, on включает полные выходные схемы, fields включает выходные схемы без описаний полей (сохраняя структурированные результаты, но экономя большую часть токенов схем).Нетfields
EDUBASE_CONFIG_PROVIDERSСписок провайдеров хостинга, разделённых запятыми, которым разрешено передавать конфигурацию сеанса в запросах при использовании HTTP-транспорта. Сейчас поддерживается только smithery (параметр запроса config в кодировке base64).Нет-
EDUBASE_CONTENT_RESOURCESПеречислять экзамены и наборы тестов аккаунта как ресурсы. Установите значение false, чтобы отключить их, например, когда сервер проверяется без учётных данных. Справочные документы остаются доступными.Нетtrue
EDUBASE_DYNAMIC_TOOLSETSНачинать сеансы только с инструментами загрузки файлов и позволять модели включать наборы инструментов по запросу. Значение должно быть true.Нетfalse
EDUBASE_ELICITATIONЗапрашивать у пользователя подтверждение изменений, которые нельзя отменить, и выбор типов вопросов для запросов через клиент, если клиент поддерживает elicitation. Установите значение false, чтобы отключить эту функцию.Нетtrue
EDUBASE_HTTP_PORTHTTP-сервер будет прослушивать этот порт при использовании режима SSE или потокового HTTP-транспорта.Нет3000
EDUBASE_OAUTHВключает поведение защищённого ресурса OAuth 2.1: неаутентифицированные запросы отклоняются с 401 + WWW-Authenticate, указывающим на /.well-known/oauth-protected-resource/mcp, а токены Bearer передаются в API EduBase.Нетfalse
EDUBASE_OAUTH_AUTHORIZATION_SERVERПубличный базовый URL развёртывания EduBase, выступающего в роли OAuth IdP. Используется для указания сервера авторизации в документе метаданных защищённого ресурса.Нетопределяется на основе EDUBASE_API_URL
EDUBASE_OAUTH_RESOURCE_URLПубличный базовый URL этого MCP-сервера (индикатор ресурса OAuth). Используется в заголовке WWW-Authenticate и метаданных ресурса.Нетопределяется на основе EDUBASE_API_URL
EDUBASE_ALLOW_PRIVATE_NETWORKПри использовании HTTP-транспорта инструмент edubase_filebin блокирует исходящие запросы к частным, loopback-, link-local- и зарезервированным адресам (защита от SSRF), а также запрещает локальные пути к файлам. Установите значение true, чтобы разрешить их, например, при самостоятельном размещении в доверенной частной сети. Не действует в режиме stdio, где единственным вызывающим является локальный пользователь.Нетfalse
EDUBASE_FILEBIN_ALLOWED_HOSTSНеобязательный список разрешённых имён хостов, разделённых запятыми, которые могут использоваться как цели загрузки edubase_filebin (точное имя хоста или любой поддомен, например edubase.net). Если список пуст, разрешён любой публичный хост (с учётом описанной выше фильтрации адресов).Нет-

Использование в качестве удалённого MCP-сервера

Вы можете использовать MCP-сервер EduBase как удалённый MCP-сервер для своего MCP-клиента. Для этого разместите MCP-сервер так, чтобы клиенты могли к нему обращаться, а затем настройте клиент для подключения к серверу. Запустите его в режиме SSE или потокового HTTP-транспорта и всегда используйте HTTPS при удалённом доступе к серверу через интернет!

Аутентификация на удалённых серверах

Сервер можно использовать в двух режимах:

  • Без аутентификации клиента: в этом режиме сервер не требует от клиента аутентификации. Это удобно для тестирования и разработки или в закрытой сети, но не рекомендуется для использования в рабочей среде. Для этого также необходимо настроить сервер с помощью EDUBASE_API_APP и EDUBASE_API_KEY!
  • С аутентификацией по токену Bearer: в этом режиме сервер требует отправлять токен Bearer с каждым запросом. Это рекомендуемый способ использования сервера в рабочей среде. Получить токен Bearer можно в аккаунте EduBase, создав приложение интеграции и указав ID приложения и секретный ключ в формате {app}:{secret}, закодированном в base64 в качестве токена. Затем сервер будет использовать этот токен для аутентификации клиента и предоставления доступа к конечным точкам API.
  • С OAuth 2.1 (EduBase в роли IdP): когда включён EDUBASE_OAUTH=true, совместимые клиенты (Claude Desktop, коннекторы Claude.ai, Cursor, коннекторы ChatGPT и т. д.) обнаруживают сервер авторизации EduBase через /.well-known/oauth-protected-resource, динамически регистрируются (RFC 7591), проводят пользователя через экран согласия EduBase и обменивают код авторизации (с PKCE S256) на непрозрачный токен доступа. MCP-сервер без изменений передаёт этот токен в API EduBase, который сопоставляет его с автоматически созданной интеграцией MCP, создаваемой при первом согласии. Не нужно копировать ID приложения и секретный ключ — пользователям достаточно нажать «Подключить EduBase» в клиенте.

Использование с Claude Desktop

Пошаговое руководство см. в нашей статье о том, как подключить EduBase к Claude: полное руководство по интеграции MCP.

Использование предоставленного MCP-сервера EduBase

Вы можете использовать предоставленный MCP-сервер EduBase (если он доступен) без настройки: просто добавьте его в клиент как удалённый сервер с URL https://domain.edubase.net/mcp (замените на фактический домен), если клиент поддерживает аутентификацию OAuth, либо с соответствующим токеном Bearer в заголовке Authorization (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).

Рекомендуется пользователям www.edubase.net: сервер поддерживается и обновляется нами, поэтому вам не нужно беспокоиться о его размещении и настройке. При подключении клиента используйте правильный URL и способ аутентификации.

Установка вручную

Добавьте следующее в claude_desktop_config.json:

Использование Node.js

Перед запуском MCP-сервера убедитесь, что Node.js установлен. Скачать его можно с сайта nodejs.org или установить с помощью менеджера пакетов, например brew.

{
  "mcpServers": {
    "edubase": {
      "command": "npx",
      "args": [
        "-y",
        "@edubase/mcp"
      ],
      "env": {
        "EDUBASE_API_URL": "https://domain.edubase.net/api",
        "EDUBASE_API_APP": "your_integration_app_id",
        "EDUBASE_API_KEY": "your_integration_secret_key"
      }
    }
  }
}

Или скачайте выпуск MCP-сервера EduBase либо клонируйте репозиторий и выполните npm run build, чтобы собрать сервер. Не забудьте указать фактический каталог в /path/to/dist и настроить переменные среды!

{
  "mcpServers": {
    "edubase": {
      "command": "node",
      "args": [
        "/path/to/dist/index.js"
      ],
      "env": {
        "EDUBASE_API_URL": "https://domain.edubase.net/api",
        "EDUBASE_API_APP": "your_integration_app_id",
        "EDUBASE_API_KEY": "your_integration_secret_key"
      }
    }
  }
}

Использование Docker

Перед запуском MCP-сервера убедитесь, что Docker установлен и запущен. Скачать его можно с сайта docker.com или установить с помощью менеджера пакетов. Не забудьте настроить переменные среды! Образ для linux/amd64 и linux/arm64 доступен на Docker Hub как edubase/mcp, а в GitHub Packages — как ghcr.io/edubase/mcp.

{
  "mcpServers": {
    "edubase": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "EDUBASE_API_URL",
        "-e",
        "EDUBASE_API_APP",
        "-e",
        "EDUBASE_API_KEY",
        "edubase/mcp"
      ],
      "env": {
        "EDUBASE_API_URL": "https://domain.edubase.net/api",
        "EDUBASE_API_APP": "your_integration_app_id",
        "EDUBASE_API_KEY": "your_integration_secret_key"
      }
    }
  }
}

Установка через удалённый MCP-сервер

Вы можете использовать предоставленный MCP-сервер EduBase (если он доступен) как удалённый сервер. Рекомендуем закодировать EDUBASE_API_APP и EDUBASE_API_KEY в Base64 и использовать результат как токен Bearer в заголовке Authorization (Authorization: Bearer ${BASE64_ENCODED_TOKEN}).

{
  "mcpServers": {
    "edubase": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://domain.edubase.net/mcp",
        "--header",
        "Authorization: Bearer ${EDUBASE_API_APP}:${EDUBASE_API_KEY}"
      ]
    }
  }
}

Установка через Smithery

Чтобы автоматически установить MCP-сервер EduBase для Claude Desktop через Smithery:

npx -y @smithery/cli install @EduBase/MCP --client claude

Разработка

Выполните npm test, чтобы собрать сервер и проверить список инструментов: ограничения на размер списка инструментов и инструкций сервера, описания инструментов, набор инструментов, режимы только для чтения и динамических наборов инструментов, а также обработку конфигурации HTTP-транспорта. Если новые инструменты превышают ограничения, сократите их схемы или осознанно увеличьте ограничение в test/server.test.mjs, поскольку каждый клиент оплачивает список инструментов в каждом сеансе.

Справочные документы в src/references создаются на основе документации для разработчиков EduBase. Перегенерируйте их с помощью node scripts/sync-references.mjs <path to the developer documentation repository>, если изменятся поля вопросов или формат сценария экзамена.

При слиянии запроса на включение изменений с меткой major, minor или patch фиксируется следующая версия в main и запускается рабочий процесс Publish. Он публикует пакет в npm и MCP Registry, образ контейнера — в Docker Hub и GitHub Packages, а после успешного завершения всех публикаций помечает коммит тегом и создаёт выпуск GitHub. Без одной из этих меток ничего не публикуется. Версия, заданная вручную в запросе на включение изменений, публикуется без изменений. Коммит, тег и выпуск создаются специальным приложением для выпусков, учётные данные которого находятся в среде release. Рабочий процесс Publish сначала запускает тесты, проверяет собранный образ перед отправкой и выполняет вход в Docker Hub через OIDC с использованием переменных DOCKERHUB_OIDC_CONNECTIONID и DOCKERHUB_OIDC_USERNAME. В GitHub Packages он отправляет образ с помощью GITHUB_TOKEN задания, поскольку GitHub не принимает там токены GitHub App. Запустите его вручную с указанием версии, чтобы повторить или пересобрать выпуск: уже опубликованные в npm и MCP Registry версии пропускаются, а latest перемещается только для самого нового выпуска.

Точка синхронизации документации: инструменты, запросы и справочные материалы в последний раз синхронизированы 2026-11-06 с документацией для разработчиков, синхронизированной с выпуском EduBase 8.6.6 (запрос на включение изменений документации 8.6.6), и проверены по EduBase на коммите a29c6af51. Чтобы обновить сервер, выполните git log --oneline <commit>..HEAD и git diff <commit>..HEAD -- docs/api/endpoints в репозитории документации для разработчиков, начиная с коммита запроса на включение изменений документации 8.6.6, обновите затронутые инструменты в src/tools (а также связанные с ними запросы и руководства по наборам инструментов), перегенерируйте справочные документы и обновите этот маркер, указав новые коммиты HEAD. Если версии расходятся, приоритет имеет репозиторий EduBase.

Контакты

Веб-сайт: www.edubase.net
Документация для разработчиков: developer.edubase.net
Электронная почта: info@edubase.net