Редакція Voydevich.com
7 хв читання
MCP (Model Context Protocol) — це відкритий стандарт, який дозволяє AI-застосункам, таким як Claude або ChatGPT, підключатися до зовнішніх систем. Він забезпечує стандартизований спосіб для AI-застосунків отримувати доступ до джерел даних (наприклад, локальних файлів, баз даних), інструментів (наприклад, пошукових систем, калькуляторів) та робочих процесів (наприклад, спеціалізованих підказок), що дозволяє їм отримувати ключову інформацію та виконувати завдання.
Архітектура MCP та ролі учасників
MCP використовує архітектуру клієнт-сервер. У цій архітектурі AI-застосунок, який називається MCP-хостом, встановлює з'єднання з одним або кількома MCP-серверами. MCP-хост створює окремий MCP-клієнт для кожного MCP-сервера, і кожен клієнт підтримує виділене з'єднання зі своїм сервером.
Ключові учасники архітектури MCP:
- MCP-хост: AI-застосунок, який координує та керує одним або кількома MCP-клієнтами. Прикладами є Visual Studio Code або Claude Code.
- MCP-клієнт: Компонент, який підтримує з'єднання з MCP-сервером та отримує контекст від нього для використання MCP-хостом.
- MCP-сервер: Програма, яка надає контекст MCP-клієнтам. MCP-сервери можуть виконуватися локально або віддалено.
Наприклад, Visual Studio Code може виступати як MCP-хост. Коли Visual Studio Code встановлює з'єднання з MCP-сервером, наприклад, Sentry MCP-сервером, середовище виконання Visual Studio Code створює об'єкт MCP-клієнта, який підтримує це з'єднання. Якщо Visual Studio Code потім підключається до іншого MCP-сервера, наприклад, сервера локальної файлової системи, створюється додатковий об'єкт MCP-клієнта для підтримки цього нового з'єднання.
Рівні MCP
MCP складається з двох рівнів:
- Рівень даних: Визначає протокол на основі JSON-RPC для зв'язку клієнт-сервер, включаючи виявлення можливостей та версій, а також основні примітиви, такі як інструменти, ресурси, підказки та сповіщення.
- Транспортний рівень: Визначає механізми та канали зв'язку, які забезпечують обмін даними між клієнтами та серверами, включаючи встановлення з'єднання, формування повідомлень та авторизацію.
Концептуально, рівень даних є внутрішнім, тоді як транспортний рівень є зовнішнім.
Транспортні механізми
MCP підтримує два механізми транспорту:
- Stdio-транспорт: Використовує стандартні потоки введення/виведення для прямого зв'язку між локальними процесами на одній машині, забезпечуючи оптимальну продуктивність без мережевих накладних витрат.
- Streamable HTTP-транспорт: Використовує HTTP POST для повідомлень клієнт-сервер з опціональними Server-Sent Events для можливостей потокової передачі. Цей транспорт дозволяє віддалений зв'язок із сервером та підтримує стандартні методи HTTP-автентифікації, включаючи токени-носії, API-ключі та користувацькі заголовки.
Можливості MCP-сервера для AI-застосунків
MCP-сервери надають функціональність через три основні будівельні блоки, які називаються примітивами:
- Інструменти (Tools): Виконувані функції, які AI-застосунки можуть викликати для виконання дій. Це можуть бути операції з файлами, виклики зовнішніх API, запити до баз даних або запуск іншої логіки. Інструменти є керованими моделлю, тобто AI-моделі можуть автоматично виявляти та викликати їх. Приклади: пошук авіаквитків, надсилання повідомлень, створення подій у календарі.
- Ресурси (Resources): Пасивні джерела даних, які надають доступ лише для читання до інформації для контексту. Це може бути вміст файлів, схеми баз даних або документація API. Ресурси є керованими застосунком, що дає гнучкість у тому, як вони отримують, обробляють та представляють доступний контекст. Приклади: дані календаря, документи для подорожей, попередні маршрути.
- Підказки (Prompts): Заздалегідь створені шаблони інструкцій, які вказують моделі, як працювати з конкретними інструментами та ресурсами. Підказки є керованими користувачем, вимагаючи явного виклику, а не автоматичного спрацьовування. Приклади: "Спланувати відпустку", "Підсумувати мої зустрічі", "Написати електронний лист".
Кожен тип примітивів має пов'язані методи для виявлення (*/list), отримання (*/get), а в деяких випадках і виконання (tools/call).
Обмін повідомленнями в MCP
MCP використовує JSON-RPC 2.0 як базовий протокол RPC. Клієнт і сервери надсилають запити один одному та відповідають відповідно. Сповіщення можуть використовуватися, коли відповідь не потрібна.
Протокол підтримує сповіщення в реальному часі для забезпечення динамічних оновлень між серверами та клієнтами. Наприклад, коли доступні інструменти сервера змінюються, сервер може надсилати сповіщення про оновлення інструментів, щоб інформувати підключених клієнтів про ці зміни. Сповіщення надсилаються як повідомлення JSON-RPC 2.0 без очікування відповіді.
MCP є безстатевим. Кожен запит містить версію протоколу та відповідні метадані у своєму полі _meta, тому сервер може обробляти кожен запит самостійно. Клієнти також повинні ідентифікувати себе в тому ж полі, якщо не налаштовано інакше. Сервери оголошують свої підтримувані версії та можливості через обов'язковий запит server/discover, який клієнти можуть надсилати перед будь-яким іншим запитом.
Де MCP корисний розробнику
MCP надає розробникам значні переваги:
- Зменшення складності: MCP зменшує час та складність розробки при створенні або інтеграції з AI-застосунком чи агентом. Замість підтримки окремих конекторів для кожного джерела даних, розробники можуть створювати рішення на основі єдиного стандартного протоколу.
- Розширення можливостей AI: MCP надає AI-застосункам доступ до екосистеми джерел даних, інструментів та застосунків, що розширює їхні можливості та покращує досвід кінцевого користувача.
- Гнучкість у розробці: MCP-сервери можна писати будь-якою мовою, яка може виводити дані в
stdoutабо обслуговувати HTTP-ендпоінт (наприклад, Python, JavaScript, Go). - Інтеграція з існуючими системами: Завдяки MCP, AI-застосунки можуть безпосередньо взаємодіяти з вашими інструментами, базами даних та API. Наприклад, Claude Code може:
- Реалізовувати функції з трекерів завдань: "Додати функцію, описану в завданні JIRA ENG-4521, та створити PR на GitHub."
- Аналізувати дані моніторингу: "Перевірити Sentry та Statsig, щоб перевірити використання функції, описаної в ENG-4521."
- Запитувати бази даних: "Знайти електронні листи 10 випадкових користувачів, які використовували функцію ENG-4521, на основі нашої бази даних PostgreSQL."
- Інтегрувати дизайни: "Оновити наш стандартний шаблон електронної пошти на основі нових дизайнів Figma, які були опубліковані в Slack."
- Автоматизувати робочі процеси: "Створити чернетки Gmail, запрошуючи цих 10 користувачів на сесію зворотного зв'язку щодо нової функції."
- Реагувати на зовнішні події: MCP-сервер може також діяти як канал, який надсилає повідомлення у вашу сесію, тому Claude реагує на повідомлення Telegram, чати Discord або події вебхуків, поки ви відсутні.
Як підключити MCP-сервер
Підключення MCP-сервера залежить від клієнта (наприклад, Claude Code або Cursor) та типу сервера. Загалом, MCP-сервери можна налаштувати кількома способами:
1. Додавання віддаленого HTTP-сервера
Це рекомендований варіант для підключення до віддалених MCP-серверів, оскільки це найбільш широко підтримуваний транспорт для хмарних сервісів.
- Claude Code: При налаштуванні MCP-серверів через JSON у файлах
.mcp.json,~/.claude.jsonабо за допомогою командиclaude mcp add-json, полеtypeприймаєstreamable-httpяк псевдонім дляhttp. Якщо запис JSON маєurl, але не маєtype, це вважається помилкою конфігурації. - Cursor: Використовуйте
mcp.jsonдля конфігурації. Для віддалених серверів, які використовують OAuth, можна надати статичні облікові дані OAuth-клієнта вmcp.jsonза допомогою об'єктаauth.
2. Додавання віддаленого SSE-сервера
Деякі сервіси все ще надають лише SSE-ендпоінт.
- Claude Code: Додайте їх за допомогою тієї ж команди
claude mcp add --transport http <name> <url>, що й HTTP-сервер. Claude Code спочатку спробує HTTP-транспорт і переключиться на SSE, якщо сервер його не прийме. Для прямого підключення через SSE можна передати--transport sse. - Cursor: Підтримує SSE-транспорт.
3. Додавання локального stdio-сервера
Stdio-сервери працюють як локальні процеси на вашій машині. Вони ідеально підходять для інструментів, яким потрібен прямий доступ до системи або користувацькі скрипти.
- Claude Code: При запуску сервера Claude Code встановлює змінну середовища
CLAUDE_PROJECT_DIRу кореневий каталог проєкту, щоб ваш сервер міг розв'язувати шляхи відносно проєкту. - Cursor: Для stdio-серверів (локальних командних серверів) налаштуйте поля
type(має бути"stdio"),command(команда для запуску виконуваного файлу сервера),args(масив аргументів) таenv(змінні середовища) у вашомуmcp.json.
4. Додавання віддаленого WebSocket-сервера
WebSocket-сервери підтримують постійне двонаправлене з'єднання, що підходить для віддалених MCP-серверів, які надсилають події до Claude без запиту.
- Claude Code: Налаштуйте WebSocket-сервери в
.mcp.jsonабо за допомогоюclaude mcp add-json. Записtype: "ws"приймає ті ж поляurl,headers,headersHelper,timeoutтаalwaysLoad, що й HTTP. Автентифікація здійснюється лише через заголовки. - Cursor: Підтримує WebSocket-транспорт.
Керування серверами
Після налаштування ви можете керувати своїми MCP-серверами за допомогою команд, які надає ваш клієнт. Наприклад, у Claude Code це команди claude mcp list для перегляду статусу серверів, claude mcp get <name> для отримання детальної інформації та claude mcp remove <name> для видалення сервера.
Клієнти також можуть надавати інтерфейси користувача (наприклад, панель /mcp у Claude Code або сторінка "Customize" у Cursor) для керування серверами, їх увімкнення/вимкнення та перегляду статусу.
Часті питання
Що таке Model Context Protocol (MCP)?
Model Context Protocol (MCP) — це відкритий стандарт, який дозволяє AI-застосункам, таким як Claude або ChatGPT, підключатися до зовнішніх систем, джерел даних (файлів, баз даних), інструментів (пошукових систем, калькуляторів) та робочих процесів.
Як працює MCP?
MCP працює за архітектурою клієнт-сервер, де AI-застосунок (MCP-хост) встановлює з'єднання з одним або кількома MCP-серверами. Сервери надають контекст у вигляді інструментів, ресурсів та підказок, а клієнти використовують ці можливості для взаємодії із зовнішніми системами.
Як підключити MCP-сервер?
MCP-сервери можна підключити кількома способами: як віддалений HTTP-сервер, віддалений SSE-сервер, локальний stdio-сервер або віддалений WebSocket-сервер. Конкретні кроки залежать від клієнта (наприклад, Claude Code або Cursor) та типу сервера.
Які можливості надає MCP для AI-застосунків?
MCP надає AI-застосункам доступ до інструментів для виконання дій (наприклад, операції з файлами, API-виклики), ресурсів для отримання контекстних даних (вміст файлів, записи баз даних) та підказок для структурування взаємодії з мовними моделями.
Де MCP корисний розробнику?
Для розробників MCP зменшує час та складність розробки при створенні або інтеграції з AI-застосунком чи агентом, дозволяючи використовувати єдиний протокол для підключення до різних джерел даних та інструментів.
Офіційні джерела · перевірено 26 жовтня 2026
- What is the Model Context Protocol (MCP)? - Model Context Protocol· Model Context Protocol
- Architecture overview - Model Context Protocol· Model Context Protocol
- Understanding MCP servers - Model Context Protocol· Model Context Protocol
- Connect Claude Code to tools via MCP - Claude Code Docs· Claude Code Docs
- Model Context Protocol (MCP) | Cursor Docs· Cursor Documentation
- Introducing the Model Context Protocol
Останні новини на тему
Інші гайди
Як написати промпт для ChatGPT, Claude чи Gemini: повний гайд
Дізнайтеся, що таке промпт та промпт-інжиніринг, з яких частин складається ефективний запит до моделі, а також покрокові техніки та типові помилки для покращення ваших промптів.
Що таке токен в LLM: повний гайд для розробників
Дізнайтеся, що таке токени у великих мовних моделях (LLM), як вони впливають на вартість та ліміти, а також як їх рахувати для оптимізації ваших запитів.
Що таке AI-агент: повний гайд для розробників
Дізнайтеся, що таке AI-агент, як він працює, з чого складається та чим відрізняється від асистента чи чат-бота. Ознайомтеся з типами та прикладами AI-агентів.