MCP — подключение внешнего ИИ-агента к Omniscol
PremiumModel 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, не работая с токеном.
-
Включите сервер MCP на аккаунте Премиум и получите его URL (обычно
https://vasha-shkola.omniscol.com/mcp). Экран MCP (модуль «Администрирование», кнопка Настроить) показывает его и снабжён кнопкой копирования. -
Добавьте Omniscol как коннектор в Claude. В настройках коннекторов Claude добавьте пользовательский коннектор и вставьте URL сервера MCP Omniscol.
-
Одобрите доступ. Claude перенаправит вас на экран согласия Omniscol: войдите в систему и разрешите доступ. Предоставляемый объём доступа соответствует правам вашего аккаунта и возможным ограничениям видимости.
-
Инструменты появятся в Claude, который будет вызывать их, когда это уместно для вашего запроса.
-
Первая проверка: «Сколько часов занятий провёл И. И. Иванов в этом году?» — Claude сопоставит доступные данные и ответит на естественном языке.
Альтернативный способ — токен. Для клиента MCP, который не
поддерживает OAuth2, создайте отдельный токен на экране MCP (понятное
название, конечные точки, ограниченные реальной потребностью, права на
запись отмечены явно) и передавайте его в заголовке
Authorization: Bearer. Экран MCP выдаёт соответствующий блок настройки.
Выбирайте OAuth2, как только ваш клиент его поддерживает.