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 для закриття

Введіть запит для миттєвого пошуку по всіх сторінках курсів та уроків.