4 Направляющий 5 Почти архитектор 6 Переписчик ~9 мин

MCP для агента: что это и как подключить инструменты

Воткнул разъём - и у агента появились руки в реальном мире

MCP простыми словами: единый разъём, через который ИИ-агент получает инструменты, данные и шаблоны. Зачем это вайбкодеру, как подключить сервер и не словить беду.

Скиллы ECC в этом уроке: mcp-server-patterns

MCP простыми словами: розетки на кухне агента

Помнишь аналогию из прошлых глав? Модель - гениальный повар, а мы строим вокруг него кухню (харнесс). Так вот, MCP - это стандартные розетки на этой кухне. Воткнул в розетку блендер - повар умеет смузи. Воткнул мясорубку - умеет фарш. А сам повар не поменялся ни на грамм. У него просто появился новый прибор.

Теперь по-умному. MCP - это протокол, по которому ИИ-агент подключается к внешним умениям: вызвать инструмент, прочитать данные, взять готовый шаблон команды. Вся соль в одном слове - стандартный. Раньше каждую интеграцию пилили вручную, с нуля, каждый раз заново. А теперь форма разъёма одна. И в неё подходят сотни готовых «устройств».

Робот-агент, у которого вместо одной руки разъём USB, и к нему подключаются разные инструменты-насадки
Модель та же. Просто теперь у неё есть универсальный разъём для новых умений.

Зачем MCP вайбкодеру

Ты вайбкодер. Сервер руками тебе писать не надо - хотя в конце урока подсмотрим, как он устроен изнутри. Но понимать MCP важно. Именно через него агент вылезает из чата в реальный мир.

  • Хочешь, чтобы агент сам читал почту и раскладывал её по полкам? Подключаешь MCP почты.
  • Хочешь, чтобы он брал свежие данные из интернета, а не сочинял на ходу? Подключаешь MCP поиска.
  • Хочешь, чтобы он работал с твоим проектом, базой, дизайном? На всё это уже есть готовые серверы.

Разница между «агент в чате красиво болтает» и «агент реально делает за меня дела» - это почти всегда правильно подключённые MCP-серверы. Вот она, та самая суперсила из названия главы.

Что внутри MCP: инструменты, ресурсы, промпты

Каждый сервер даёт агенту три типа «умений». Запомни их - и считай, весь словарь MCP у тебя в кармане.

Инструменты - агент ДЕЛАЕТ действие

Инструменты - это глаголы. «Отправь письмо», «запусти тесты», «найди клиента в базе», «заведи задачу». Агент сам решает, когда позвать нужный инструмент, передаёт ему данные и получает назад результат.

Хороший инструмент похож на хорошую кнопку на пульте: узкое имя, одна понятная задача. А плохой - это «мега-кнопка на всё», после которой агент чешет затылок и не понимает, что вообще произошло.

Ресурсы - агент ЧИТАЕТ данные

Ресурсы - это существительные. Данные только на чтение: содержимое файла, ответ от API, строки из таблицы. Агент их не трогает. Он просто подглядывает, чтобы понять контекст. Обычно у ресурса есть свой адрес (uri) - как ссылка, по которой агент достаёт нужный кусок.

Промпты - готовые шаблоны команд

Промпты в MCP - это заготовленные шаблоны запросов с дырками под параметры. Грубо говоря, «составь отчёт за месяц X по проекту Y». Клиент (например, твоё приложение) показывает тебе такой шаблон, ты подставляешь значения - и не печатаешь одну и ту же длинную команду по сто раз.

Три ящика с подписями: инструменты (молоток), ресурсы (книга), промпты (бланк с пропусками)
Весь MCP - это три ящика: что агент делает, что читает и какими шаблонами пользуется.

Локальный и удалённый MCP-сервер: куда втыкать разъём

Сервер MCP может жить в двух местах. Разница тут простая.

  • Локальный - крутится прямо на твоём компьютере. Связь идёт через stdio - две программы просто перекидываются текстом друг другу. Так, например, подключают агента к Claude Desktop.
  • Удалённый - живёт где-то в облаке, и агент ходит к нему по интернету через HTTP. Современный стандарт для этого - Streamable HTTP: один аккуратный веб-адрес на весь сервер. Старый способ через SSE держат уже только ради совместимости.

Как отличить хороший MCP-инструмент от плохого

Когда будешь выбирать или настраивать MCP - вот как на глаз отличить нормальный сервер от мучительного. Это прямые правила из практики разработки MCP-серверов.

Хороший инструмент
  • Узкое имя, одна задача: «отправить письмо», «найти заказ». Сразу ясно, что делает.
  • Есть схема входа: чётко описано, какие данные принимает и что вернёт.
  • В ответе - понятный результат и подсказка «что дальше», а не сырой технический мусор.
  • Не боится повторов: позвал дважды - ничего не сломалось и не задвоилось.
Плохой инструмент
  • Один «мега-инструмент на всё» - агент путается, что и когда звать.
  • Молча падает или вываливает стек ошибок, по которому агент не понимает, что чинить.
  • Нет описания параметров - агент гадает на кофейной гуще, что в него класть.
  • Дёргает платный внешний API без всяких лимитов - привет, неожиданный счёт.

Пример: агент читает почту через MCP

Ты просишь агента: «глянь, что мне сегодня написали клиенты, и сделай короткую сводку». В обычном чате агент честно разведёт руками: «у меня нет доступа к твоей почте». Тупик.

А теперь подключаем MCP-сервер почты - и тот же запрос превращается в магию. Агент сам открывает входящие (это ресурс - читает), достаёт сегодняшние письма, делает сводку, а если попросишь - пишет за тебя черновик ответа (это уже инструмент - действие).

Чтобы магия не обернулась катастрофой, командуй ему вот так.

Промпт - скопируй и попробуй

У тебя подключён доступ к моей почте через MCP. Сделай так:

  1. Прочитай только письма за сегодня. Ничего не удаляй и не отправляй без моего разрешения.
  2. Сгруппируй их по темам и дай короткую сводку: от кого, о чём, насколько срочно.
  3. Для двух самых срочных подготовь черновик ответа, но НЕ отправляй - сначала покажи мне.
  4. Если какого-то инструмента не хватает или доступ не сработал - честно скажи об этом, не выдумывай содержимое писем.

Как устроен MCP-сервер изнутри (одним глазком)

Руками тебе это писать не придётся, но полезно увидеть, что «магия» - это обычный код. Сервер MCP на TypeScript заводится буквально в пару строк:

  • ставишь пакет: npm install @modelcontextprotocol/sdk zod;
  • создаёшь сервер с именем и версией;
  • регистрируешь инструменты и ресурсы, описываешь их вход через Zod - это просто «вышибала на входе»: проверяет, что агент передал данные нужного вида, а не что попало.
Мем: вайбкодер подключает десятый сомнительный MCP-сервер со словами 'что может пойти не так'
Сначала подключи. Потом читай, какие права ты только что раздал.

Частые ошибки новичка с MCP

  • Подключать всё подряд. Каждый сервер видит твои данные. Ставь только тех, кому доверяешь, и читай, какие права просят.
  • Давать максимум прав «чтобы точно работало». Дай минимум: нужно только читать почту - не выдавай право удалять и отправлять.
  • Ждать, что MCP сделает модель умнее. Он даёт умения и доступ, а не интеллект. Кривую задачу агент и через MCP сделает криво, просто быстрее.
  • Один «мега-инструмент на всё». Агент путается. Лучше несколько узких инструментов с понятными именами.
  • Верить, что агент точно всё сделал. Если инструмент молча упал, агент может «дорисовать» ответ. Проси честно сообщать о сбоях и сверяй важное сам.
  • Писать сервер с нуля, когда готовый уже есть. Сначала поищи существующий MCP под задачу - скорее всего, его уже написали и причесали.

TL;DR - если коротко

  • MCP - это «USB-разъём» для агента. Воткнул сервер - агент умеет читать почту, ходить в базу, гуглить.
  • Внутри три штуки: инструменты (агент действует), ресурсы (агент читает) и промпты (готовые шаблоны команд).
  • Сервер бывает локальный (на твоём компе, через stdio) и удалённый (в облаке, через HTTP). В облаке стандарт - Streamable HTTP.
  • Хороший инструмент: узкое имя, одна задача, внятный ответ. Один «мега-инструмент на всё» - это боль.
  • MCP - это доступ к твоим данным. Подключай только то, чему доверяешь, и давай минимум прав.
  • Писать сервер руками тебе почти никогда не нужно - нужный уже написали до тебя.

Поиск по вики

Нажмите Esc для закрытия

Введите запрос для мгновенного поиска по всем страницам курсов и уроков.