глава 01
Как работает MCP
В MCP две стороны. С одной - хост, он же клиент: приложение, внутри которого живёт LLM. Это Claude Desktop, Cursor, Codex. С другой - MCP-сервер: отдельный процесс, который отдаёт модели свои возможности.
Две стороны
1
Хост/клиент
Приложение с языковой моделью. Запускает серверы, спрашивает, что они умеют, и по решению модели вызывает их возможности.
2
MCP-сервер
Программа, которая объявляет список возможностей и исполняет запросы клиента. Может быть локальной или удалённой.
Клиент при старте опрашивает каждый подключённый сервер: что у тебя есть. Сервер отвечает списком. Дальше во время диалога модель сама решает, какую возможность вызвать, а клиент исполняет вызов через сервер и возвращает результат модели.
Что отдаёт сервер
tools
Действия и функции. Сервер говорит: я умею искать в базе, отправить сообщение, открыть страницу. Модель вызывает их сама.
resources
Данные и файлы. Контент, который модель может прочитать: файл, запись в базе, документ. Для чтения, не для действий.
prompts
Заготовки. Готовые шаблоны запросов, которые сервер предлагает пользователю как быстрые команды.
Самое частое - tools. Именно через них модель что-то делает во внешнем мире. Resources дают контекст для чтения, prompts - удобные заготовки.
Транспорт: как клиент общается с сервером
stdio - локально
Сервер запускается как процесс на вашей машине, общение идёт через стандартный ввод-вывод. Так работают filesystem, github и большинство локальных серверов.
HTTP/SSE - удалённо
Сервер живёт на удалённом адресе, клиент ходит к нему по HTTP с потоковыми ответами (SSE). Подходит для общих серверов команды и облачных сервисов.
В следующей главе подключим готовый сервер на практике.