MCP (Model Context Protocol)
Определение
MCP — открытый протокол взаимодействия между AI-приложением и внешними серверами, которые предоставляют контекст или действия через стандартные интерфейсы.
Основные роли
- Host: приложение, в котором работает пользовательский сценарий и политика доступа.
- Client: компонент host-приложения, поддерживающий соединение с конкретным MCP-сервером.
- Server: программа, публикующая доступные возможности.
- Transport: способ обмена сообщениями, например stdio или HTTP.
Модель обычно не подключается к серверу сама. Host решает, какие возможности показать модели, как выполнить вызов и что вернуть в контекст.
Возможности сервера
- Tools: действия, которые модель может предложить вызвать.
- Resources: данные, которые приложение может прочитать и передать модели.
- Prompts: опубликованные сервером шаблоны взаимодействия.
Конкретный набор возможностей зависит от версии спецификации и реализации.
Безопасность
MCP не делает интеграцию безопасной автоматически. Нужно отдельно контролировать:
- происхождение и код сервера;
- область доступа к файлам и аккаунтам;
- хранение токенов и секретов;
- сетевой транспорт и авторизацию;
- подтверждение рискованных действий;
- prompt injection в данных, полученных сервером;
- логирование и отзыв доступа.
Для stdio-сервера особенно важны права процесса и переменные окружения. Для удалённого HTTP-сервера — OAuth, TLS, аудит токенов и проверка адреса сервера.
Практика для vault
Файловому серверу лучше выдавать доступ только к нужной папке и по возможности начинать с чтения. Создание, перемещение и удаление заметок должны соответствовать явной задаче пользователя.
Официальные источники
Связанные заметки
- _MCP Index — практические интеграции.
- Tool Use Function Calling — как модель предлагает вызов функции.
- Indirect Prompt Injection — риск инструкций во внешних данных.
- Протоколы Автономности — права и подтверждения.
- Guardrails — ограничения вокруг MCP-вызовов.
- Observability and Tracing — аудит цепочки инструментальных действий.