Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Введение в MCP
intro_mcp

Введение в MCP

Что такое Model Context Protocol, зачем он нужен и как работает архитектура клиент-сервер.

Введение в MCP

Model Context Protocol (MCP) — это открытый протокол, разработанный Anthropic для стандартизации взаимодействия между AI-моделями и внешними инструментами. Представьте, что у вас есть AI-ассистент, которому нужно работать с базой данных, файловой системой или внешним API — MCP даёт единый интерфейс для всех этих операций.

Ключевая идея: вместо того чтобы хардкодить интеграции для каждого AI-приложения, вы создаёте MCP-сервер один раз — и любой MCP-совместимый клиент (Claude Desktop, Cursor, другие IDE) может использовать ваши инструменты.

#Зачем нужен MCP

До MCP каждый AI-клиент интегрировался с инструментами по-своему. Если вы хотели дать Claude доступ к вашей базе данных, вы писали кастомный плагин. Для ChatGPT — другой. Для Cursor — третий. MCP решает эту проблему:

  • Единый интерфейс: сервер регистрирует инструменты, ресурсы и промпты — любой клиент их обнаруживает
  • Автоматическое обнаружение: клиент вызывает tools/list и получает каталог всех доступных инструментов с описаниями и схемами параметров
  • Языковая независимость: протокол работает на JSON-RPC 2.0 — сервер можно написать на Python, TypeScript, Go, Rust
  • Два режима транспорта: stdio (локально, через stdin/stdout) и SSE (по сети, через HTTP)

#Архитектура MCP

Архитектура MCP строится на двух сущностях: клиент и сервер.

MCP-сервер — это процесс, который регистрирует:

  • Tools (инструменты) — функции, которые AI-клиент может вызвать с аргументами. Например, get_weather(city), search_database(query), send_email(to, subject, body).
  • Resources (ресурсы) — данные, доступные для чтения по URI. Например, config://app, file:///logs/app.log, user://123/profile.
  • Prompts (промпты) — шаблоны сообщений с аргументами. Например, промпт analyze_data(dataset) генерирует сообщение «Проанализируй данные из {dataset} и выдели тренды».

MCP-клиент — это AI-приложение (Claude Desktop, IDE, чат-бот), которое:

  1. Подключается к серверу через транспорт (stdio или SSE)
  2. Обнаруживает доступные объекты через tools/list, resources/list, prompts/list
  3. Вызывает инструменты через tools/call с аргументами
  4. Читает ресурсы через resources/read
  5. Генерирует сообщения через prompts/get

Взаимодействие происходит через JSON-RPC 2.0. Каждый запрос имеет уникальный id, метод (method) и параметры (params). Ответ содержит result или error.

┌─────────────────┐         JSON-RPC 2.0         ┌─────────────────┐
│   MCP-клиент    │ ◄──────────────────────────► │   MCP-сервер    │
│  (Claude, IDE) │   tools/call, resources/read │  (ваш Python)   │
│                 │ ◄──────────────────────────► │                 │
│  AI-модель      │        result, error         │  tools          │
│                 │                              │  resources       │
│                 │                              │  prompts         │
└─────────────────┘                              └─────────────────┘

#Транспорт: stdio vs SSE

MCP поддерживает два режима транспорта, и выбор зависит от сценария.

stdio-транспорт — коммуникация через стандартные потоки ввода-вывода (stdin/stdout). Сервер запускается как дочерний процесс клиента.

  • Подходит для локального использования (Claude Desktop на вашем компьютере)
  • Не требует сети, портов, настройки хоста
  • Один клиент — один сервер (процесс)
  • Идеален для разработки и десктопных приложений

SSE-транспорт (Server-Sent Events) — сервер работает как HTTP-сервис.

  • Доступен по сети для нескольких клиентов
  • Требует хост, порт, возможно HTTPS
  • Подходит для продакшена и корпоративного деплоя
  • Позволяет централизованно обслуживать один сервер для многих клиентов

#Пример сценария взаимодействия

Рассмотрим типичный сценарий: пользователь спрашивает AI-ассистенту «Какая погода в Москве?».

  1. Обнаружение: при подключении клиент вызывает tools/list и получает список инструментов сервера, включая get_weather с описанием параметров
  2. Решение: AI-модель клиента решает, что для ответа нужен инструмент get_weather(city='Moscow')
  3. Вызов: клиент отправляет tools/call с name: "get_weather" и arguments: {"city": "Moscow"}
  4. Выполнение: сервер вызывает функцию get_weather, получает данные от погодного API
  5. Ответ: сервер возвращает результат в стандартизированном формате
  6. Формулировка: AI-модель клиента формулирует ответ пользователю на основе данных

Весь этот процесс прозрачен для пользователя — AI просто «знает», как получить данные, потому что сервер предоставил описание инструмента.

#Экосистема MCP

MCP — это открытый стандарт. Anthropic опубликовала спецификацию, и сообщество создаёт серверы для всего: базы данных (PostgreSQL, MongoDB), файловые системы, веб-поиск, GitHub, Jira, Slack, Google Workspace. FastMCP — одна из самых удобных библиотек для создания своих серверов на Python, которую мы изучим в следующих темах.

Далее: Основы FastMCP