MODEL CONTEXT PROTOCOL (MCP)
- [ЧАСТЬ 1: ЧТО ТАКОЕ MCP И ЗАЧЕМ ОН НУЖЕН](#часть-1-что-такое-mcp-и-зачем-он-нужен)
MODEL CONTEXT PROTOCOL (MCP)
📋 Содержание
- ЧАСТЬ 1: ЧТО ТАКОЕ MCP И ЗАЧЕМ ОН НУЖЕН
- 1.1 Проблема до MCP
- 1.2 Что такое MCP
- 1.3 История MCP
- ЧАСТЬ 2: АРХИТЕКТУРА MCP
- 2.1 Три компонента MCP
ЧАСТЬ 1: ЧТО ТАКОЕ MCP И ЗАЧЕМ ОН НУЖЕН
1.1 Проблема до MCP
🤔 Представь такую ситуацию
Ты хочешь подключить AI инструмент к Google Drive.
До появления MCP это выглядело так:
Для подключения Claude к Google Drive
↓
Пишешь свой кастомный код
- OAuth авторизация
- API запросы
- Обработка ошибок
- 200+ строк кода
Для подключения ChatGPT к Google Drive
↓
Пишешь ДРУГОЙ код
- Их API отличается
- Другая структура
- Снова 200+ строк
Для подключения Cursor к Google Drive
↓
Снова новый код!
📊 N × M проблема
Вот что происходило в индустрии:
N моделей × M сервисов = тысячи кастомных интеграций
| Google Drive | Slack | GitHub | PostgreSQL | Notion | |
|---|---|---|---|---|---|
| Claude | Свой код | Свой код | Свой код | Свой код | Свой код |
| GPT | Свой код | Свой код | Свой код | Свой код | Свой код |
| Gemini | Свой код | Свой код | Свой код | Свой код | Свой код |
| Cursor | Свой код | Свой код | Свой код | Свой код | Свой код |
| Codex | Свой код | Свой код | Свой код | Свой код | Свой код |
Результат:
- 🔴 5 AI инструментов × 5 сервисов = 25 разных интеграций
- 🔴 Каждая интеграция = 200+ строк кода
- 🔴 Обновление API = переписывать код везде
- 🔴 Новый сервис = N новых интеграций
💡 Аналогия: Мир до USB
В 1990-е годы каждое устройство имело свой уникальный разъём:
┌─────────────────────────────────────────┐
│ КОМПЬЮТЕР В 1995 ГОДУ │
│ │
│ Клавиатура → PS/2 разъём (круглый) │
│ Мышь → COM порт (9 контактов) │
│ Принтер → LPT порт (25 контактов) │
│ Сканер → SCSI (50 контактов) │
│ Джойстик → Game port (15 контактов)│
│ Модем → Отдельный COM порт │
└─────────────────────────────────────────┘
Проблемы:
❌ Разные драйверы для каждого устройства
❌ Конфликты портов
❌ Сложная настройка
❌ Ограниченное количество портов
Потом появился USB (1996):
┌─────────────────────────────────────────┐
│ КОМПЬЮТЕР С USB │
│ │
│ Все устройства → USB порт (один тип) │
│ │
│ ✅ Клавиатура │
│ ✅ Мышь │
│ ✅ Принтер │
│ ✅ Сканер │
│ ✅ Джойстик │
│ ✅ Флешка │
│ ✅ Камера │
│ ✅ ... любое устройство! │
└─────────────────────────────────────────┘
Результат:
✅ Один стандарт
✅ Plug & play (подключил и работает)
✅ Один драйвер
✅ Работает везде
MCP для AI = то же самое что USB для компьютеров! 🎯
1.2 Что такое MCP
📖 Определение
MCP (Model Context Protocol) = универсальный стандарт для подключения AI к внешним данным и сервисам
🎯 Простыми словами
MCP = единый "USB разъём" для AI инструментов
Вместо того чтобы каждый AI инструмент писал свой код
для подключения к Google Drive, Slack, GitHub...
MCP говорит:
"Все используйте один стандартный способ!"
🔌 Что может подключить MCP?
Файлы и хранилища:
- 📁 Google Drive
- 📦 Dropbox
- 🗂️ Локальная файловая система
- 📝 Notion
- 📄 Confluence
Базы данных:
- 🐘 PostgreSQL
- 🍃 MongoDB
- 🔴 Redis
- 🐬 MySQL
- 📊 SQLite
Коммуникация:
- 💬 Slack
- 📧 Gmail
- 🎮 Discord
Dev Tools:
- 🐙 GitHub
- 🦊 GitLab
- 🎯 Jira
- 📈 Linear
- 🎨 Figma
Облака:
- 🔵 Google Cloud
- 🌐 Cloudflare
И любые другие сервисы с API!
🏗️ Архитектура MCP (высокоуровневая)
┌──────────────────────────────────────────────────────┐
│ AI КЛИЕНТЫ │
│ (используют MCP для подключения к данным) │
├──────────────────────────────────────────────────────┤
│ │
│ 🤖 Claude Code 💻 Cursor 🧠 ChatGPT │
│ 🔮 Windsurf 🎨 Codex 🌐 Gemini │
│ │
└────────────────────┬─────────────────────────────────┘
│
│ MCP Protocol
│ (единый стандарт)
│
┌────────────────┴────────┬────────────┬───────────┐
↓ ↓ ↓ ↓
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Google │ │ Slack │ │ GitHub │ │ Postgres│
│ Drive │ │ │ │ │ │ SQL │
│ │ │ │ │ │ │ │
│ MCP │ │ MCP │ │ MCP │ │ MCP │
│ Server │ │ Server │ │ Server │ │ Server │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
Как это работает:
- AI клиент (например, Claude Code) хочет получить доступ к файлу в Google Drive
- Вместо того чтобы писать кастомный код, он использует MCP Protocol
- MCP сервер Google Drive понимает запрос и отдаёт файл
- Данные возвращаются AI клиенту
Магия: Если завтра появится новый AI инструмент — ему не нужно писать код для всех сервисов! Он просто поддерживает MCP, и всё работает! ✨
🎓 Официальное описание от Anthropic
Model Context Protocol (MCP) — это открытый протокол, который стандартизирует способ подключения AI систем к внешним источникам данных и инструментам.
Ключевые слова:
- 🔓 Открытый — не проприетарный, любой может использовать
- 📏 Стандартизирует — единые правила для всех
- 🔌 Подключение — живая связь с сервисами
- 🌐 Универсальный — работает с любыми AI системами
1.3 История MCP
📅 Timeline развития
ИСТОРИЯ MCP
2021-2023
────────
🔴 Хаос интеграций
Каждая компания пишет свой код для подключения AI к данным
N × M проблема достигает пика
Ноябрь 2024
───────────
🎉 РОЖДЕНИЕ MCP
Anthropic выпускает MCP как open standard
Первые серверы: filesystem, GitHub, Slack
Декабрь 2024
────────────
🚀 Рост экосистемы
- 50+ MCP серверов от community
- 10M+ загрузок SDK
- Поддержка в Claude Desktop и Claude Code
Январь 2025
───────────
🤖 OpenAI присоединяется
Sam Altman в Twitter: "People love MCP. We're adding support."
ChatGPT и Codex начинают поддерживать MCP
Март 2025
─────────
🔵 Google DeepMind анонсирует поддержку
Gemini API получает MCP integration
Google создаёт MCP серверы для Google Workspace
Апрель 2025
───────────
💼 Microsoft входит в игру
GitHub Copilot добавляет MCP
Azure AI Services поддерживают MCP
Декабрь 2025
────────────
🏛️ Linux Foundation
MCP передаётся Linux Foundation (Agentic AI Foundation)
Создан governance board из представителей:
- Anthropic
- OpenAI
- Google
- Microsoft
- IBM
Февраль 2026 (сегодня)
───────────────────────
📈 МАССОВОЕ ПРИНЯТИЕ
- 5,800+ MCP серверов
- 300+ AI клиентов
- 97M+ загрузок SDK ежемесячно
- Стандарт де-факто в индустрии
═════════════════════════════════════════════════════════
🎯 Почему MCP победил?
3 ключевые причины:
1️⃣ Открытость
❌ Проприетарные решения:
- API OpenAI (только для GPT)
- Langchain (привязка к экосистеме)
- Каждый сам по себе
✅ MCP:
- Open source
- Apache 2.0 лицензия
- Любой может использовать
- Нет vendor lock-in
2️⃣ Простота интеграции
До MCP:
200-300 строк кода для одной интеграции
С MCP:
10-20 строк конфигурации
Пример:
// Подключение Google Drive БЕЗ MCP
// ~ 250 строк кода с OAuth, API вызовами, обработкой ошибок...
// Подключение Google Drive С MCP
{
"mcpServers": {
"gdrive": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-gdrive"],
"env": {
"GDRIVE_API_KEY": "your_key"
}
}
}
}
// Всё! 🎉
3️⃣ Network Effect (сетевой эффект)
Больше AI инструментов поддерживают MCP
↓
Больше сервисов создают MCP серверы
↓
Ещё больше AI инструментов присоединяются
↓
...цикл усиливается...
Цифры:
| Дата | AI клиентов | MCP серверов |
|---|---|---|
| Ноябрь 2024 | 1 (Claude) | 5 |
| Январь 2025 | 10 | 50 |
| Апрель 2025 | 50 | 500 |
| Февраль 2026 | 300+ | 5,800+ |
Вывод: Когда все используют один стандарт — все в выигрыше! 🏆
ЧАСТЬ 2: АРХИТЕКТУРА MCP
2.1 Три компонента MCP
MCP состоит из трёх ключевых компонентов, которые работают вместе:
┌──────────────────────────────────────────────────────┐
│ MCP HOST │
│ (Координатор всего процесса) │
│ │
│ Например: Claude Code, Cursor, ChatGPT app │
│ │
│ Что делает: │
│ • Управляет жизненным циклом клиентов │
│ • Контролирует безопасность │
│ • Координирует сессии │
│ • Обрабатывает user consent │
│ │
│ ┌────────────────────┐ ┌─────────────────────┐ │
│ │ MCP CLIENT 1 │ │ MCP CLIENT 2 │ │
│ │ (для GitHub) │ │ (для Slack) │ │
│ │ │ │ │ │
│ │ • Держит сессию │ │ • Держит сессию │ │
│ │ • Вызывает tools │ │ • Вызывает tools │ │
│ │ • Получает данные │ │ • Получает данные │ │
│ └─────────┬──────────┘ └──────────┬──────────┘ │
└────────────┼─────────────────────────┼──────────────┘
│ │
MCP Protocol MCP Protocol
(JSON-RPC 2.0) (JSON-RPC 2.0)
│ │
┌────────┴────────┐ ┌────────┴────────┐
│ GitHub Server │ │ Slack Server │
│ │ │ │
│ • Предоставляет│ │ • Предоставляет│
│ tools │ │ tools │
│ • Выполняет │ │ • Выполняет │
│ операции │ │ операции │
│ • Возвращает │ │ • Возвращает │
│ данные │ │ данные │
└─────────────────┘ └─────────────────┘
🏢 КОМПОНЕНТ 1: Host (Хост)
Что это: Главный координатор. Обычно это AI инструмент, который ты используешь (Claude Code, Cursor, ChatGPT).
Обязанности Host:
- Управление клиентами
Host запускает и останавливает MCP клиенты
Следит за их состоянием
Перезапускает при сбоях
- Контроль безопасности
Host решает:
- Какие серверы разрешено подключать
- Нужно ли спрашивать разрешение у пользователя
- Какие операции разрешены
- Координация сессий
Host управляет:
- Когда начинать новую сессию
- Как распределять запросы между клиентами
- Когда завершать работу
Пример:
Ты работаешь в Claude Code (это Host)
Claude Code:
├─ Запускает MCP клиент для GitHub
├─ Запускает MCP клиент для Google Drive
├─ Спрашивает у тебя: "Разрешить доступ к GitHub?"
├─ После твоего "Да" — разрешает клиенту работать
└─ Координирует все запросы
🔌 КОМПОНЕНТ 2: Client (Клиент)
Что это: Соединение между Host и конкретным MCP сервером. Каждый клиент работает с одним сервером.
Важно:
- 1 клиент = 1 сервер
- Хочешь подключить GitHub и Slack? = 2 клиента
Обязанности Client:
- Установка соединения
Client:
- Подключается к серверу
- Договаривается о capabilities (что сервер умеет)
- Держит соединение живым
- Выполнение запросов
AI хочет прочитать файл из GitHub:
↓
Host передаёт запрос GitHub Client
↓
Client вызывает tool на GitHub Server
↓
Получает ответ и отдаёт Host
- Обработка ошибок
Если сервер недоступен:
Client сообщает Host
Host показывает ошибку пользователю
Визуализация:
┌─────────────┐
│ Claude │ ← Host
│ Code │
└──────┬──────┘
│
├──→ Client 1 → GitHub Server
├──→ Client 2 → Slack Server
├──→ Client 3 → Google Drive Server
└──→ Client 4 → PostgreSQL Server
🖥️ КОМПОНЕНТ 3: Server (Сервер)
Что это: Программа, которая предоставляет доступ к конкретному сервису (GitHub, Slack, БД...).
Обязанности Server:
- Предоставление capabilities
Сервер говорит клиенту:
"Вот что я умею:
- tool: search_files (искать файлы)
- tool: read_file (читать файл)
- tool: create_issue (создать issue)
- resource: /repo/file.md (доступ к файлу)"
- Выполнение операций
Client просит: "Создай issue в GitHub"
↓
Server:
1. Проверяет права доступа
2. Делает API запрос к GitHub
3. Обрабатывает ответ
4. Возвращает результат клиенту
- Управление ресурсами
Server держит:
- API ключи
- Токены авторизации
- Соединения с базами данных
- Кэш данных
Типы серверов:
📍 Локальные серверы (на твоём компьютере):
- Filesystem Server (доступ к файлам)
- SQLite Server (локальная БД)
🌐 Удалённые серверы (в облаке):
- Google Drive Server
- Slack Server
- GitHub Server
🔄 Как всё работает вместе
Полный цикл запроса:
═══════════════════════════════════════════════════════
Сценарий: AI хочет создать issue в GitHub
═══════════════════════════════════════════════════════
Шаг 1: Пользователь даёт команду
─────────────────────────────────
Ты: "Создай issue 'Fix login bug' в GitHub"
↓
┌──────────┐
│ Claude │ ← HOST получает команду
│ Code │
└──────────┘
Шаг 2: Host передаёт задачу клиенту
────────────────────────────────────
┌──────────┐
│ Claude │ "Создай issue"
│ Code │ ──────────────┐
└──────────┘ ↓
┌─────────────┐
│GitHub Client│ ← CLIENT для GitHub
└─────────────┘
Шаг 3: Client вызывает tool на сервере
───────────────────────────────────────
┌─────────────┐
│GitHub Client│
└──────┬──────┘
│ "tools/call: create_issue"
│ args: { title: "Fix login bug" }
↓
┌─────────────┐
│GitHub Server│ ← SERVER
└─────────────┘
Шаг 4: Server выполняет операцию
─────────────────────────────────
┌─────────────┐
│GitHub Server│
└──────┬──────┘
│
↓ делает запрос к GitHub API
┌──────────────┐
│ GitHub.com │
│ API │
└──────────────┘
"Created issue #123"
Шаг 5: Ответ возвращается обратно
──────────────────────────────────
GitHub API → GitHub Server → GitHub Client → Host → Пользователь
Результат:
┌──────────┐
│ Claude │ "✅ Issue #123 создан: Fix login bug"
│ Code │ "Ссылка: github.com/repo/issues/123"
└──────────┘
═══════════════════════════════════════════════════════
💡 Аналогия: Ресторан
Представь MCP как ресторан:
┌─────────────────────────────────────────────┐
│ РЕСТОРАН │
│ │
│ 👤 Клиент (ты) = Пользователь │
│ ↓ │
│ 👔 Официант = HOST │
│ ↓ │
│ 📋 Заказ = MCP CLIENT │
│ ↓ │
│ 👨🍳 Повар = MCP SERVER │
│ ↓ │
│ 🍽️ Блюдо = Данные/Результат │
└─────────────────────────────────────────────┘
Как это работает:
1. ТЫ говоришь официанту: "Хочу пасту"
(Пользователь → Host)
2. ОФИЦИАНТ записывает заказ и передаёт на кухню
(Host → Client)
3. ЗАКАЗ попадает к нужному повару
(Client → Server)
4. ПОВАР готовит блюдо
(Server выполняет операцию)
5. Блюдо возвращается через официанта к тебе
(Server → Client → Host → Пользователь)
Related Documents
Zig 0.16.0 Context Document for LLMs
**Purpose:** This document updates LLM knowledge from Zig 0.13/0.14 to modern Zig (0.15.x/0.16.0). Paste this into any LLM conversation when working with current Zig code.
TreeDex — Comprehensive Documentation
> Tree-based, vectorless document RAG framework.
所有收集类项目
- 跟驻留/持久化有关的工具和文章,多平台。包括80个工具和350左右文章。
Attaching virtual persistent memory in a {{site.data.keyword.powerSys_notm}} instance
lastupdated: "2026-03-25"