MCP — подключение внешнего ИИ-агента к Omniscol

Premium

MCP — подключение ИИ-агента: Omniscol предоставляет значительную часть своего API в виде сервера MCP (Model Context Protocol). Совместимый ИИ-ассистент — Claude, ChatGPT и другие — может тогда обращаться к вашему аккаунту (загрузка кабинетов, поиск свободных временных слотов, проведённые часы по преподавателям…) в пределах прав авторизованного доступа.

Model Context Protocol (MCP) — открытый стандарт, который позволяет ИИ-ассистенту, совместимому с MCP, использовать прикладные инструменты внешнего сервиса. Omniscol предоставляет значительную часть своего API в виде сервера MCP: ИИ-агент после аутентификации может обращаться к вашему аккаунту в рамках разрешённых конечных точек API или прав — через OAuth2, стандартный для MCP способ, или с помощью токена.

Что может делать агент

Агент MCP очень хорошо справляется с вопросами на получение информации, когда нужные данные есть в Omniscol:

  • «Покажи загрузку кабинетов относительно часов открытия на этой неделе.»
  • «Найди кабинет, свободный в три понедельника октября в один и тот же временной слот длительностью 2 часа.»
  • «Сколько часов занятий провёл И. И. Иванов в текущем учебном году?»
  • «Какие занятия по математике проходят сегодня?»
  • «Выведи преподавателей, которые отработали меньше 70 % своих рабочих часов в этой четверти.»

Такие запросы обычно объединяют несколько инструментов: расписание, статистические сводные панели, рассчитанную доступность, карточки преподавателей. Агент сам организует вызовы и формулирует ответ на естественном языке.

Предоставляемые инструменты

Сервер MCP строит свои инструменты из маршрутов API Omniscol, разрешённых для MCP. Маршруты, явно исключённые, и некоторые технические модули (например, связанные с аутентификацией пользователей) инструментами не становятся. Список отражает поэтому API, доступный для MCP, а не всё внутреннее устройство приложения. Тем не менее это очень значительная его часть. Кроме того, есть ряд маршрутов, созданных специально для MCP и не используемых самим Omniscol. Таковы инструменты расширенного поиска: свободный текст, обозначающий сущность («преподаватель И. И. Иванов», «класс 6А»), Omniscol сопоставляет с её техническим идентификатором, по которому затем точно запрашиваются данные. Таковы же сложные инструменты, для которых в Omniscol нет графического интерфейса, потому что они лучше подходят для запроса в свободной форме: например, поиск загрузки и доступности сущности («найди кабинет, свободный 2 часа во второй половине дня три понедельника подряд», «есть ли свободный преподаватель математики на неделе 14 октября на 3 часа?»).

Инструменты охватывают, в частности:

  • модуль «Администрирование» (пользователи, дисциплины, учебные годы, параметры),
  • модуль «Управление расписанием» (конфигурация, площадки, кабинеты, классы, курсы),
  • модуль «Расписание» (планирование, сводные панели, поиск),
  • модуль «Управление отсутствиями» (объявление об отсутствиях, статистика),
  • глобальный поиск.

Маршруты чтения лучше всего подходят для работы с агентом. Некоторые операции записи могут присутствовать в каталоге, в зависимости от прав токена и доступного API, но их следует держать под контролем: запрос, изменяющий несколько прикладных объектов, должен быть проверен пользователем, прежде чем его можно считать надёжным.

Включение сервера MCP

Сервер MCP доступен на аккаунтах с тарифом «Премиум». Всё начинается с экрана MCP, который открывается из модуля «Администрирование» кнопкой Настроить: он показывает URL сервера и выдаёт готовые для копирования элементы настройки вашего клиента.

Стандартный способ аутентификации в MCP — OAuth2. Совместимый клиент (например, Claude) просто подключается к URL сервера, находит там конфигурацию OAuth2 аккаунта, а пользователь одобряет доступ на экране согласия: кроме URL, ничего вводить не нужно. Предоставляемый объём доступа соответствует правам аккаунта и его ограничениям видимости. Сервер OAuth2 в Omniscol, экран управления клиентами и подробности согласия описаны на странице OAuth2 / OIDC (поставщик).

Для клиента, который не поддерживает OAuth2, тот же экран создаёт токен (ключ API, объём доступа — глобальный или ограниченный одним модулем, срок действия, при желании связанный пользователь, права на запись отмечаются флажком) и предлагает готовые для вставки форматы на нужный случай: заголовок Authorization: Bearer, блок настройки Claude Desktop (бесплатный режим) и команду локального прокси. Токен опирается на систему ключей, описанную на странице API Omniscol.

Рекомендации по безопасности

  • Аутентификация OAuth2 — удобнее, и её стоит предпочесть, если ваш агент её поддерживает (платная версия Claude).
  • Отдельный токен для ИИ — создайте токен с понятным названием (ИИ-агент — Claude desktop), который при необходимости можно отозвать.
  • Минимальный объём доступа — для токена API выбирайте только нужные конечные точки API. Для токена OAuth ограничивайте scopes реальной потребностью.
  • Журналы активности (логи) — вызов появляется в журналах, связанных с токеном, если соответствующий маршрут журналируется. Эти журналы фиксируют сам вызов; подробности возвращённых данных и содержимое запроса, пригодное для повторного воспроизведения, они не хранят.
  • Ограничения видимости — агент видит то, что возвращает ему Omniscol. Если для роли токена вы настроили строгие ограничения видимости, они применяются.

Инструкция

Подключение Claude к Omniscol

Рекомендуемый путь — аутентификация OAuth2: вы подключаете Claude к серверу MCP по его URL, не работая с токеном.

  1. Включите сервер MCP на аккаунте Премиум и получите его URL (обычно https://vasha-shkola.omniscol.com/mcp). Экран MCP (модуль «Администрирование», кнопка Настроить) показывает его и снабжён кнопкой копирования.

  2. Добавьте Omniscol как коннектор в Claude. В настройках коннекторов Claude добавьте пользовательский коннектор и вставьте URL сервера MCP Omniscol.

  3. Одобрите доступ. Claude перенаправит вас на экран согласия Omniscol: войдите в систему и разрешите доступ. Предоставляемый объём доступа соответствует правам вашего аккаунта и возможным ограничениям видимости.

  4. Инструменты появятся в Claude, который будет вызывать их, когда это уместно для вашего запроса.

  5. Первая проверка: «Сколько часов занятий провёл И. И. Иванов в этом году?» — Claude сопоставит доступные данные и ответит на естественном языке.

Альтернативный способ — токен. Для клиента MCP, который не поддерживает OAuth2, создайте отдельный токен на экране MCP (понятное название, конечные точки, ограниченные реальной потребностью, права на запись отмечены явно) и передавайте его в заголовке Authorization: Bearer. Экран MCP выдаёт соответствующий блок настройки. Выбирайте OAuth2, как только ваш клиент его поддерживает.

См. также