MCP (Model Context Protocol)

Определение

MCP — открытый протокол взаимодействия между AI-приложением и внешними серверами, которые предоставляют контекст или действия через стандартные интерфейсы.

Основные роли

  1. Host: приложение, в котором работает пользовательский сценарий и политика доступа.
  2. Client: компонент host-приложения, поддерживающий соединение с конкретным MCP-сервером.
  3. Server: программа, публикующая доступные возможности.
  4. Transport: способ обмена сообщениями, например stdio или HTTP.

Модель обычно не подключается к серверу сама. Host решает, какие возможности показать модели, как выполнить вызов и что вернуть в контекст.

Возможности сервера

  • Tools: действия, которые модель может предложить вызвать.
  • Resources: данные, которые приложение может прочитать и передать модели.
  • Prompts: опубликованные сервером шаблоны взаимодействия.

Конкретный набор возможностей зависит от версии спецификации и реализации.

Безопасность

MCP не делает интеграцию безопасной автоматически. Нужно отдельно контролировать:

  • происхождение и код сервера;
  • область доступа к файлам и аккаунтам;
  • хранение токенов и секретов;
  • сетевой транспорт и авторизацию;
  • подтверждение рискованных действий;
  • prompt injection в данных, полученных сервером;
  • логирование и отзыв доступа.

Для stdio-сервера особенно важны права процесса и переменные окружения. Для удалённого HTTP-сервера — OAuth, TLS, аудит токенов и проверка адреса сервера.

Практика для vault

Файловому серверу лучше выдавать доступ только к нужной папке и по возможности начинать с чтения. Создание, перемещение и удаление заметок должны соответствовать явной задаче пользователя.

Официальные источники

Связанные заметки