EduBase

официальный

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

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

  • Manage educational content — Попросите вашего ИИ создавать, обновлять или получать вопросы, викторины, экзамены и их настройки через наборы инструментов questions, quizzes и exams.

  • Analyze results and users — Пусть ваш ИИ получает результаты викторин/экзаменов, загрузки сертификатов, данные пользователей и членство в классах с помощью наборов инструментов results, users и classes.

  • Control tool access — Настройте, какие наборы инструментов доступны через EDUBASE_TOOLSETS, включите режим только для чтения с помощью EDUBASE_READONLY или позвольте модели активировать наборы инструментов по запросу через edubase_enable_toolsets и edubase_list_toolsets.

  • Upload and manage files — Используйте инструмент edubase_filebin для загрузки временных файлов с защитой от SSRF и возможностью разрешения хостов через EDUBASE_FILEBIN_ALLOWED_HOSTS.

  • Secure remote access — Подключайтесь через OAuth 2.1 с EduBase в качестве поставщика удостоверений или используйте аутентификацию с помощью Bearer-токена с заголовком Authorization для производственных развертываний.

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

EduBase logo

MCP-сервер EduBase

pre-commit.ci status Publish to MCP Registry

Этот репозиторий содержит реализацию 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

После входа в систему на панели управления найдите меню «Интеграции», нажмите «добавить интеграцию» и выберите тип «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_API_URLБазовый URL API EduBase, скорее всего https://subdomain.edubase.net/api.Даhttps://www.edubase.net/api
EDUBASE_API_APPИдентификатор приложения вашей интеграции в EduBase, app в API EduBase. Его можно найти в окне сведений об интеграции в EduBase.Нет, если используется HTTP-транспорт с аутентификацией, в противном случае Да-
EDUBASE_API_KEYСекретный ключ вашего приложения интеграции в EduBase, secret в API EduBase. Его можно найти вместе с идентификатором приложения в окне сведений об интеграции в 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_DYNAMIC_TOOLSETSЗапуск сеансов только с инструментами загрузки файлов и предоставление модели возможности включать наборы инструментов по требованию. Значение должно быть true.Нетfalse
EDUBASE_HTTP_PORTHTTP-сервер будет прослушивать этот порт при использовании режима SSE или потокового HTTP-транспорта.Нет3000
EDUBASE_OAUTHВключает поведение защищённого ресурса OAuth 2.1: неаутентифицированные запросы отклоняются с 401 + WWW-Authenticate, указывающим на /.well-known/oauth-protected-resource, а токены предъявителя пересылаются в 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-сервера

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

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

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

  • Без аутентификации клиента: В этом режиме сервер не требует аутентификации от клиента. Это полезно для тестирования, разработки или в закрытой сети, но не рекомендуется для производственного использования. Для этого необходимо настроить сервер с EDUBASE_API_APP и EDUBASE_API_KEY!
  • С аутентификацией по Bearer-токену: В этом режиме сервер требует отправки Bearer-токена с каждым запросом. Это рекомендуемый способ использования сервера в производственной среде. Вы можете получить Bearer-токен из своего аккаунта EduBase, создав приложение интеграции и указав идентификатор приложения и секретный ключ в формате {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-интеграцией, созданной при первом согласии. Никаких идентификаторов приложения и секретных ключей копировать не нужно — пользователи просто нажимают «Подключить EduBase» в своём клиенте.

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

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

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

Вы можете использовать предоставленный EduBase MCP-сервер (если он доступен) без какой-либо настройки, просто добавив его как удалённый сервер в своём клиенте по 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"
      }
    }
  }
}

Или скачайте релиз EduBase MCP-сервера или клонируйте репозиторий и выполните 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 или использовать пакетный менеджер. Не забудьте настроить переменные окружения!

{
  "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, так как каждый клиент платит за список инструментов в каждой сессии.

Контакты

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