MCP Explained — интерактивное руководство по Model Context Protocol, открытому стандарту для подключения AI-приложений к инструментам и данным. Сайт разбивает участников взаимодействия на три роли. Host — приложение, с которым работает пользователь, например Claude, Cursor, ChatGPT или agent. Server — небольшая программа, предоставляющая инструменты, данные или prompts. Model выбирает, какой инструмент нужен, но никогда не обращается к серверу напрямую.
Взаимодействие начинается с того, что AI-приложение подключается к MCP-серверу и запрашивает его возможности через tools/list. Сервер сообщает доступные действия, после чего host добавляет их описание в контекст модели. Когда пользователь формулирует задачу, приложение отправляет её модели вместе со списком инструментов. Модель может выбрать tool_use, но фактический tools/call выполняет host. Полученный от сервера результат возвращается модели, и лишь затем формируется ответ пользователю.
В пошаговом примере сервер умеет создавать issues. Пользователь просит завести отчёт о сломанной кнопке входа в Safari, модель выбирает create_issue, host вызывает соответствующий метод, а сервер сообщает номер созданного issue. Вся последовательность занимает 11 сообщений и пять шагов, включая первоначальное обнаружение возможностей и финальный ответ человеку.
Авторы отдельно объясняют, чем MCP не является. Это не REST: сообщения используют JSON-RPC поверх stdin/stdout для локального subprocess либо через один HTTP endpoint для удалённого сервера. При этом сервер способен сам инициировать обратные сообщения. Но и сводить стандарт к JSON-RPC нельзя: JSON-RPC служит лишь оболочкой, а MCP определяет методы, согласование возможностей, транспорты и аутентификацию.
На странице представлена спецификация версии 2025-11-25 как вариант по умолчанию. Помимо общего обзора есть отдельные разделы об инструментах, истории версий спецификации и экспериментальная зона Break it. Таким образом, ресурс не просто даёт определение протокола, а показывает границы ответственности участников: модель принимает решение, host контролирует вызов, а сервер выполняет конкретную операцию и возвращает результат.