Back to .md Directory

MODEL CONTEXT PROTOCOL (MCP)

- [ЧАСТЬ 1: ЧТО ТАКОЕ MCP И ЗАЧЕМ ОН НУЖЕН](#часть-1-что-такое-mcp-и-зачем-он-нужен)

May 2, 2026
0 downloads
0 views
ai mcp claude gemini cursor
View source

MODEL CONTEXT PROTOCOL (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 DriveSlackGitHubPostgreSQLNotion
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 │
└─────────┘              └─────────┘  └─────────┘ └─────────┘

Как это работает:

  1. AI клиент (например, Claude Code) хочет получить доступ к файлу в Google Drive
  2. Вместо того чтобы писать кастомный код, он использует MCP Protocol
  3. MCP сервер Google Drive понимает запрос и отдаёт файл
  4. Данные возвращаются 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 серверов
Ноябрь 20241 (Claude)5
Январь 20251050
Апрель 202550500
Февраль 2026300+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:

  1. Управление клиентами
Host запускает и останавливает MCP клиенты
Следит за их состоянием
Перезапускает при сбоях
  1. Контроль безопасности
Host решает:
- Какие серверы разрешено подключать
- Нужно ли спрашивать разрешение у пользователя
- Какие операции разрешены
  1. Координация сессий
Host управляет:
- Когда начинать новую сессию
- Как распределять запросы между клиентами
- Когда завершать работу

Пример:

Ты работаешь в Claude Code (это Host)

Claude Code:
├─ Запускает MCP клиент для GitHub
├─ Запускает MCP клиент для Google Drive
├─ Спрашивает у тебя: "Разрешить доступ к GitHub?"
├─ После твоего "Да" — разрешает клиенту работать
└─ Координирует все запросы

🔌 КОМПОНЕНТ 2: Client (Клиент)

Что это: Соединение между Host и конкретным MCP сервером. Каждый клиент работает с одним сервером.

Важно:

  • 1 клиент = 1 сервер
  • Хочешь подключить GitHub и Slack? = 2 клиента

Обязанности Client:

  1. Установка соединения
Client:
- Подключается к серверу
- Договаривается о capabilities (что сервер умеет)
- Держит соединение живым
  1. Выполнение запросов
AI хочет прочитать файл из GitHub:
  ↓
Host передаёт запрос GitHub Client
  ↓
Client вызывает tool на GitHub Server
  ↓
Получает ответ и отдаёт Host
  1. Обработка ошибок
Если сервер недоступен:
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:

  1. Предоставление capabilities
Сервер говорит клиенту:
"Вот что я умею:
- tool: search_files (искать файлы)
- tool: read_file (читать файл)
- tool: create_issue (создать issue)
- resource: /repo/file.md (доступ к файлу)"
  1. Выполнение операций
Client просит: "Создай issue в GitHub"
  ↓
Server:
1. Проверяет права доступа
2. Делает API запрос к GitHub
3. Обрабатывает ответ
4. Возвращает результат клиенту
  1. Управление ресурсами
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