Techsy
Контакти
Розпочати
Назад до блогу
ai-machine-learning

Model Context Protocol: Створіть свій перший MCP-сервер вже сьогодні

Автор Mert Batur Gürbüz
Mar 17, 2026
18 хв на читання
Зміст
Model Context Protocol: Створіть свій перший MCP-сервер вже сьогодні

Model Context Protocol (MCP) — це відкритий стандарт, який надає моделям штучного інтелекту універсальний спосіб підключення до зовнішніх інструментів, джерел даних та сервісів. Замість того щоб писати власний код інтеграції для кожної комбінації «модель-інструмент», ви створюєте один MCP-сервер, і будь-яка сумісна модель може його використовувати. Anthropic створила MCP наприкінці 2024 року, зараз ним керує Linux Foundation, а OpenAI, Google та решта екосистеми агентного ШІ вже прийняли цей стандарт. Ось усе, що вам потрібно знати, щоб зрозуміти, створити та розгорнути MCP.

MCP у двох словах

Якщо ви хочете отримати коротку версію перед тим, як зануритися в 6000 слів деталей, ось вона.

АтрибутДеталі
Повна назваModel Context Protocol (MCP)
СтвореноAnthropic (листопад 2024), зараз керується Linux Foundation / AAIF (грудень 2025)
Що робитьУніверсальний стандарт для підключення моделей ШІ до інструментів, даних та сервісів
Яку проблему вирішуєУсуває необхідність у M x N власних інтеграціях, ніби USB-C для ШІ
Базові примітивиІнструменти (Tools), Ресурси (Resources), Промпти (Prompts) та Семплінг (Sampling)
Транспортstdio (локальна розробка), Streamable HTTP (продакшн)
АутентифікаціяOAuth 2.1 (обов’язково для HTTP-транспорту)
SDKPython (FastMCP), TypeScript, Java, Kotlin, C#
Розмір екосистемиПонад 10 000 активних серверів (за даними Linux Foundation, грудень 2025)
Основні користувачіClaude, ChatGPT, Gemini, Cursor, VS Code Copilot, Windsurf
Статус специфікаціїВідкритий стандарт, активно розвивається (дорожня карта 2026 року в процесі)
Найкраще підходить дляАгентів ШІ, яким потрібно взаємодіяти з реальними інструментами та даними

Тепер давайте розберемо кожен із цих пунктів, починаючи з того, що таке MCP насправді, та проблеми, яка зробила його необхідним.

Що таке Model Context Protocol?

Model Context Protocol — це відкритий протокол на основі JSON-RPC, який стандартизує те, як моделі ШІ виявляють та взаємодіють із зовнішніми інструментами та даними. Уявіть собі HTTP для інтеграцій ШІ: спільну мову, якою можуть говорити будь-яка модель і будь-який інструмент.

Ви, ймовірно, чули аналогію з USB-C, і вона корисна до певної межі: до появи USB-C кожному пристрою потрібен був власний кабель. MCP робить те саме для ШІ, але ця аналогія недооцінює його можливості. USB-C передає лише дані та живлення. MCP передає визначення інструментів, шаблони доступу до даних, багаторазові шаблони промптів і навіть дозволяє серверам запитувати завершення від моделі. Це набагато багатший протокол, ніж може здатися з метафори кабелю.

Проблема M x N, яку вирішує MCP

Без MCP підключення M моделей до N інструментів вимагає M x N власних інтеграцій. Скажімо, ви підтримуєте 5 великих мовних моделей (Claude, GPT-4, Gemini, Llama, Mistral) і потребуєте доступу до 10 інструментів (GitHub, Postgres, Slack, Jira тощо). Це 50 унікальних шарів інтеграції, кожен зі своєю аутентифікацією, обробкою помилок та форматуванням даних.

З MCP кожна модель реалізує клієнтський протокол MCP один раз, а кожен інструмент реалізує MCP-сервер один раз. Тепер це 5 + 10 = 15 реалізацій замість 50. Додаєте нову модель? Вона одразу працює з усіма 10 інструментами. Додаєте новий інструмент? Усі 5 моделей можуть його використовувати.

Коротка історія MCP

Anthropic відкрила код MCP у листопаді 2024 року разом із SDK для Python і TypeScript та конекторами для Claude Desktop. Успіх прийшов швидко. OpenAI додала підтримку MCP до ChatGPT у березні 2025 року. Google послідував прикладу для Gemini у квітні 2025 року. До грудня 2025 року Anthropic передала MCP новому Agentic AI Foundation (AAIF) під егідою Linux Foundation, співзаснованому разом із Block та OpenAI, зробивши MCP постачальнико-незалежним стандартом із міжгалузевим управлінням.

Чим MCP НЕ є:

  • Не є моделлю чи фреймворком ШІ (це протокол, як HTTP)
  • Не замінює LangChain або LlamaIndex (це оркестраційні шари; MCP знаходиться нижче за них)
  • Не обмежується Anthropic або Claude (за дизайном він не залежить від конкретної моделі)
  • Не те саме, що виклик функцій (function calling) (про це детальніше в розділі порівняння)

Як працює MCP: Глибоке занурення в архітектуру

У MCP є три ролі, і їх плутанина — найпоширеніша помилка початківців. Давайте чітко розмежуємо їх.

<!-- IMAGE: MCP architecture diagram showing host, client, server roles with real examples like Claude Desktop, GitHub MCP Server, Postgres MCP Server -->

Host, Client і Server: яка різниця?

КомпонентРольПрикладиЩо робить
HostДодаток, з яким взаємодіє користувачClaude Desktop, Cursor, VS CodeНадає інтерфейс, керує екземплярами клієнта
ClientОбробник протоколу всередині хостаВбудований у хост-додатокПідтримує з'єднання 1:1 з одним MCP-сервером
ServerНадає інструменти та дані через MCPСервер GitHub, сервер Postgres, сервер SlackОгортає зовнішні API/дані в MCP-сумісні ендпоінти

Ось конкретний приклад: ви просите Claude Desktop перевірити ваші відкриті pull-запити на GitHub. Claude Desktop виступає хостом. Його вбудований MCP-клієнт відкриває з'єднання з MCP-сервером GitHub. Сервер викликає API GitHub, отримує ваші PR і повертає результати клієнту, який передає їх моделі.

Один хост може запускати кілька клієнтів, кожен із яких підключений до різного сервера. Саме так Claude Desktop може одночасно отримувати доступ до GitHub, вашої бази даних Postgres і Slack — три окремі MCP-сервери, три окремі клієнтські з'єднання, один хост.

Як проходять повідомлення (JSON-RPC 2.0)

Уся комунікація MCP використовує JSON-RPC 2.0, легкий протокол запит/відповідь. Ось як виглядає обмін tools/list «на дроті»:

json
// Client request: "What tools do you have?"
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

// Server response: one tool available
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "inputSchema": {
          "type": "object",
          "properties": {
            "city": { "type": "string" }
          },
          "required": ["city"]
        }
      }
    ]
  }
}

Модель читає ці визначення інструментів, вирішує, коли їх викликати на основі запиту користувача, а клієнт надсилає назад серверу запит tools/call з відповідними аргументами.

Життєвий цикл з'єднання

Кожна сесія MCP дотримується одного життєвого циклу:

  1. Ініціалізація: клієнт надсилає свої можливості, сервер відповідає своїми
  2. Узгодження можливостей: обидві сторони погоджують підтримувані функції (інструменти, ресурси, промпти, семплінг)
  3. Готовність: з'єднання активне; запити течуть в обох напрямках
  4. Запити/відповіді: tools/call, resources/read тощо
  5. Завершення: чисте відключення

Це рукостискання забезпечує пряму сумісність. Якщо сервер додає новий примітив, старіші клієнти просто ігнорують його, а не падають.

Примітиви MCP: Інструменти, Ресурси, Промпти та Семплінг

MCP визначає чотири примітиви, і розуміння того, хто контролює кожен із них, є ключем до проектування хороших MCP-серверів.

ПримітивХто контролюєНапрямокПрикладВаріант використання
Інструменти (Tools)Модель вирішує, коли викликатиКлієнт -> Серверcreate_github_issueДії, які ШІ виконує автономно
Ресурси (Resources)Додаток/користувач обираєКлієнт -> Серверfile://project/README.mdДані, долучені до контексту
Промпти (Prompts)Користувач запускаєКлієнт -> СерверШаблон code_reviewБагаторазові шаблони взаємодії
Семплінг (Sampling)Сервер запитує завершенняСервер -> КлієнтСервер просить модель підсумуватиАгентні цикли, де сервер використовує LLM

Інструменти (під контролем моделі)

Інструменти — це функції, які може викликати модель. Сервер оголошує їх із назвою, описом та визначенням вхідних даних у форматі JSON Schema. Модель читає ці визначення, і коли запит користувача цього вимагає, модель вирішує викликати інструмент.

json
// Client sends tools/call request
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": { "city": "Berlin" }
  }
}

Якщо ви використовували виклик функцій від OpenAI, інструменти здадуться знайомими, але вони стандартизовані для кожної MCP-сумісної моделі.

Ресурси (під контролем додатка)

Ресурси — це ендпоінти даних тільки для читання. На відміну від інструментів, модель не вирішує самостійно отримати ресурс; хост-додаток або користувач явно додають ресурси до контексту розмови. Уявіть їх як GET-ендпоінти: postgres://mydb/users/schema, file://docs/api-reference.md.

Ресурси підтримують підписки через resources/subscribe, тому клієнт може отримувати сповіщення про зміни даних.

Промпти (під контролем користувача)

Промпти — це багаторазові шаблони, які надає MCP-сервер. Промпт code_review може приймати шлях до файлу та генерувати структурований запит на перевірку коду. Користувач (або інтерфейс хоста) явно запускає промпти; модель не викликає їх автоматично.

Семплінг (ініційований сервером), просунутий рівень

Ось примітив, який пропускає більшість посібників. Семплінг дозволяє серверу просити клієнта згенерувати завершення за допомогою LLM. Це перевертає звичайний потік: замість того щоб модель викликала інструмент, інструмент викликає модель.

Навіщо? Для агентних циклів. Уявіть MCP-сервер, який обробляє тікети підтримки. Він читає тікет (ресурс), використовує sampling/createMessage, щоб попросити модель зробити підсумок, а потім використовує цей підсумок для маршрутизації тікета через інструмент. Сервер оркеструє багатокроковий робочий процес, використовуючи інтелект моделі.

Семплінг контролюється хост-додатком: користувач повинен його схвалити, а хост контролює, що саме сервер може запитувати. Це запобігає нескінченним циклам і зберігає людський контроль.

Створіть свій перший MCP-сервер: Python і TypeScript поруч

Досить теорії. Давайте створимо робочий MCP-сервер, який надає інструмент get_weather. Я покажу варіанти і для Python, і для TypeScript, щоб ви могли порівняти досвід розробника та обрати стек, який підходить вашему проєкту.

Python з FastMCP

FastMCP — це офіційний високоуровневий SDK для Python. Він бере на себе всю технічну частину протоколу, щоб ви могли зосередитися на логіці свого інструменту.

bash
# Install FastMCP
pip install fastmcp
python
# weather_server.py
from fastmcp import FastMCP

mcp = FastMCP("Weather Server")

@mcp.tool()
def get_weather(city: str) -> str:
    """Get the current weather for a city."""
    # In production, call a real weather API here
    weather_data = {
        "Berlin": "Cloudy, 12°C",
        "Tokyo": "Sunny, 22°C",
        "New York": "Rainy, 8°C",
    }
    return weather_data.get(city, f"No data for {city}")

if __name__ == "__main__":
    mcp.run()

Ось і все — 15 рядків. FastMCP виводить схему вхідних даних інструменту з анотацій типів Python та рядка документації (docstring). Жодного шаблонного коду JSON Schema.

TypeScript з офіційним SDK

TypeScript SDK (@modelcontextprotocol/sdk) дещо більш явний, але дає повний контроль над визначеннями схем.

bash
# Install the SDK and Zod for schema validation
npm install @modelcontextprotocol/sdk zod
typescript
// weather-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "Weather Server",
  version: "1.0.0",
});

server.tool(
  "get_weather",
  "Get the current weather for a city",
  { city: z.string() },
  async ({ city }) => {
    const weatherData: Record<string, string> = {
      Berlin: "Cloudy, 12°C",
      Tokyo: "Sunny, 22°C",
      "New York": "Rainy, 8°C",
    };
    return {
      content: [
        { type: "text", text: weatherData[city] ?? `No data for ${city}` },
      ],
    };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

Версія TypeScript використовує схеми Zod замість анотацій типів і повертає структуровані блоки контенту. Більш багатослівна, але типізація чудова.

Підключення до Claude Desktop

Щоб підключити будь-який із цих серверів до Claude Desktop, додайте його до вашого claude_desktop_config.json:

json
{
  "mcpServers": {
    "weather-python": {
      "command": "python",
      "args": ["weather_server.py"],
      "cwd": "/path/to/your/project"
    },
    "weather-typescript": {
      "command": "npx",
      "args": ["tsx", "weather-server.ts"],
      "cwd": "/path/to/your/project"
    }
  }
}

Перезапустіть Claude Desktop, і обидва weather-сервери з'являться у списку інструментів. Запитайте «Яка погода в Берліні?», і модель автоматично викличе ваш інструмент get_weather.

Тестування з MCP Inspector

Перед тим як підключати сервер до хоста, протестуйте його ізольовано за допомогою MCP Inspector:

bash
npx @modelcontextprotocol/inspector python weather_server.py

Inspector відкриває браузерний інтерфейс, де ви можете бачити виявлені інструменти, викликати їх вручну та перевіряти повідомлення JSON-RPC, що ходять туди-сюди. Це найкращий інструмент налагодження в екосистемі MCP, використовуйте його рано і часто.

Транспорти MCP: stdio для розробки, Streamable HTTP для продакшену

Повідомленням MCP потрібен спосіб переміщення між клієнтом і сервером. Це транспортний рівень, і правильний вибір має значення.

ТранспортВаріант використанняПлюсиМінусиСтатус
stdioЛокальна розробка, особисті інструментиНульова конфігурація, простота, швидкістьТільки на одній машиніАктивний
Streamable HTTPПродакшн, віддалені сервери, багато користувачівПрацює через мережу, підтримує потокове передавання через SSE, дружній до statelessПотребує HTTP-сервера, потрібна аутентифікаціяАктивний (специфікація 2025)
HTTP+SSE (старий)Застарілий віддалений транспортБув початковим варіантом для віддаленого доступуЗамінено на Streamable HTTPЗастарілий

stdio працює шляхом запуску MCP-сервера як підпроцесу та комунікації через stdin/stdout. Саме це ви використовували у наведеному вище туторіалі: жодних портів, жодного TLS, жодної аутентифікації. Ідеально для розробки та локальних інструментів для одного користувача.

Streamable HTTP — це транспорт для продакшену, доданий у оновленні специфікації 2025 року. Клієнти надсилають стандартні HTTP POST-запити на сервер. Сервер може відповідати синхронно або відкривати SSE-потік для довших операцій. Він дружній до stateless-архітектури, працює за балансировщиками навантаження та підтримує стандартну HTTP-аутентифікацію.

Якщо ви бачите старі туторіали, де згадується «HTTP+SSE» як два окремі транспорти (один для надсилання, інший для отримання), це застарілий підхід. Streamable HTTP об'єднує обидва в єдиний, чистіший механізм.

Рішення очевидне: використовуйте stdio під час локальної розробки, перемикайтеся на streamable-http при розгортанні для інших.

typescript
// Switching from stdio to Streamable HTTP in TypeScript
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";

const transport = new StreamableHTTPServerTransport({ port: 3001 });
await server.connect(transport);

MCP проти Function Calling проти REST API: коли що використовувати

Це питання виникає в кожній дискусії про MCP, тому давайте вирішимо його прямим порівнянням.

ФункціяMCPFunction CallingREST API
СтандартизаціяВідкритий протокол, незалежний від моделіЗалежить від постачальника (OpenAI, Anthropic мають свої власні)Універсальна
Виявлення інструментівВбудоване (tools/list)Відсутнє, ви надсилаєте схеми з кожним запитомВідсутнє, потрібна документація або специфікація OpenAPI
Доступ до данихПримітив ResourcesНе підтримуєтьсяСтандартні ендпоінти
Шаблони промптівПримітив PromptsНе підтримуєтьсяНе застосовується
АутентифікаціяOAuth 2.1 (на рівні специфікації)API-ключ постачальникаРізне (API-ключі, OAuth тощо)
Потокове передаванняSSE через Streamable HTTPЗалежить від постачальникаРізне
БагатомодельністьПрацює з будь-якою MCP-сумісною моделлюПрив'язано до API одного постачальникаНезалежно від моделі (з допоміжним кодом)
Екосистема серверівПонад 10 000 готових серверівН/ДМільйони API
Складність налаштуванняЗапуск MCP-сервераНадсилання JSON у API-викликуHTTP-клієнт
Найкраще дляСередовища агентів з кількома моделями та інструментамиПрості додатки з однією моделлю та кількома інструментамиКомунікація між сервісами

Коли достатньо Function Calling

Якщо у вас менше 5 інструментів і ви використовуєте одну модель, function calling простіший. Ви визначаєте схеми інструментів inline з кожним API-викликом, модель повертає назву функції та аргументи, і ви виконуєте їх у коді свого додатка. Жодного сервера для запуску, жодного протоколу для вивчення. Для чат-бота, який перевіряє статус замовлення та шукає відповіді в FAQ, function calling цілком підходить.

Коли MCP стає виправданим

MCP окупає свою складність, коли:

  • Ви підтримуєте кілька LLM і не хочете переписувати визначення інструментів для кожного постачальника
  • Вам потрібне виявлення інструментів, щоб модель могла запитувати, що доступно, замість того щоб ви жорстко кодували схеми
  • Ви хочете мати ресурси та промпти, а не лише виклики інструментів
  • Ви створюєте агентів ШІ, які координуються автономно і потребуєте стандартизованого шару інтеграції
  • Ваша команда зростає, і різні інженери створюють різні інструменти; MCP дозволяє їм працювати незалежно

Вердикт: MCP виграє, коли вам потрібен стандартизований доступ до інструментів для кількох моделей. Function calling виграє для простих випадків використання з однією моделлю. REST API залишаються правильним вибором для традиційної комунікації між сервісами, яка не залучає LLM.

Екосистема MCP у 2026 році: хто підтримує і що доступно

MCP перетворився з побічного проєкту Anthropic на галузевий стандарт менш ніж за 18 місяців. Ось поточний стан справ.

Які LLM підтримують MCP?

LLMПідтримка MCPЗ колиПримітки
ClaudeНативна, повна підтримкаЛистопад 2024Створила MCP; найглибша інтеграція
ChatGPTОфіційна підтримкаБерезень 2025Через інтеграцію MCP від OpenAI
GeminiОфіційна підтримкаКвітень 2025Сервери Google Cloud MCP для сервісів Google
Llama / Open-SourceЧерез адаптери2025LangChain, LlamaIndex та власні адаптери
Copilot (VS Code)Нативно в режимі агента2025Microsoft постачає підтримку MCP у VS Code

Популярні MCP-сервери, які варто знати

КатегоріяСерверЩо робить
КодGitHubPR, issues, репозиторії, пошук коду
КодGitLabMerge requests, пайплайни, управління проєктами
База данихPostgreSQLПеревірка схеми, виконання запитів
База данихMySQLДоступ до запитів та схеми
SaaSSlackПовідомлення каналів, пошук, сповіщення
SaaSGoogle DriveДоступ до файлів, пошук, читання документів
SaaSNotionЧитання сторінок, запити до баз даних
ПошукBrave SearchРезультати веб-пошуку
DevOpsDockerУправління контейнерами
ІнфраструктураAWSУправління хмарними ресурсами

Оголошення AAIF від Linux Foundation цитувало понад 10 000 активних серверів і 97 мільйонів щомісячних завантажень SDK на момент передачі MCP у грудні 2025 року. Екосистема більше не експериментальна, вона готова до продакшену.

MCP Apps — це новий примітив, представлений у січні 2026 року. Він дозволяє серверам надавати інтерактивні UI-компоненти, які відображаються всередині хост-додатка. Ще рано, але це сигналізує про еволюцію MCP від протоколу даних до повноцінного фреймворку для агентних додатків. За цим варто стежити.

Управління: від Anthropic до Linux Foundation

MCP керується Agentic AI Foundation (AAIF) під егідою Linux Foundation, співзаснованою Anthropic, Block та OpenAI. Це важливо для корпоративного впровадження: MCP не прив'язаний до дорожньої карти одного постачальника. Пріоритети дорожньої карти 2026 року включають еволюцію транспорту, комунікацію між агентами (новий примітив «Tasks»), дозрівання управління та готовність для підприємств.

Для команд, які будують продакшн-системи ШІ, фреймворки на кшталт автономного фреймворку агентів ШІ OpenClaw вже інтегруються з MCP-серверами, щоб надати агентам можливості реального світу.

Безпека MCP: OAuth 2.1, загрози та практичний чек-лист

Безпека — це область, де екосистема MCP має найбільше роботи. І цифри малюють чітку картину.

Проблема 88%: чому більшість MCP-серверів небезпечні

Astrix Security проаналізувала понад 5200 реалізацій MCP-серверів з відкритим кодом і виявила, що 88% потребують якихось облікових даних, але 53% покладаються на небезпечні довготривалі статичні секрети, такі як API-ключі та персональні токени доступу, жорстко закодовані у конфігураційних файлах. Лише 8,5% реалізують OAuth.

Це означає, що переважна більшість MCP-серверів у дикій природі використовує аутентифікацію, еквівалентну приклеюванню ключа від дому скотчем до вхідних дверей.

OAuth 2.1 для MCP-серверів

Специфікація MCP вимагає OAuth 2.1 для всіх серверів на основі HTTP станом на оновлення червня 2025 року. Потік працює так: MCP-клієнт ініціює потік авторизації OAuth 2.1 із сервером, отримує токен доступу з обмеженою областю дій (scoped access token) і включає його в кожен наступний запит. PKCE (Proof Key for Code Exchange) є обов'язковим для всіх клієнтів, без винятків.

Якщо ви будуєте MCP-сервер, який працює через Streamable HTTP, OAuth 2.1 не є опціональним. Це вимога специфікації.

Модель загроз: що може піти не так

Чотири загрози заслуговують на увагу в будь-якому розгортанні MCP:

  • Ін'єкція промптів через інструменти: шкідливе або компрометоване джерело даних повертає контент, призначений для маніпулювання моделлю. Якщо інструмент завантажує веб-сторінку, і ця сторінка містить приховані інструкції, модель може їх виконати.
  • Атака «плутанини заступника» (Confused deputy): модель викликає інструмент із ширшими правами доступу, ніж передбачав користувач. Якщо MCP-сервер має адміністративний доступ до бази даних, модель теоретично може видалити таблицю.
  • Ризик концентрації токенів: MCP-сервер, який зберігає API-ключі для GitHub, Slack та вашої продакшн-бази даних, є єдиною ціллю з високою цінністю. Компрометація одного сервера означає компрометацію всього, до чого він підключений.
  • Небезпечний транспорт: Запуск HTTP MCP-сервера без TLS залишає кожен запит, включаючи токени OAuth та чутливі дані, відкритим у plaintext.

Чек-лист безпеки для продакшн MCP

  1. Реалізуйте OAuth 2.1 для будь-якого сервера, доступного через HTTP. Жодних статичних API-ключів у конфігураційних файлах.
  2. Застосовуйте принцип найменших привілеїв. Якщо ваш інструмент лише читає дані, облікові дані сервера мають бути лише для читання. Не надавайте інструменту звітності права на запис.
  3. Ізолюйте облікові дані. Кожен MCP-сервер повинен мати власні токени з обмеженою областю дій. Не діліть єдиний «god token» між серверами.
  4. Вимагайте TLS скрізь. Streamable HTTP без HTTPS — це автоматичне «ні» для продакшену.
  5. Валідуйте та санітизуйте вивід інструментів. Ставтеся до даних, повернутих інструментами, так само, як до введення користувача, не довіряйте їм сліпо.
  6. Обмежуйте частоту викликів інструментів. Агентний цикл, що вийшов з-під контролю і викликає інструмент тисячі разів, може вичерпати квоти API або спричинити небажані побічні ефекти.
  7. Аудитуйте та логуйте кожен виклик інструменту. Включайте ID запитів, часові мітки, модель, що викликає, та аргументи інструменту. Це знадобиться для налагодження та реагування на інциденти безпеки.

Налашгодження MCP: Inspector, логування та поширені помилки

Ви зіткнетеся з помилками. Кожен розробник стикається. Ось як виправити їх швидко.

MCP Inspector — це офіційний інструмент налагодження та ваша перша лінія оборони. Він підключається до будь-якого MCP-сервера, виявляє його інструменти/ресурси/промпти та дозволяє викликати їх вручну, показуючи сирий трафік JSON-RPC.

bash
# Launch Inspector against your Python server
npx @modelcontextprotocol/inspector python weather_server.py

# Or against a TypeScript server
npx @modelcontextprotocol/inspector npx tsx weather-server.ts

Inspector відкриває браузерний інтерфейс із вкладками для Tools, Resources, Prompts та панеллю сповіщень. Ви можете викликати будь-який інструмент із власними аргументами та бачити точно, який JSON йде «по дроту». Використовуйте його перед підключенням до хост-додатка, налагоджувати сервер ізольовано набагато простіше.

Поширені помилки та виправлення

  • «Server not found» у Claude Desktop: майже завжди проблема зі шляхом у claude_desktop_config.json. Перевірте, чи command вказує на реальний бінарний файл, а cwd — на правильний каталог. На macOS використовуйте абсолютні шляхи.
  • Помилки валідації схеми інструменту: якщо модель надсилає аргументи, які не відповідають inputSchema інструменту, сервер відхиляє виклик. Переконайтеся, що типи вашої схеми відповідають очікуванням моделі. Zod (TypeScript) та анотації типів (Python) ловлять більшість із них ще на етапі визначення.
  • Обриви транспортного з'єднання: для stdio це зазвичай означає, що процес сервера впав. Перевірте вивід stderr. Для Streamable HTTP перевірте налаштування тайм-аутів; інструменти, що виконуються довго, можуть перевищувати стандартні HTTP-тайм-аути.
  • «Permission denied» або помилки 401: занадто вузька область дій OAuth. Сервер відхиляє токен, оскільки він не має необхідних дозволів. Розширте область дій, але лише настільки, наскільки це дійсно потрібно інструменту.

Найкращі практики логування

Структуруйте свої логи з ID запитів, щоб можна було простежити один запит користувача через MCP-клієнт, сервер та будь-які downstream API. Логуйте кожен виклик tools/call із назвою інструменту, аргументами, часом відповіді та статусом результату. У продакшені відправляйте ці логи на платформу спостережуваності; коли щось піде не так о 3 годині ночі, ви будете вдячні собі за це.

Як Techsy будує з MCP

Ми інтегруємо MCP у клієнтські проєкти з початку 2025 року, і шаблон, який ми бачимо найчастіше, такий: команда має функцію ШІ, яка працює з однією моделлю та кількома інструментами, але планує масштабуватися — більше моделей, більше джерел даних, більше можливостей агентів. Це точка перегину, де MCP починає окупатися.

Наш підхід складається з трьох кроків:

  1. Оцінка придатності. Не кожному проєкту потрібен MCP. Якщо ви викликаєте два інструменти з однієї моделі, function calling простіший, і ми скажемо вам про це. MCP має сенс, коли ви підключаєте 3+ джерела даних, підтримуєте кілька моделей або будуєте агентні робочі процеси, де інструменти мають бути виявлюваними.
  2. Створення та тестування серверів ізольовано. Ми розробляємо власні MCP-сервери для кожного джерела даних (внутрішні бази даних, SaaS API, власні сервіси) та перевіряємо їх за допомогою MCP Inspector перед підключенням до будь-якого хоста.
  3. Розгортання з Streamable HTTP та OAuth 2.1. Для продакшену ми запускаємо MCP-сервери як контейнеризовані сервіси за TLS, зі скоупленими OAuth-токенами та структурованим логуванням з першого дня. Жодних статичних секретів.

Найпоширеніші інтеграції, які ми будуємо: підключення асистентів ШІ до внутрішніх баз даних Postgres, створення власних MCP-серверів для SaaS-платформ клієнтів та міграція команд із розрізнених налаштувань function calling на стандартизовану архітектуру MCP.

Будуєте інструменти на основі ШІ, яким потрібно підключатися до вашої інфраструктури? Ми допомагаємо командам проектувати та впроваджувати інтеграції MCP. Отримайте безкоштовну консультацію

Часті запитання про MCP

Що таке Model Context Protocol (MCP)?

MCP — це відкритий стандарт, спочатку створений Anthropic, а зараз керований Linux Foundation, який визначає, як моделі ШІ підключаються до зовнішніх інструментів, джерел даних та сервісів. Він стандартизує шар інтеграції, щоб один MCP-сервер працював із будь-якою сумісною моделлю, ніби універсальна розетка для ШІ.

Як працює MCP?

MCP використовує трикомпонентну архітектуру: хост-додаток (наприклад, Claude Desktop або Cursor), MCP-клієнт всередині хоста, який керує з'єднаннями, та MCP-сервери, які надають інструменти та дані. Уся комунікація використовує повідомлення JSON-RPC 2.0 через stdio (локально) або Streamable HTTP (віддалено).

Для чого використовується MCP?

Поширені варіанти використання включають підключення асистентів ШІ до баз даних (Postgres, MySQL), інтеграцію з платформами коду (GitHub, GitLab), доступ до SaaS-інструментів (Slack, Notion, Google Drive) та створення автономних агентів ШІ, яким потрібно взаємодіяти з реальними сервісами.

Чи є MCP тим самим, що й function calling?

Ні. Function calling залежить від конкретної моделі (формат OpenAI відрізняється від формату Anthropic) і відбувається за запитом — ви надсилаєте схеми інструментів із кожним API-викликом. MCP — це стандартизований протокол, який працює між моделями, підтримує виявлення інструментів та включає ресурси й промпти, окрім простого виконання функцій.

Що таке MCP-сервери?

MCP-сервери — це програми, які надають інструменти, ресурси та промпти моделям ШІ через протокол MCP. Вони огортають зовнішні API та джерела даних у стандартизований інтерфейс. Приклади включають сервер GitHub MCP (для управління PR та issue) та сервер Postgres MCP (для запитів до бази даних).

Як створити MCP-сервер?

Використовуйте Python з FastMCP (pip install fastmcp) або TypeScript з офіційним SDK (npm install @modelcontextprotocol/sdk). Визначте свої інструменти як декоровані функції (Python) або зареєстровані обробники (TypeScript), а потім запустіть сервер. Дивіться розділ туторіалу вище для повного робочого коду або слідуйте нашому покроковому посібнику зі створення MCP-сервера з нуля для детального walkthrough.

Чи безпечний MCP?

Сам протокол підтримує OAuth 2.1 для аутентифікації та скоуплені дозволи. Однак дослідження Astrix Security виявило, що 88% існуючих реалізацій MCP-серверів покладаються на статичні секрети, а не на OAuth. Протокол безпечний за дизайном, але більшість реальних розгортань ще не встигли за ним.

Які LLM підтримують MCP?

Claude має нативну підтримку MCP з моменту його створення в листопаді 2024 року. ChatGPT додав підтримку в березні 2025 року, а Gemini — у квітні 2025 року. Моделі з відкритим кодом можуть використовувати MCP через адаптери в LangChain та LlamaIndex.

Яка різниця між MCP та REST API?

REST API призначені для загальної комунікації між сервісами. MCP спеціально розроблений для взаємодії з моделями ШІ; він включає виявлення інструментів, узгодження схем, доступ до ресурсів та шаблони промптів, яких немає в REST. Ви не замінюватимете свої REST API на MCP; вони служать різним шарам.

Хто зараз підтримує MCP?

Agentic AI Foundation (AAIF) Linux Foundation, створена в грудні 2025 року, керує MCP. Її співзасновниками є Anthropic, Block та OpenAI. Це постачальнико-незалежне управління є ключовою причиною впровадження MCP підприємствами.

Що таке Streamable HTTP у MCP?

Streamable HTTP — це транспортний механізм для продакшену, доданий у оновленні специфікації MCP 2025 року. Він замінює старий транспорт HTTP+SSE чистішим дизайном: клієнти надсилають HTTP POST-запити, а сервери можуть відповідати синхронно або через потокове передавання SSE. Він працює за балансировщиками навантаження та підтримує стандартну HTTP-аутентифікацію.

Скільки існує MCP-серверів?

Linux Foundation цитувала понад 10 000 активних серверів і 97 мільйонів щомісячних завантажень SDK, коли MCP було передано AAIF у грудні 2025 року. Екосистема охоплює бази даних, інструменти для коду, SaaS-інтеграції, пошукові системи та постачальників хмарної інфраструктури.

Висновок

MCP пройшов шлях від експерименту з відкритим кодом від Anthropic до галузевого стандартного протоколу для підключення моделей ШІ до інструментів трохи більше ніж за рік. Ось що важливо:

  • MCP вирішує проблему M x N: один сервер працює з кожною сумісною моделлю, один клієнт працює з кожним сервером
  • Ви можете створити робочий MCP-сервер менш ніж за 50 рядків коду на Python (FastMCP) або TypeScript
  • Використовуйте stdio для розробки, Streamable HTTP для продакшену: вибір транспорту очевидний
  • Захищайте свої сервери за допомогою OAuth 2.1: 88% поточних реалізацій цього не роблять, і це реальний ризик
  • Екосистема готова до продакшену: понад 10 000 серверів, усі основні LLM, постачальнико-незалежне управління під егідою Linux Foundation

Глянувши вперед, дорожня карта 2026 року зосереджена на комунікації між агентами через новий примітив Tasks, посиленій корпоративній безпеці та MCP Apps для інтерактивного UI, керованого сервером. MCP більше не просто протокол для доступу до інструментів, він стає інфраструктурним шаром для агентного ШІ.

Почніть із коду туторіалу вище, протестуйте його в MCP Inspector і підключіть до Claude Desktop. Ви отримаєте робочу інтеграцію MCP менш ніж за годину.

Джерела

  • Специфікація MCP (2025-11-25)
  • Специфікація авторизації MCP
  • Специфікація транспортів MCP
  • Документація MCP Inspector
  • Представлення Model Context Protocol, Anthropic
  • Передача MCP Linux Foundation, Anthropic
  • Оголошення Linux Foundation про AAIF
  • Підтримка MCP Google Cloud
  • Python SDK FastMCP
  • TypeScript SDK MCP
  • Astrix Security: Стан безпеки MCP-серверів 2025
  • Дорожня карта MCP 2026

Теги

model context protocolmcpmcp serverai agentsmcp tutorialmcp architecturefastmcpai development

Поділилися статтею

Схожі статті

Більше у категорії ai-machine-learning

ai-machine-learning
Jul 24, 2026

Claude Opus 5 вже тут: інтелект рівня Fable 5 за пів ціни

Anthropic випустив Claude Opus 5 24 липня 2026 року. На Frontier-Bench він більш ніж удвічі перевершує Opus 4.8 і зберігає ціну Opus, але поступається Fable 5 та Mythos 5 у кількох тестах. Ось таблиця бенчмарків, ціни та рекомендація: перейти / почекати / залишитися.

10 min read хв на читання
Читати
ai-machine-learning
Jul 20, 2026

8 найкращих AI API для веб-скрапінгу у 2026 (перевірено на нашому агент-стеку)

Ми протестували 8 AI API для веб-скрапінгу з реальними цінами 2026 року, отриманими через наш власний агент-стек. Firecrawl, Bright Data, ScrapingBee та ще 5 — за готовністю виводу для LLM, антибот-захистом і підтримкою MCP.

9 min read хв на читання
Читати
ai-machine-learning
Jul 20, 2026

Інжиніринг промптів для кодування: 7 шаблонів, які ми щодня використовуємо в Claude Code та Cursor (2026)

Більшість статей про «промпти для AI-кодування» просто дають вам 50 шаблонів для копіювання. Ця стаття навчає 7 шаблонам, які ми використовуємо щодня для керування пайплайном із 16 агентів у Claude Code, із реальними прикладами «до» і «після» для кожного, а також пояснює, де кожен шаблон застосовується в Claude Code, Cursor і Copilot у 2026 році.

11 min read хв на читання
Читати
Переглянути всі публікації
Розпочати проєкт

Готові створити щось щось надзвичайне?

Втілимо ваше бачення в реальність. Наша команда готова допомогти вам створити програмне забезпечення, яке справді має значення.

Записатись на 30-хвилинну дзвінокНаші проєкти

З бібліотеки

Навички Claude

Переглянути всі
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI-автоматизації

Переглянути всі
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

З бібліотеки

Навички Claude

Переглянути всі
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI-автоматизації

Переглянути всі
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Послуги

  • Корпоративні рішення
  • Мобільні додатки
  • Веб-додатки

Рішення

  • CRM-системи
  • Інтеграція ШІ
  • ERP-розв'язання
  • Голосові аґенти
  • Автоматизація процесів
  • кібербезпека

Бібліотека

  • Блог
  • Портфоліо

Спільнота

  • AI-автоматизації
  • Навички Claude

Інструменти

  • Калькулятор вартості мобільного додатка
  • Калькулятор вартості OpenAI / LLM API
  • Калькулятор вартості MVP
  • Калькулятор вартості голосового AI-агента

Компанія

  • Про нас
  • Партнери
  • Контакти

Юридична інформація

  • Політика конфіденційності
  • Умови використання
  • Політика cookie

Послуги

  • Корпоративні рішення
  • Мобільні додатки
  • Веб-додатки

Рішення

  • CRM-системи
  • Інтеграція ШІ
  • ERP-розв'язання
  • Голосові аґенти
  • Автоматизація процесів
  • кібербезпека

Бібліотека

  • Блог
  • Портфоліо

Спільнота

  • AI-автоматизації
  • Навички Claude

Інструменти

  • Калькулятор вартості мобільного додатка
  • Калькулятор вартості OpenAI / LLM API
  • Калькулятор вартості MVP
  • Калькулятор вартості голосового AI-агента

Компанія

  • Про нас
  • Партнери
  • Контакти
Юридична інформаціяПолітика конфіденційностіУмови використанняПолітика cookie
TECHSY
© 2026 Techsy. Усі права захищені.