EduBase MCP Server

официальный

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

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

EduBase logo

EduBase MCP-сервер

pre-commit.ci status smithery badge

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

EduBase MCP demo GIF: Claude uploads math questions

EduBase Server MCP server

Что такое 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 или свяжитесь с нами для запроса доступа по адресу [email protected].

EduBase API credentials page

Инструменты

Каждая документированная конечная точка API доступна как отдельный инструмент, именованный edubase_<method>_<endpoint>. Например, инструмент для конечной точки GET /user:me называется edubase_get_user_me. Дополнительную информацию см. в нашей документации для разработчиков.

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

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

ПеременнаяОписаниеОбязательнаяЗначение по умолчанию
EDUBASE_API_URLБазовый URL API EduBase, скорее всего https://subdomain.edubase.net/api.Даhttps://www.edubase.net/api
EDUBASE_API_APPИдентификатор приложения (App ID) вашего интеграционного приложения в EduBase, app в API EduBase. Найдите его в окне сведений об интеграции в EduBase.Нет, если используется HTTP-транспорт с аутентификацией, иначе Да-
EDUBASE_API_KEYСекретный ключ вашего интеграционного приложения в EduBase, secret в API EduBase. Найдите его вместе с App ID в окне сведений об интеграции в EduBase.Нет, если используется HTTP-транспорт с аутентификацией, иначе Да-
EDUBASE_SSE_MODEЗапустить MCP-сервер в режиме HTTP с транспортом SSE. Значение должно быть true.Нетfalse
EDUBASE_STREAMABLE_HTTP_MODEЗапустить MCP-сервер в режиме HTTP с потоковым HTTP-транспортом. Значение должно быть 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, выступающего в качестве IdP OAuth. Используется для объявления сервера авторизации в документе метаданных защищенного ресурса.Нетопределяется из EDUBASE_API_URL
EDUBASE_OAUTH_RESOURCE_URLПубличный базовый URL этого MCP-сервера (индикатор ресурса OAuth). Используется в заголовке WWW-Authenticate и метаданных ресурса.Нетопределяется из EDUBASE_API_URL

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

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

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

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

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

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

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

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

Вы можете использовать предоставленный EduBase MCP-сервер (если он доступен) без какой-либо настройки, просто добавив его как удаленный сервер в вашем клиенте с URL https://domain.edubase.net/mcp (замените на фактический домен), если он поддерживает аутентификацию OAuth, или с соответствующим токеном-носителем в заголовке 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-сервер

Вы можете использовать предоставленный EduBase MCP-сервер (если он доступен) как удаленный сервер. Мы рекомендуем закодировать ваш EDUBASE_API_APP и EDUBASE_API_KEY в Base64 и использовать их в качестве токена-носителя в заголовке 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

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

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

Контакты

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