MCP (Model Context Protocol) — это открытый стандарт подключения, через который языковая модель обращается к внешним инструментам, файлам и сервисам по единым правилам. Что это значит: вместо десятка самописных интеграций под каждый источник данных модель говорит со всеми через один интерфейс. Появился протокол в конце 2024 года как разработка Anthropic.
Разбирают Model Context Protocol на три роли: host (приложение с LLM), client (посредник внутри host) и server (обёртка над конкретным ресурсом). MCP-сервер отдаёт модели три типа сущностей — tools (действия), resources (данные) и prompts (шаблоны). Транспорт работает поверх JSON-RPC: локально через stdio, удалённо через HTTP с server-sent events.
§ 01Зачем нужен
Без единого разъёма каждая связка модель-сервис требует отдельного коннектора: своя авторизация, свой формат запроса, свой парсинг ответа. Стандарт связи с данными убирает эту комбинаторику. Один MCP-сервер для Google Drive работает с любым host, который поддерживает протокол — Claude Desktop, IDE, собственное приложение. Модель получает доступ к базе Postgres, репозиторию Git или Slack без переписывания логики под каждый клиент. Для чего нужно: развязать поставщиков инструментов и поставщиков моделей, чтобы интеграция писалась один раз.
§ 02Как устроен
Протокол интеграции инструментов держится на клиент-серверной схеме поверх JSON-RPC 2.0. Host запускает clients, каждый client держит соединение один-к-одному с отдельным server. Сервер объявляет свои возможности через три примитива: tools — функции, которые модель вызывает; resources — данные для чтения по URI; prompts — заготовки запросов. При старте стороны обмениваются initialize и списком capabilities. Дальше модель через host видит доступные tools и решает, какой вызвать.
интеграций 12 → 2 коннектора — Fintech-стартап на внутреннем ассистенте поверх Claude заменил 12 самописных API-обёрток на 2 MCP-сервера к Postgres и Jira. Время подключения нового источника упало с 3 дней до 4 часов за квартал. Замер по тикетам в Linear и логам CI.
ручных запросов −60% — B2B SaaS для логистики с MRR $180k поднял MCP-сервер к базе заказов и дал поддержке доступ через LLM-чат. Число ручных SQL-запросов аналитиков снизилось на 60% за 5 месяцев. Подсчёт по метрикам в Metabase и опросу команды саппорта.
§ 03Как настраивается
Локальный сервер подключается через конфиг host-приложения. В Claude Desktop это файл claude_desktop_config.json, где в блоке mcpServers задаётся команда запуска и аргументы. Транспорт stdio поднимает сервер как дочерний процесс и общается через стандартные потоки ввода-вывода. Удалённый сервер подключается по HTTP с механизмом server-sent events и требует адрес эндпоинта. Готовые серверы ставятся пакетами через npx или uvx, свой пишется на официальных SDK для TypeScript и Python.
§ 04Подводные камни
Единый интерфейс для LLM открывает модели реальные действия, и это меняет модель угроз. Сервер с доступом на запись выполнит вызов, который модель сформировала из непроверенного ввода — риск prompt injection через содержимое ресурсов. Права сервера стоит резать до минимума: только чтение там, где запись не нужна. Удалённый транспорт требует авторизации, локальный запускает процесс с правами пользователя. Отличается протокол от обычного плагина тем, что описывает транспорт и формат, но не берёт на себя песочницу — изоляцию обеспечивает host.