1. Що таке MCP і навіщо він потрібен поверх API
— Слухай, з цим API все зрозуміло, — пише Тьома. — Є USGS, є адреса цього віконця, є JSON. Скажу ШІ: завітай за цією адресою, забери свіжі поштовхи, віддай Сашкові в радар. Він же сходить?
— Сходить, — погоджується Льоха. — ШІ це вміє: смикнути відкриту адресу, забрати відповідь. Тут ти правий, жодної магії. Питання не в тому, чи сходить він, а як ви робитимете це щодня.
— У сенсі щодня?
— А ти подумай. Сьогодні попросив — сходив, приніс. Завтра потрібні свіжі поштовхи — і знову руками пишеш йому: «Сходи за адресою earthquakes.usgs.gov/..., ось формат, ось поля». Післязавтра захотів показати курс біткоїна — лізеш шукати адресу біржі, знову диктуєш ШІ, де віконце і що там у відповіді. Для кожного сервісу заново пояснюй машині, куди стукати і як розбирати відповідь. Це як щоразу малювати курʼєрові карту від руки.
— Ну… клопітно, так, — погоджується Тьома. — А можна якось простіше?
— Можна і простіше — один раз налаштовуєш ШІ готове підʼєднання до сервісу, а далі просто кажеш словами: «Принеси поштовхи». Адреса, формат, поля — усе вже всередині підʼєднання, ШІ не треба нічого пояснювати. Ось ця штука і називається MCP.
— MCP. А розшифровується як?
— Model Context Protocol. Але не запамʼятовуй: сама розшифровка тобі нічого не дає. За змістом — це спосіб один раз підʼєднати до ШІ зовнішній сервіс, щоб далі смикати його словами, а не пояснювати щоразу всі деталі заново. Підʼєднав такий «кабель» до землетрусів — і в ШІ зʼявилася готова кнопка «принеси поштовхи». Підʼєднав до GitHub — кнопка «покажи задачі». Підʼєднав до парсера сайтів — кнопка «завітай на сайт і забери звідти потрібне».
2. Чим MCP відрізняється від API
— Тобто це типу розумного API? — уточнює Тьома.
— Розумію, чому так здається, — близько, але повз. І цю різницю важливо не змазати. API живе в сервісі — це його віконце видачі, і ним користуються всі: хоч застосунок стукає, хоч ти руками. А MCP є і в ШІ, і в сервісі — це те, чим ШІ звертається до цього API. За MCP-підʼєднанням і командою «принеси поштовхи» стоїть усе той самий звичайний API геологів. MCP його не замінює і не «покращує» — він просто стандартизує підʼєднання до ШІ, щоб тобі не доводилося диктувати машині формат запитів вручну. Давайте розкладемо, хто де стоїть:
| Що | Де живе | Навіщо |
|---|---|---|
| API | у сервісі (USGS) | віконце, через яке сервіс віддає дані — будь-якому застосунку |
| MCP | у ШІ, у сервісі | кабель, яким ШІ сам підʼєднується до віконця, без ваших пояснень |
| ти руками | людина | курʼєр: сам збігав, скопіював, приніс |
API — це КУДИ стукати. MCP — це ЧИМ ШІ туди стукає замість тебе.
— Тобто, — міркує вголос Тьома, — раніше курʼєром був я: сам сходив на сайт, скопіював, приніс Сашкові. А з MCP-кабелем курʼєром стає ШІ?
— Точно. І тобі більше не треба щоразу малювати карту — MCP-кабель її вже знає.
3. MCP як єдиний стандарт — USB
Тьома киває, але тут же морщиться — щось усе одно не сходиться.
— Погоди. Якщо за MCP-підʼєднанням усе одно стоїть звичайний API, і ШІ до API й так уміє ходити… навіщо взагалі будувати окремий MCP? Чим погано просто дати йому адресу?
— Гарне питання, в саму точку. Дивись. У USGS свої правила, у GitHub свої, у біржі свої — кожен сервіс має свій API і свою документацію до нього. Без MCP-кабелю виходить, що під кожен сервіс ШІ треба заново налаштовувати весь процес спілкування: де адреса, який формат, які поля, чи потрібен ключ. А MCP-кабель — це коли все це один раз упакували в стандартну форму, зрозумілу будь-якому ШІ. Ідеальний приклад для цієї ситуації — USB.
— USB? Як флешка?
— Ага. Дивись: флешка, миша, камера, принтер — пристрої зовсім різні, а втикаються в один і той самий розʼєм, і компʼютер кожен розуміє. Ніхто не паяє для миші окремий дріт, хоча колись саме так і робили. USB — це спільна домовленість про те, як усе це підʼєднувати. MCP — рівно такий самий спільний розʼєм, тільки для ШІ та сервісів. Той, хто робить сервіс, один раз налаштовує до нього MCP-підʼєднання — і далі будь-який ШІ зможе працювати з ним за єдиними правилами. Ви просто втикаєте — і у ШІ зʼявляється нова здатність.
MCP — це «USB» для ШІ: єдиний розʼєм, у який втикаються різні сервіси.
— А в Claude Code це де? Він такі MCP-кабелі розуміє?
— Більше ніж: Claude Code вміє втикати такі кабелі з коробки. Підʼєднувати MCP-сервери — його вбудована фіча. Один MCP-розʼєм — один новий підʼєднаний сервіс: сервер землетрусів дає нам «поштовхи», сервер парсера сайтів — фічу «спарси сайт». Підʼєднав MCP-кабель — і в агента стало на одну «руку» більше. Зараз покажу на прикладі.
— А підʼєднувати складно? Чи як із флешкою? Спочатку неправильно, потім перевернути, потім знову перевернути. І нарешті — добре :)
— Чимось схоже, так.
4. Як підʼєднати MCP-сервер у Claude Code
— Давай спеціально візьмемо найпростіший приклад, — пропонує Льоха, — без ключа, щоб ти відчув саму суть, а не потонув у налаштуваннях. Землетруси якраз віддаються публічно. Відкриваєш звичайний термінал і пишеш команду:
# підʼєднуємо MCP-сервер відкритих даних. Імʼя "quakes" — будь-яке, придумуєш сам.
claude mcp add --transport http quakes <адреса-MCP-сервера-відкритих-даних>
— А можна подробиці?
— Зараз будуть. Дивись, claude mcp add — це «Claude, додай mcp-кабель». --transport http — спілкуємося з ним через мережу, а не як із локальним застосунком. quakes — імʼя, під яким ми його запамʼятаємо, сам придумав. Далі — адреса самого MCP-кабелю. Натиснув Enter — кабель додано. Перевіряємо, що підʼєдналося:
claude mcp list
У списку зʼявляється quakes зі статусом ✓ Connected. Немає статусу або є помилка — насамперед дивишся сюди: чи правильна адреса, чи живий сервер. Це і є супернавичка «полагодити MCP-кабель». А потім запускаєш claude і пишеш у сесії команду /mcp:
/mcp # команда всередині сесії: показує кабелі та їхні кнопки-інструменти
— І там буде мій quakes?
— І там буде твій quakes, а поруч — список його «дій/кнопок». Це те, що ШІ тепер уміє викликати. І все, далі ти просто просиш словами.
Тьома не витримує — пробує прямо зараз. Пише агенту:
Дістань через quakes землетруси за останню годину, візьми з кожного
mag, coordinates, time і збери радар: магнітуда → розмір точки,
свіжість → яскравість, координати → куди ставити.
Палець зависає над Enter. Тисне.
Секунда — і на екрані біжить стрічка запиту. Радар, який досі показував вигадані точки, блимає — і запалює першу справжню. На іншому боці планети кілька хвилин тому здригнулася земля, і ось вона — точка на його екрані.
— Це що, реально?! — Тьома тицяє пальцем у монітор. — Там просто зараз землетрус?
— Щойно тряхнуло, — озивається Льоха. — Кабель тягне все, що здригнулося за останню годину. І зверни увагу: ти не диктував ШІ ні адреси, ні формату JSON. Сказав «дістань через quakes» — він сам сходив до віконця, сам забрав відповідь, сам розібрав поля. Курʼєр більше не ти.
Тьома відкидається на спинку і кілька секунд просто дивиться.
— Слухай, це ж бомба, — видихає він. І тут же загоряється: — А я тоді зможу так підʼєднатися до будь-чого? Ось хочу ролики з YouTube качати через ШІ — зможу?
— Гальмуй, — фиркає Льоха. — Підʼєднати кабель — це не «дати ШІ весь інтернет». Кожен кабель відкриває рівно один сервіс. Той, що до землетрусів, дає землетруси — і більше нічого. Ні твій банк, ні YouTube, ні чужу базу він не відкриє. Потрібен інший сервіс — підʼєднуєш окремий кабель саме до нього.
І додає:
— І навіть усередині одного кабелю ШІ може робити лише те, що йому дозволено. Дали ключ тільки на читання — видалити нічого не зможе, хоч трісни. Це не «відкрили весь світ», це «відкрили одні конкретні двері».
5. Сервіс із ключем доступу
— Гаразд, вважатиму, що зрозумів, — киває Тьома. — А ось подивись. Радар працює, але виглядає слабенько — якийсь сірий, надто примітивний. Хочу, щоб виглядав дорого, красиво, як Stripe, наприклад. Бачив їхній сайт? От прямо в такому ж стилі. ШІ може залізти туди й скопіювати їхній стиль?
— Ти не повіриш... У землетрусів було готове віконце — API. А в чужого сайту немає віконця «віддай мені свій дизайн». Ніхто такого API не робив. Скопіювати стиль можна одним способом — піти на сам сайт і розпарсити його. Дістати вживу те, у чого віконця немає.
— І ШІ так уміє?
— Сам по собі — не дуже, але в нас є чарівний кабель на цей випадок. Беремо Firecrawl — сервіс, який уміє читати чужі сайти. Підʼєднується MCP-кабелем, як землетруси, але з невеликою різницею: Firecrawl просить ключ. Без нього нічого не віддасть. Ось він, твій перший живий токен.
— А де мені його взяти? Купувати?
— Реєструєшся на firecrawl.dev, отримуєш ключ виду fc-.... Там є безплатний тариф, без картки — нам на пару запитів вистачить із запасом. Без ключа MCP-кабель не запуститься. Отримав — підʼєднуєш його, а ключ кладеш просто в адресу кабелю:
claude mcp add --transport http firecrawl "https://mcp.firecrawl.dev/fc-ТВІЙ_КЛЮЧ/v2/mcp"
— Слухай, а claude ж сам може все підʼєднати. Наскільки я знаю. Давай я йому ключ скину. Зараз я його скопіюю в чат.
— Стій! — обриває Льоха ще до того, як палець дотиснув Enter. — Не в чат.
Тьома завмирає, руки над клавіатурою.
— А куди? Ти ж сам сказав, що ключ потрібно додати в адресу.
— У команду — так, в адресу кабелю. А от у листуванні з ШІ ключ не вставляють як звичайний текст. І ще одна пастка, на ній усі обпікаються. Бачиш, MCP-кабель за замовчуванням ставиться тільки тобі і тільки в цій папці. Якщо додати прапорець -s project під час додавання MCP — тоді налаштування з твоїм ключем запишеться у файл проєкту і поїде в спільний git-репозиторій, де його побачать усі. Ключ — це перепустка, оплачена тобою.
— Тобто ключ — повз чат і повз репозиторій.
— Саме так. Запамʼятай три речі, які в листування з ШІ не вставляють як звичайний текст: ключі доступу, паролі, чужі особисті дані. Заведи правило й рахуй дні, коли не порушив його. Сьогодні, вважай, перший день без злитого ключа. Не обнуляй.
Тьома перевіряє, що підʼєдналося:
claude mcp list # firecrawl → ✓ Підʼєднано
— Готово. І що далі?
— Тепер просиш словами, як із поштовхами. Тільки цього разу — завітати на сайт і скопіювати стиль:
Через firecrawl скопіюй стиль stripe.com — кольори, типографіку, структуру —
і перероби мій радар у цьому дусі.
Тьома тисне. Агент іде на пару секунд — і повертається. Сірий радар перетворюється: глибокий фон, чиста типографіка, мʼякі градієнти. Схоже на Stripe, але не копія — свій.
— Опа, — Тьома подається до екрана. — Він реально заліз на їхній сайт?
— Заліз і здер стиль, — усміхається Льоха. — Відчуваєш різницю? До землетрусів у ШІ було готове віконце — він просто взяв дані. А до Stripe віконця немає — ШІ сам сходив на реальний сайт і здер звідти дизайн. Два способи, а суть одна: у ШІ зʼявилися нові зовнішні руки. Однією він бере через готове вікно, іншою лізе туди, де вікна немає.
— Коротше, — підсумовує Тьома, — є віконце у сервісу — MCP-кабель приносить дані. Немає віконця — MCP іде на сайт і бере сам. А ключ — повз чат і повз репозиторій.
— Красунчик. Оце вже можна і попрацювати, — озивається Льоха.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ