Міст між Штучним Інтелектом та Світом: Як Збудувати Власний MCP-Сервер
Останнім часом у світі AI-розробки все частіше можна почути про MCP-сервери. Але якщо ви, як і дехто, досі не зовсім розумієте, що це таке, для чого вони потрібні, і найголовніше – як збудувати власний, ця стаття саме для вас. Я спробувала розібратися в цій технології, створивши власний MCP-сервер. Це виявився інструмент, який підключає функцію пошуку ChatGPT до штучного інтелекту, дозволяючи йому відповідати на запитання, здійснюючи пошук в інтернеті та надаючи результати. І знаєте що? Це зайняло всього годину! Річ у тім, що у світі програмування часто трапляється так, що хтось вже зробив основну роботу, а нам залишається лише поєднати елементи воєдино. Про це і йтиме мова в цій статті: ми збудуємо MCP-сервер з нуля, щоб зрозуміти суть цієї технології.
Що таке MCP-Сервер?
MCP (Model Context Protocol) – це протокол контексту моделі, представлений компанією Anthropic, розробниками Claud AI, наприкінці минулого року. Відтоді він набув великої популярності. MCP – це міст між AI-моделлю та зовнішнім світом, що дозволяє моделі отримувати будь-яку інформацію, будь-який контекст, необхідний для роботи.
Уявіть собі штучний інтелект, відрізаний від світу. Він розумний, але обмежений інформацією, яку йому надали. MCP-сервер – це спосіб вирватися за межі цих обмежень. Це як вікно у світ знань, що дозволяє AI-моделі задавати запитання, досліджувати та отримувати відповіді в режимі реального часу.
Можна уявити MCP-сервер як міст: з одного боку – AI-модель, з іншого – решта світу. AI-модель може запитати у моста щось, а міст знаходить потрібну інформацію або виконує дію та повертає результат назад до AI. Цей міст може бути чим завгодно: інформацією про ціни на авіаквитки, готелі, автоматизацією для вашого розумного будинку – можливості безмежні.
Якщо у вас є певний досвід програмування або ви знаєте, що таке API, то MCP можна вважати API для AI-моделей.
Інструменти для Побудови MCP-Сервера
Для створення MCP-сервера нам знадобляться певні інструменти. У цьому прикладі я використовую курсор (Cursor). Я намагався зробити це з lovable, але ці інструменти створені для написання, як-от для додатків і веб-сайтів, а не для MCP-сервера.
Cursor – це інструмент для спільного програмування зі штучним інтелектом. Він дає змогу писати код швидше й ефективніше, пропонуючи підказки, автозавершення та інші корисні функції.
GitHub – це хмарне сховище для коду, написаного вами та вашим AI. Це безкоштовний інструмент, який слугує мостом між вашим комп’ютером і вашими розробками, роблячи їх доступними для всього світу.
Створення MCP-Сервера для Отримання Цін на Криптовалюти
У цьому прикладі ми створимо MCP-сервер, який матиме доступ до актуальних цін на криптовалюти. Це простий приклад, який дозволяє отримати дані з будь-якого веб-сайту та передати їх назад в AI.
Припустимо, вам потрібно отримати ціну з певного веб-сайту, наприклад, CoinGecko. Це може здатися складним, але не хвилюйтеся, це не так страшно, як здається.
-
Перегляд Коду Сторінки: Щоб отримати ціну з веб-сайту, потрібно переглянути код веб-сторінки. Для цього клікніть правою кнопкою миші на веб-сторінці та виберіть “View Page Source” (Переглянути код сторінки).
-
Пошук у Коді: У коді сторінки знайдіть інформацію про ціну. Часто великі веб-сайти розміщують інформацію в заголовках. У цьому прикладі знаходимо блок коду, який містить потрібну інформацію про ціну. Цей блок має тип
application/ld+json
, що є схемою для пошукових систем та інших інструментів автоматизації, щоб вони могли зчитувати інформацію з веб-сайту. -
Використання Cursor: Відкрийте Cursor і створіть новий проєкт. Почніть із простого запиту: “Створити мінімальний MCP-сервер, який AI-моделі можуть використовувати для отримання цін на криптовалюти з веб-сайту CoinGecko.”
-
Надання Додаткової Інформації: Щоб Cursor працював ефективніше, надайте йому більше інформації. Перейдіть на веб-сайт npmjs.com і знайдіть пакет (package) для model context protocol. Скопіюйте версію пакета та додайте її в запит до Cursor. Це допоможе Cursor використовувати останню версію коду.
Також надайте Cursor приклад коду, який він зможе використовувати для отримання цін з CoinGecko. Це дасть змогу AI краще зрозуміти, де саме шукати інформацію.
-
Уникайте Зайвої Креативності: Cursor може намагатися додати додаткові функції, які ви не просили. Щоб цього уникнути, напишіть щось на кшталт “Тримайся простоти. Не відволікайся.” Це допоможе Cursor зосередитися на поставленому завданні.
Використання Бібліотеки model-context-protocol
Бібліотека model-context-protocol
– це SDK (Software Development Kit), набір інструментів для розробки, який значно полегшує створення MCP-серверів та клієнтів. Вона містить попередньо написаний код, який можна використовувати повторно, що економить час і зусилля.
Використання цієї бібліотеки дає змогу:
- Спростити розробку: Замість того, щоб писати весь код з нуля, ви можете використовувати готові компоненти з бібліотеки.
- Забезпечити сумісність: Бібліотека розроблена відповідно до специфікацій MCP, що гарантує сумісність з іншими MCP-сумісними системами.
- Прискорити розробку: Використання попередньо написаного коду значно скорочує час, необхідний для створення MCP-сервера або клієнта.
Щоб використати бібліотеку, потрібно встановити її у свій проєкт за допомогою npm (Node Package Manager) або yarn. Після цього ви зможете імпортувати необхідні компоненти та використовувати їх у своєму коді.
Створення Клієнта для Тестування MCP-Сервера
Щоб перевірити, чи працює MCP-сервер, потрібно створити клієнта. Клієнт – це програма, яка надсилає запити до MCP-сервера та отримує відповіді.
- Пошук Прикладу Коду: На веб-сайті npmjs.com знайдіть приклад коду для створення MCP-клієнта з використанням бібліотеки
model-context-protocol
. - Використання Cursor: Скопіюйте приклад коду та вставте його в Cursor. Попросіть Cursor створити тестового клієнта, який використовує ваш MCP-сервер для отримання цін на криптовалюти.
- Виправлення Помилок: Можливо, вам доведеться виправити деякі помилки в коді, створеному Cursor. Наприклад, coin gecko може блокувати запити з певними заголовками. Спробуйте спростити заголовки, щоб обійти це обмеження.
Тестування MCP-Сервера
Після створення клієнта ви можете перевірити, чи працює ваш MCP-сервер. Запустіть клієнта та переконайтеся, що він правильно отримує ціни на криптовалюти з CoinGecko.
Якщо ви отримуєте помилки, перевірте код сервера та клієнта. Переконайтеся, що ви правильно налаштували заголовки та що CoinGecko не блокує ваші запити.
Запуск MCP-Сервера в Cursor
Щоб використовувати MCP-сервер в Cursor, потрібно додати його до налаштування Cursor.
- Відкрийте Налаштування Cursor: Перейдіть до налаштування Cursor і знайдіть розділ “MCP”.
- Додати Новий Сервер: Додайте новий глобальний MCP-сервер. Вкажіть назву сервера, команду для запуску (наприклад,
node index.js
) і шлях до головного файлу вашого сервера. - Перевірка Працездатності: Переконайтеся, що сервер додано та що поруч із ним відображається зелена крапка.
Використання MCP-Сервера в Cursor
Тепер ви можете використовувати свій MCP-сервер в Cursor. Створіть новий чат і запитайте ціну на криптовалюту, використовуючи свій MCP-сервер. Наприклад, ви можете запитати: “Яка поточна ціна Ethereum?”
Cursor звернеться до вашого MCP-сервера, який отримає ціну з CoinGecko і поверне її в чат.
Висновок
Вітаю! Ви щойно створили свій перший MCP-сервер. Це відкриває безліч можливостей для інтеграції AI з різними джерелами даних і сервісами. Тепер ви можете створити AI-асистентів, які можуть отримувати інформацію в режимі реального часу, автоматизувати рутинні завдання та багато іншого.
MCP-сервери – це потужний інструмент, який може допомогти вам розширити можливості AI. Сподіваюсь, ця стаття була корисною для вас. Тепер ви знаєте, як їх будувати самостійно. Удачі в кодуванні!