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

Оглавление

  1. Что такое MCP и зачем он нужен
  2. Как работает Model Context Protocol
  3. Три компонента MCP: клиент, сервер, транспорт
  4. Сценарии использования MCP в библиотеке
  5. Как настроить MCP-сервер для каталога
  6. Инструменты и функции MCP-сервера
  7. Безопасность и ограничения доступа
  8. Примеры запросов через MCP
  9. Частые вопросы

Что такое MCP и зачем он нужен

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

MCP меняет подход: вместо множества специфичных интеграций создаётся один MCP-сервер, который умеет работать с библиотечным каталогом. AI-ассистент общается с этим сервером на стандартном языке — сервер переводит запросы в формат конкретной АБИС (Koha, ИРБИС, Руслан, MARC SQL и других) и возвращает результаты обратно.

Для библиотеки это означает:

  • Один раз настроил — работает с разными AI. MCP-сервер подключается к вашему каталогу. Любой AI-ассистент, поддерживающий MCP, сможет с ним работать — не нужно каждый раз строить новую интеграцию
  • Контроль над данными. MCP-сервер работает на вашей стороне — вы решаете, какие данные предоставить, какие скрыть, какие запросы разрешить
  • Безопасность. AI не получает прямого доступа к базе данных — только к тем инструментам, которые вы явно настроили в MCP-сервере
Специалист настраивает систему на компьютере в библиотеке
MCP-сервер выступает посредником между AI-ассистентом и библиотечным каталогом.

Как работает Model Context Protocol

Представьте ситуацию: читатель спрашивает AI-ассистента «Какие книги Стругацких есть в библиотеке?». Ассистент понимает запрос, но сам каталога не знает. Здесь в игру вступает MCP:

  1. AI формулирует намерение. Ассистент понимает, что нужно найти книги по автору
  2. AI вызывает инструмент MCP. Вместо того чтобы строить SQL-запрос или HTTP-запрос к API, ассистент вызывает функцию `search_by_author` с параметром «Стругацкие»
  3. MCP-сервер обрабатывает запрос. Сервер знает, как работает ваша АБИС. Он преобразует вызов `search_by_author` в запрос к каталогу — SQL, API, Z39.50 или любой другой формат
  4. Каталог возвращает данные. Список книг приходит на MCP-сервер
  5. MCP-сервер передаёт результат AI. Данные приходят в стандартизированном формате
  6. AI формулирует ответ. Ассистент видит список книг и отвечает читателю: «В библиотеке есть три романа Стругацких: «Пикник на обочине», «Трудно быть богом», «Град обречённый» — все доступны для выдачи»

На каждом шаге AI и MCP-сервер общаются на унифицированном языке — это и есть суть протокола. Меняется АБИС, меняется только MCP-сервер — AI не нужно ничего переучивать.

Три компонента MCP: клиент, сервер, транспорт

MCP-клиент

Это AI-ассистент или приложение, которое хочет получить доступ к данным. Примеры: Claude Desktop, пользовательский AI-помощник библиотеки, чат-бот для читателей (подробнее об AI-чат-ботах — в этой статье). Клиент отправляет запросы и получает ответы через MCP.

MCP-сервер

Программа, которая предоставляет инструменты для работы с каталогом. Сервер знает, как обращаться к вашей АБИС, какие поля искать, как фильтровать результаты. Это ваш код или готовое решение, адаптированное под конкретный каталог.

Транспорт

Способ передачи сообщений между клиентом и сервером. MCP поддерживает два основных варианта:

  • stdio: клиент запускает MCP-сервер как отдельный процесс, общение идёт через стандартные потоки ввода-вывода. Подходит для локальных инсталляций (например, Claude Desktop на рабочем месте библиотекаря)
  • SSE (Server-Sent Events): клиент подключается к MCP-серверу по HTTP. Подходит для облачных решений и удалённого доступа
Компонент Роль Пример
MCP-клиент Инициирует запросы к данным Claude Desktop, AI-чат-бот библиотеки
MCP-сервер Предоставляет инструменты для работы с каталогом Скрипт на Python/Node.js, подключённый к АБИС
Транспорт Передаёт сообщения между клиентом и сервером stdio (локально) или SSE (по сети)

Сценарии использования MCP в библиотеке

1. Поиск книг голосом или разговорным запросом

Читатель у терминала самообслуживания говорит: «Покажи книги про выгорание на работе». AI-ассистент через MCP ищет по ключевым словам «выгорание», «профессиональный стресс», «burnout» — и выдаёт список релевантных изданий (подробнее об AI-поиске — в этой статье).

2. Проверка доступности издания

Библиотекарь спрашивает AI: «Есть ли в фонде «Мастер и Маргарита» на английском?». MCP-сервер обращается к каталогу, проверяет язык издания и наличие в фонде — и возвращает точный ответ.

3. Подбор литературы по теме

Студент просит: «Подбери книги по квантовой физике для начинающих». AI через MCP ищет книги по рубрике «квантовая физика», фильтрует по уровню сложности (если такое поле есть в каталоге) и предлагает список.

4. Статистика и аналитика

Библиотекарь спрашивает: «Сколько книг по машинному обучению добавлено в каталог за последний год?». MCP-сервер выполняет агрегацию данных и возвращает число.

Библиотекарь консультирует читателя за компьютером
С MCP читатель может искать книги через AI-ассистента привычным языком.

Как настроить MCP-сервер для каталога

Шаг 1: Выберите технологию

MCP-сервер можно написать на любом языке. Официальные SDK существуют для Python, TypeScript/JavaScript. Выбирайте тот язык, на котором уже работает ваша инфраструктура или который знает IT-специалист библиотеки.

Шаг 2: Определите инструменты

Решите, какие функции предоставить AI. Базовый набор для библиотечного каталога:

  • search_by_title — поиск по названию
  • search_by_author — поиск по автору
  • search_by_keyword — поиск по ключевым словам в аннотации или рубриках
  • get_book_details — получить полную информацию о книге по идентификатору
  • check_availability — проверить, доступна ли книга для выдачи

Шаг 3: Подключите каталог

Настройте подключение MCP-сервера к вашей АБИС. Варианты:

  • SQL-запросы напрямую к базе данных (если АБИС хранит данные в PostgreSQL, MySQL или другой реляционной СУБД)
  • Использование API АБИС (если система предоставляет REST API или GraphQL)
  • Протокол Z39.50 (стандарт библиотечного поиска, поддерживается большинством классических АБИС)
  • Экспорт данных в промежуточный формат (например, JSON-файл с актуальным срезом каталога, обновляемый раз в сутки)

Шаг 4: Напишите реализацию инструментов

Для каждого инструмента опишите, как он работает с каталогом. Пример на псевдокоде для search_by_author:

function search_by_author(author_name):
    # Подключение к базе данных АБИС
    connection = connect_to_database()

    # SQL-запрос к таблице каталога
    query = "SELECT title, author, year, availability FROM catalog WHERE author LIKE ?"
    results = connection.execute(query, f"%{author_name}%")

    # Формирование ответа в формате MCP
    return format_results(results)

Шаг 5: Настройте конфигурацию клиента

Если используете Claude Desktop, добавьте MCP-сервер в конфигурационный файл claude_desktop_config.json:

{
  "mcpServers": {
    "library-catalog": {
      "command": "python",
      "args": ["/path/to/library_mcp_server.py"],
      "env": {
        "DB_HOST": "localhost",
        "DB_NAME": "library_catalog"
      }
    }
  }
}

Шаг 6: Протестируйте

Запустите клиент и задайте тестовые запросы. Убедитесь, что MCP-сервер корректно обращается к каталогу и возвращает релевантные результаты.

Инструменты и функции MCP-сервера

MCP-сервер может предоставлять не только поиск, но и другие функции:

Инструмент Что делает Когда полезен
search_by_title Поиск книги по названию или его части Читатель помнит название, но не автора
search_by_author Поиск всех книг автора в фонде Читатель ищет произведения конкретного автора
search_by_subject Поиск по рубрике или предметной области Подбор литературы по теме исследования
get_new_arrivals Список новых поступлений за период Читатель интересуется свежими изданиями
check_availability Проверить, на месте ли книга или выдана Перед походом в библиотеку
get_book_location Указать шифр хранения и местоположение на полке Навигация по фонду
get_statistics Агрегированные данные: число книг по рубрике, динамика поступлений Аналитика для библиотекарей

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

Безопасность и ограничения доступа

MCP-сервер работает на вашей стороне — это значит, что вы полностью контролируете, какие данные предоставлять AI. Базовые правила безопасности:

  • Не передавайте персональные данные читателей. MCP-сервер должен предоставлять только информацию о фонде — названия, авторов, рубрики, наличие. Данные о том, кто именно взял книгу, когда и на какой адрес, не должны быть доступны AI
  • Ограничьте функции изменения данных. Базовый MCP-сервер работает в режиме чтения (read-only). Если нужно разрешить AI создавать записи или изменять данные (например, резервировать книгу), такие операции требуют дополнительной авторизации
  • Логируйте запросы. Записывайте, какие запросы поступают от AI, кто их инициировал (если известно), какие данные были возвращены. Это помогает отслеживать необычную активность
  • Используйте read-only подключение к базе данных. Если MCP-сервер работает через SQL, создайте отдельного пользователя базы данных с правами только на чтение. Даже если в коде сервера появится ошибка, данные не будут изменены

Примеры запросов через MCP

Пример 1: Простой поиск по автору

Запрос читателя: «Какие книги Толстого есть в библиотеке?»

Что происходит: AI вызывает search_by_author("Толстой") через MCP. Сервер обращается к каталогу, находит все записи, где автор содержит «Толстой», возвращает список.

Ответ AI: «В библиотеке есть 12 книг Льва Толстого, среди них «Война и мир» в трёх томах, «Анна Каренина», «Воскресение» и другие. Все доступны для выдачи.»

Пример 2: Уточняющий поиск

Запрос читателя: «Мне нужна книга про искусственный интеллект, но попроще — я только начинаю разбираться»

Что происходит: AI вызывает search_by_keyword("искусственный интеллект"), получает список. Затем анализирует названия и аннотации, фильтрует книги, где упоминается «введение», «основы», «для начинающих».

Ответ AI: «Рекомендую «Искусственный интеллект: современный подход» Рассела и Норвига — это классический учебник, написанный доступно. Также есть «Грокаем машинное обучение» — практическое введение без сложной математики.»

Пример 3: Проверка доступности

Запрос библиотекаря: «Книга «Мастер и Маргарита» на месте?»

Что происходит: AI вызывает search_by_title("Мастер и Маргарита"), получает идентификатор книги, затем вызывает check_availability(book_id).

Ответ AI: «Да, экземпляр «Мастер и Маргарита» (издание 2020 года) сейчас в читальном зале, шифр хранения Р-83.3(2Рос=Рус)6.»

Чек-лист настройки MCP для библиотечного каталога

  • Определить, какие инструменты нужны (поиск по автору, названию, теме, проверка доступности)
  • Выбрать технологию и язык программирования для MCP-сервера
  • Настроить подключение к АБИС (SQL, API, Z39.50 или другой способ)
  • Реализовать функции инструментов с обработкой ошибок
  • Ограничить доступ к персональным данным и служебным полям каталога
  • Настроить read-only подключение к базе данных
  • Добавить логирование всех запросов от AI
  • Настроить клиент (например, Claude Desktop) для подключения к MCP-серверу
  • Протестировать базовые сценарии: поиск по автору, названию, теме
  • Проверить обработку краевых случаев: пустой результат, опечатки в запросе, отсутствие книги
  • Зафиксировать документацию: какие инструменты доступны, как они вызываются, какие параметры принимают

Что почитать

Частые вопросы

Нужно ли быть программистом, чтобы настроить MCP?

Базовая настройка MCP-сервера требует умения работать с командной строкой и конфигурационными файлами. Если в библиотеке есть IT-специалист, который поддерживает каталог, этого достаточно. Готовые решения под популярные АБИС упрощают задачу.

Работает ли MCP с любым AI-ассистентом?

MCP — открытый протокол, разработанный Anthropic. На момент 2026 года его поддерживают Claude Desktop, несколько сторонних клиентов и некоторые другие AI-системы. Поддержка расширяется по мере развития стандарта.

Можно ли ограничить доступ AI к определённым данным каталога?

Да, MCP-сервер настраивается так, чтобы предоставлять только указанные данные: например, только публичные записи каталога без информации о читателях или служебных полей. Все ограничения задаются на стороне MCP-сервера.

Чем MCP отличается от обычного API каталога?

MCP стандартизирует способ, которым AI-ассистенты запрашивают данные. Вместо того чтобы учить AI работать с десятками разных API, MCP предоставляет единый интерфейс. AI сам решает, какой инструмент вызвать, а сервер переводит запрос в формат конкретной АБИС.

AI-чат-бот для вашей библиотеки

Подключите библиотечный каталог к AI-ассистенту, чтобы читатели могли искать книги привычным языком — через Telegram или ВКонтакте. AI-чат-бот Biblio-Tech интегрируется с АБИС через MCP или API, отвечает на вопросы о наличии книг, помогает сориентироваться в фонде.

Узнать больше об AI-чат-боте